Commit Graph
100 Commits
Author SHA1 Message Date
aler9 ff12605106 rpicamera: remove grep and awk dependency 2022-12-12 13:14:26 +01:00
aler9 062fb600e8 return an error when rpiCamera in used in two paths (#1257) 2022-12-12 11:49:11 +01:00
aler9 99855e0909 fix generation of Docker images (#1293) 2022-12-12 10:44:39 +01:00
aler9 c44b4099c2 update gortsplib 2022-12-11 22:09:55 +01:00
aler9 5319f9ed47 update readme
add instructions on how to compile with Raspberry Pi camera support
2022-12-09 00:46:33 +01:00
aler9 88fcb25759 update gortsplib 2022-12-09 00:12:17 +01:00
aler9 3f5c550baf rpicamera: support libcamera 0.0.2 2022-12-08 23:50:18 +01:00
aler9 7fef5500cb fix codecov / github api limits 2022-11-29 15:54:56 +01:00
aler9 7ed0a873f5 use Track.String() instead of reflect for getting track names 2022-11-28 11:16:31 +01:00
aler9 7a49b92d9b update gortsplib 2022-11-28 08:59:49 +01:00
aler9 282d155a4f update gortsplib 2022-11-15 23:47:12 +01:00
aler9 16580c8985 move all tests under same workflow 2022-11-07 10:16:46 +01:00
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
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
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
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
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
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
aler9 59391a4366 rtmp client: fix play command id 2022-08-22 10:57:29 +02:00
aler9 d4945ab7bc rtmp: cleanup 2022-08-22 10:55:06 +02:00
aler9 b06498d24b rtmp: remove useless comments from tests 2022-08-22 09:49:35 +02:00
aler9 83faae8a8e rename interaction functions between paths and readers / publishers
readers and publishers can now interact with paths by using:

readerAdd()
readerStart()
readerStop()

publisherAdd()
publisherStart()
publisherStop()
2022-08-22 09:39:16 +02:00
aler9 e858c968d9 update gortsplib 2022-08-17 17:14:15 +02:00
aler9 85ce12199a rtmp source: allow outgoing acknowledges 2022-08-16 18:44:31 +02:00
aler9 7216fc683c rpicamera: fix crash 2022-08-16 18:44:31 +02:00
aler9 ca46d56184 fix linting 2022-08-16 18:44:31 +02:00
aler9 e255d004e3 rtmp server: change value of MessageStreamID of outgoing messages 2022-08-16 18:44:31 +02:00
aler9 d195c0421e fix typo 2022-08-16 18:44:31 +02:00
aler9 51e0bbd975 rtmp server: stop inserting a AV_SEQHDR message before every IDR
AV_SEQHDR contains SPS and PPS.

It is useless to resend it after initialization since SPS/PPS are
automatically added before every IDR.
2022-08-16 18:44:31 +02:00
aler9 4990e98993 rtmp: fix reading metadata from onMetadata
when there's no audio and Conn is a client, onMetadata was skipped and
tracks were read by using the fallback method. Fix this.
2022-08-16 18:44:31 +02:00
aler9 a19a20abfb rtmp: set right command ID when replying to a play request 2022-08-16 18:44:31 +02:00
aler9 176f2f0729 rtmp: invert flag of InitializeServer() and InitializeClient() 2022-08-16 18:44:31 +02:00
aler9 f5a031d72c fix deadlock when sourceOnDemand is true and source exits 2022-08-16 18:44:31 +02:00
aler9 101ea25448 api: add published track list to /v1/paths/list 2022-08-15 16:56:09 +02:00
aler9 cb8aec8844 print track codecs into logs 2022-08-15 16:29:40 +02:00
aler9 0db2d3eb8c rtmp: improve performance
reuse existing structs instead of allocating them during every read()
2022-08-15 16:11:23 +02:00
aler9 4f023b25e8 update gortsplib 2022-08-15 13:50:46 +02:00
aler9 69e617bc73 hls: fix multiple timestamp issues introduced by previous commits 2022-08-14 14:55:25 +02:00
aler9 f952ff25f6 remove useless append() 2022-08-14 13:14:08 +02:00
aler9 3606472e82 generate RTP packets after H264 remuxing
Previously, RTP packets coming from sources other than RTSP (that
actually are RTMP and HLS) were generated before the H264 remuxing, and
that leaded to invalid streams, expecially when sourceOnDemand is true
and the stream has invalid or dynamic SPS/PPS.
2022-08-14 13:03:04 +02:00