Commit Graph
1299 Commits
Author SHA1 Message Date
aler9 e6a9e280b5 decrease release build times 2022-11-07 09:34:41 +01:00
aler9 1252472e05 optimize "release" workflow
build binaries once for both GitHub and Docker Hub
2022-11-07 09:34:00 +01:00
aler9 22f52b0d96 update gortsplib 2022-11-05 17:28:53 +01:00
Alessandro RosandGitHub 4c96a6873e rpicamera: allow to use the Raspberry Pi Camera with Docker (#1212) 2022-11-03 21:44:53 +01:00
aler9 ac8207c8f4 update gortsplib 2022-11-03 21:44:31 +01:00
aler9 4e4067dc85 rpicamera: avoid hanging during encode errors (#1133) 2022-11-03 17:39:51 +01:00
aler9 4d770cef94 hide normal decoder states from logs 2022-11-03 16:05:46 +01:00
aler9 b21967260d add license file to binaries and docker images (#1138) 2022-11-03 16:01:41 +01:00
aler9 eae895e321 decrease ram consumption 2022-11-03 15:44:34 +01:00
aler9 7eb7883270 improve performance 2022-11-03 15:27:21 +01:00
Alessandro RosandGitHub 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
2022-11-02 20:52:12 +01:00
Alessandro RosandGitHub bf14467331 move high-level tests into dedicate workflow (#1219) 2022-11-02 18:25:49 +01:00
aler9 a4363dfaa3 hls: use fields for each flag values 2022-11-02 10:24:58 +01:00
aler9 f0514b3983 update gortsplib 2022-11-01 16:13:18 +01:00
aler9 f7fdd60966 rtsp server: log decode errors 2022-10-31 19:16:13 +01:00
aler9 584cc9357a rtsp source: log decode errors 2022-10-31 19:11:20 +01:00
aler9 e379bc5213 fix readme 2022-10-29 12:52:15 +02:00
aler9 a48374c81f rpicamera: fix compatibility with latest version of libcamera (#1195) 2022-10-29 12:34:44 +02:00
aler9 23244471ad update gortsplib 2022-10-28 16:35:13 +02:00
aler9 cc0d8f7dab hls client: ignore data from unrecognized tracks in MPEG-TS segments 2022-10-26 21:53:33 +02:00
aler9 0daf8a17b7 hls client: skip packets received before the 1st packet of the leading
track, for MPEG-TS segments too
2022-10-26 21:50:17 +02:00
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 RosandGitHub 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 RosandGitHub 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
https://github.com/aler9/gortsplib/commit/b3c70f56f7a1dc2f712230b9264bd7754a8092d2
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