aler9
3b5efb25a3
add docker images with libcamera included ( #1110 )
3 years ago
aler9
ff12605106
rpicamera: remove grep and awk dependency
3 years ago
aler9
062fb600e8
return an error when rpiCamera in used in two paths ( #1257 )
3 years ago
aler9
3f5c550baf
rpicamera: support libcamera 0.0.2
3 years ago
aler9
7ed0a873f5
use Track.String() instead of reflect for getting track names
3 years ago
Alessandro Ros
e605727c78
produce same absolute time in RTSP and HLS ( #1249 )
...
* add a NTP timestamp to each data unit
* use that NTP timestamp in all protocols
3 years ago
aler9
282d155a4f
update gortsplib
3 years ago
Alessandro Ros
6471800b52
rtmp server: fix responses to ping requests ( #1245 )
3 years ago
Alessandro Ros
8bee4af86a
api, metrics: add number of bytes received and sent from/to all entities ( #1235 )
...
* API: number of bytes received/sent from/to RTSP connections
* API: number of bytes received/sent from/to RTSP sessions
* API: number of bytes received/sent from/to RTMP connections
* API: number of bytes sent to HLS connections
* API: number of bytes received from paths
* metrics of all the above
3 years ago
Alessandro Ros
423bb61daa
use UUIDs as IDs in all entities ( #1234 )
3 years ago
Alessandro Ros
4ac175d3cc
api, metrics: add endpoints and metrics for RTSP connections ( #1233 )
...
new API endpoints:
* /v1/rtspconns/list
* /v1/rtspsconns/list
new metrics:
* rtsp_conns
* rtsps_conns
3 years ago
aler9
4e4067dc85
rpicamera: avoid hanging during encode errors ( #1133 )
3 years ago
aler9
4d770cef94
hide normal decoder states from logs
3 years ago
aler9
eae895e321
decrease ram consumption
3 years ago
aler9
7eb7883270
improve performance
3 years ago
Alessandro Ros
0943b269ab
Decode streams once and only when needed ( #1218 )
...
* split data into specialized structs
* move MPEG4-audio decoding into streamTrack
* restore video/audio synchronization in HLS muxer and RTMP server
* log decode errors
* move H264 decoding and re-encoding here from gortsplib
* add tests
* update gortsplib
3 years ago
Alessandro Ros
bf14467331
move high-level tests into dedicate workflow ( #1219 )
3 years ago
aler9
a4363dfaa3
hls: use fields for each flag values
3 years ago
aler9
f0514b3983
update gortsplib
3 years ago
aler9
f7fdd60966
rtsp server: log decode errors
3 years ago
aler9
584cc9357a
rtsp source: log decode errors
3 years ago
aler9
a48374c81f
rpicamera: fix compatibility with latest version of libcamera ( #1195 )
3 years ago
aler9
cc0d8f7dab
hls client: ignore data from unrecognized tracks in MPEG-TS segments
3 years ago
aler9
0daf8a17b7
hls client: skip packets received before the 1st packet of the leading
...
track, for MPEG-TS segments too
3 years ago
aler9
7981522bf6
hls client: skip packets received before the 1st packet of the leading
...
track; make sure that the initial DTS is zero
3 years ago
aler9
96433e753b
fix tests
3 years ago
aler9
4f6121b1c4
rpicamera: use exact frame timestamps
3 years ago
aler9
532592c099
rpicamera: change default resolution to 1920x1080
3 years ago
aler9
7013b75daf
rpicamera: add rpiCameraMode parameter ( #1111 )
3 years ago
aler9
dfef383311
hls muxer: fix compatibility with grafov/m3u8
3 years ago
aler9
841bbec959
hls client: allow segments with up to 200 parts
3 years ago
Alessandro Ros
8825fddd89
Add additional Raspberry Pi Camera parameters ( #1198 )
...
* rpicamera: add rpiCameraHFlip and rpiCameraVFlip parameters
* rpicamera: add rpiCameraBrightness, rpiCameraContrast,
rpiCameraSaturation, rpiCameraSharpness, rpiCameraExposure,
rpiCameraAWB, rpiCameraDenoise, rpiCameraShutter, rpiCameraMetering,
rpiCameraGain, rpiCameraEV, rpiCameraROI, rpiCameraTuningFile
* support float values in config file
3 years ago
aler9
fdb1955e1d
api: autogenerate structs from configuration
3 years ago
aler9
ec4ec142b4
forbid using 'rpiCamera' as source on regexp paths
3 years ago
Alessandro Ros
e5ab731d14
Improve HLS client ( #1179 )
...
* hls source: support fMP4s video streams
* hls source: start reading live streams from (end of playlist - starting point)
* hls client: wait processing of current fMP4 segment before downloading another one
* hls client: support fmp4 trun boxes with default sample duration, flags and size
* hls client: merge fmp4 init file reader and writer
* hls client: merge fmp4 part reader and writer
* hls client: improve precision of go <-> mp4 time conversion
* hls client: fix esds generation in go-mp4
* hls client: support audio in separate playlist
* hls client: support an arbitrary number of tracks in fmp4 init files
* hls client: support EXT-X-BYTERANGE
* hls client: support fmp4 segments with multiple parts at once
* hls client: support an arbitrary number of mpeg-ts tracks
* hls client: synchronize tracks around a primary track
* update go-mp4
* hls: synchronize track reproduction around a leading one
* hls client: reset stream if playback is too late
* hls client: add limit on DTS-RTC difference
* hls client: support again streams that don't provide codecs in master playlist
3 years ago
aler9
847ca6c89d
hls muxer: fix regression introduced in b5dd658
3 years ago
aler9
fad3474805
rtmp server: print only tracks that are effectively being read
3 years ago
aler9
c9de689a72
hls muxer: print only tracks that are effectively being converted
3 years ago
aler9
680b348902
hls muxer: change m3u8 Content-Type to application/x-mpegURL
3 years ago
aler9
8aa719eda5
prepend SPS and PPS once when remuxing H264 streams
...
This avoids missing frames when reading with RTSP and the original
stream has NALU groups with multiple IDRs in it.
3 years ago
aler9
31d9429c18
hls source: refactor client
3 years ago
aler9
3b8e2f0211
hls source: support streams that start with negative DTS
3 years ago
aler9
8f48dfa49e
remove outdated command line description
3 years ago
aler9
3e9d19e5e3
hls: split fmp4/mpegts muxer tests
3 years ago
aler9
f1fb00b80f
update golangci-lint
3 years ago
aler9
a8d1f91646
fix tests that involve HTTP clients
3 years ago
aler9
f25e14183d
api, hls, metrics, pprof: always close HTTP listeners
...
due to a race condition, HTTP listeners could remain open even after
the closure of a component.
3 years ago
aler9
1e788f81fd
hls muxer: add WWW-Authenticate header in case of external authentication
3 years ago
aler9
42b6e1f922
hls: use segment IDs as segment names
...
when hlsVariant is mpegts, this prevents conflicts that were previously
caused by the fact that the timestamp was used as segment name.
3 years ago
aler9
4c0833664d
hls: fix blocking playlists
...
when hlsVariant is lowLatency and hlsSegmentCount is not 7, segment IDs
where assigned erroneously.
3 years ago