Commit Graph

1278 Commits

Author SHA1 Message Date
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
Alessandro Ros
820ba067f2 support RTMPS (#1089) 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
Alessandro Ros
8c2b12a314 Add native support for the raspberry pi camera (#1057) 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
aler9
5ba46e6c8f update gortsplib 2022-08-14 12:50:04 +02:00
aler9
e146df9ed7 hls: move fMP4 generator into dedicated folder 2022-08-14 12:44:01 +02:00
aler9
a8822b9f15 hls muxer / source: route AAC units singularly
This aligns the HLS implementation with the rest of the server. In case
of HLS/MPEGTS, the server now generates an ADTS packet for each AU,
without grouping multiple AUs into a single ADTS packet.
2022-08-14 12:19:11 +02:00
aler9
3f0771bb31 fix variable name 2022-08-14 11:24:05 +02:00
Alessandro Ros
6a3eb81acf
update golangci-lint (#1088) 2022-08-13 18:17:31 +02:00
aler9
a35cc53ba2 update gortsplib 2022-08-07 14:05:28 +02:00
aler9
af7a815f83 update gortsplib 2022-08-05 23:50:45 +02:00
aler9
2b5661c74e update readme 2022-08-05 18:16:07 +02:00
aler9
384078c352 update readme 2022-08-05 18:13:43 +02:00
aler9
092a2be3a8 api: add "created" field to RTSP sessions, RTMP connections, HLS muxers 2022-08-05 14:39:07 +02:00
aler9
055e08ac6c remove "on" prefix from most communication functions between components 2022-08-04 21:07:45 +02:00
aler9
ea528f47e1 speed up tests 2022-08-04 20:34:58 +02:00
aler9
7067c02030 api: return static sources in paths/list even if sourceOnDemand is true 2022-08-04 20:28:38 +02:00
aler9
ac0a5e9fc7 update readme 2022-08-03 09:58:26 +02:00
aler9
6afbdf1015 add intermediate layer between path and static sources 2022-07-30 21:52:37 +02:00
aler9
34eb1d1e7a normalize sources 2022-07-28 14:26:48 +02:00
aler9
8267f4c3bb bump golang to 1.18, node to 16 2022-07-25 22:57:48 +02:00
aler9
f24700526b update gortsplib 2022-07-24 16:05:03 +02:00
aler9
8a4743fe9a hls muxer: when hlsAlwaysRemux is on, automatically recreate muxers in
case of errors
2022-07-24 13:06:09 +02:00
aler9
c769088e6b improve release workflow 2022-07-23 14:21:55 +02:00
aler9
f7c08f577a rtmp: fix decoding of chunk3 + chunk3 2022-07-19 16:42:11 +02:00
Alessandro Ros
9e6abc6e9f
rtmp: rewrite implementation of rtmp connection (#1047)
* rtmp: improve MsgCommandAMF0

* rtmp: fix MsgSetPeerBandwidth

* rtmp: add message tests

* rtmp: replace implementation with new one

* rtmp: rename handshake functions

* rtmp: avoid calling useless function

* rtmp: use time.Duration for PTSDelta

* rtmp: fix decoding chunks with relevant size

* rtmp: rewrite implementation of rtmp connection

* rtmp: fix tests

* rtmp: improve error message

* rtmp: replace h264 config implementation

* link against github.com/notedit/rtmp

* normalize MessageStreamID

* rtmp: make acknowledge optional

* rtmp: fix decoding of chunk2 + chunk3

* avoid using encoding/binary
2022-07-17 15:17:18 +02:00
aler9
50d205274f fix tests 2022-07-17 12:02:17 +02:00
aler9
822a896a82 rtmp: fix rtmp -> rtsp audio conversion 2022-07-17 09:54:16 +02:00
aler9
ef3e18a9e9 rtmp: add handshake functions 2022-07-16 15:18:04 +02:00
aler9
772c5b2363 rtmp: improve tests 2022-07-16 12:42:48 +02:00