Commit Graph

1278 Commits

Author SHA1 Message Date
aler9
7981522bf6 hls client: skip packets received before the 1st packet of the leading
track; make sure that the initial DTS is zero
2022-10-26 17:39:32 +02:00
aler9
8cec54c980 apidocs: add missing rpicamera params 2022-10-25 14:31:21 +02:00
aler9
edaad84a5a check gortsplib before publishing a release 2022-10-25 14:18:59 +02:00
aler9
ff26b88760 update gortsplib 2022-10-25 14:18:44 +02:00
aler9
96433e753b fix tests 2022-10-25 14:06:09 +02:00
aler9
4f6121b1c4 rpicamera: use exact frame timestamps 2022-10-25 12:14:37 +02:00
aler9
532592c099 rpicamera: change default resolution to 1920x1080 2022-10-25 11:29:04 +02:00
aler9
7013b75daf rpicamera: add rpiCameraMode parameter (#1111) 2022-10-25 11:23:44 +02:00
aler9
dfef383311 hls muxer: fix compatibility with grafov/m3u8 2022-10-24 16:13:37 +02:00
aler9
841bbec959 hls client: allow segments with up to 200 parts 2022-10-24 16:10:13 +02:00
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
2022-10-24 15:08:30 +02:00
aler9
fdb1955e1d api: autogenerate structs from configuration 2022-10-23 18:01:51 +02:00
aler9
ec4ec142b4 forbid using 'rpiCamera' as source on regexp paths 2022-10-23 16:44:34 +02:00
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
2022-10-23 14:04:33 +02:00
aler9
847ca6c89d hls muxer: fix regression introduced in b5dd658 2022-10-20 10:20:38 +02:00
aler9
fad3474805 rtmp server: print only tracks that are effectively being read 2022-10-19 17:03:04 +02:00
aler9
c9de689a72 hls muxer: print only tracks that are effectively being converted 2022-10-19 17:01:26 +02:00
aler9
680b348902 hls muxer: change m3u8 Content-Type to application/x-mpegURL 2022-10-18 11:02:52 +02:00
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.
2022-10-09 23:40:28 +02:00
aler9
31d9429c18 hls source: refactor client 2022-10-09 12:56:48 +02:00
aler9
3b8e2f0211 hls source: support streams that start with negative DTS 2022-10-09 12:16:29 +02:00
aler9
5b5db2f833 hls client: fix reading some streams with odd Annex-B format
see
b3c70f56f7
2022-10-08 20:22:37 +02:00
aler9
8f48dfa49e remove outdated command line description 2022-09-18 21:59:00 +02:00
aler9
3e9d19e5e3 hls: split fmp4/mpegts muxer tests 2022-09-17 22:21:16 +02:00
aler9
f1fb00b80f update golangci-lint 2022-09-17 21:19:45 +02:00
aler9
7f7a6e2200 switch to go 1.18 in linter and go.mod 2022-09-17 20:18:07 +02:00
aler9
e70e6084da rename 'make release' into 'make binaries' 2022-09-17 20:15:23 +02:00
aler9
7fd749cf0e update release workflow 2022-09-17 20:13:04 +02:00
aler9
a8d1f91646 fix tests that involve HTTP clients 2022-08-31 08:53:19 +02:00
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.
2022-08-30 18:43:41 +02:00
aler9
3790af946f update readme 2022-08-27 18:36:16 +02:00
aler9
1e788f81fd hls muxer: add WWW-Authenticate header in case of external authentication 2022-08-27 18:26:07 +02:00
aler9
27fb9fdb7e update gortsplib 2022-08-27 17:35:45 +02:00
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.
2022-08-27 16:21:24 +02:00
aler9
4c0833664d hls: fix blocking playlists
when hlsVariant is lowLatency and hlsSegmentCount is not 7, segment IDs
where assigned erroneously.
2022-08-27 16:15:47 +02:00
aler9
a018f214bc hls: add fmp4 tests 2022-08-27 16:04:38 +02:00
aler9
43dc57716b speed up tests 2022-08-27 15:46:43 +02:00
aler9
71f927ecd5 hls: allow setting current time when writing packets 2022-08-27 15:43:25 +02:00
aler9
5ad2ea8924 hls: move mpegts writer into dedicated folder 2022-08-27 12:41:30 +02:00
aler9
b5dd658d29 fmp4: move avcc encoding into writer 2022-08-27 12:11:00 +02:00
aler9
6793920d36 update gortsplib 2022-08-25 23:20:21 +02:00
aler9
c574d4613f apidocs: add missing params 2022-08-23 13:52:01 +02:00
aler9
afcb874657 add missing tests 2022-08-23 13:47:48 +02:00
aler9
3e529f436a apidocs: add missing methods rtmpsconns/* 2022-08-23 13:30:24 +02:00
aler9
44f29c9ba3 api: mark RTMPS connections as rtmpsConns instead of rtmpConns (#1099) 2022-08-23 13:28:18 +02:00
aler9
960cfb9f99 api: always encode timestamps wth RFC3339 (#1093)
this fixes "lastRequest" in /v1/hlsmuxers/list that was encoded in a
wrong format
2022-08-23 13:24:27 +02:00
aler9
02d3dd92e6 split makefile into multiple scripts 2022-08-23 09:42:25 +02:00
aler9
bbfea63539 rtmp: read or write tracks only after interacting with the path 2022-08-22 12:24:38 +02:00
aler9
86c5fa9ba4 cleanup interaction with external auth 2022-08-22 11:24:21 +02:00
aler9
27ae0b9812 rtmp client: validate command ID of results 2022-08-22 11:20:23 +02:00