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
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
aler9
af7a815f83
update gortsplib
2022-08-05 23:50:45 +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
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
8a4743fe9a
hls muxer: when hlsAlwaysRemux is on, automatically recreate muxers in
...
case of errors
2022-07-24 13:06:09 +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
aler9
ea13509411
print log to stdout instead of stderr ( #1042 )
2022-07-16 12:14:59 +02:00
aler9
2a0567ab4a
rtmp: improve tests
2022-07-14 21:49:18 +02:00
aler9
67e8a01d56
rtmp: split net.Conn from rtmp.Conn
2022-07-09 17:25:33 +02:00
aler9
bf1f45df32
rtmp: add conn handshake tests
2022-07-09 16:19:49 +02:00
aler9
a19f45f736
rtmp: fix s1 generation
2022-07-09 15:00:47 +02:00
aler9
8e14dff6d0
rtmp: fix tests
2022-07-09 14:04:51 +02:00
aler9
4c2a4f9642
hls muxer: create only 7 initial gaps ( #999 )
...
instead of filling the entire segment list.
2022-07-05 23:52:11 +02:00
aler9
f28540b9f4
update gortsplib
2022-07-05 23:46:32 +02:00
aler9
e771f9eba0
rename file
2022-07-02 22:11:26 +02:00
aler9
45c1370145
rtmp: normalize API
2022-06-27 17:52:20 +02:00
aler9
08ddc9f83d
update gortsplib
2022-06-27 17:52:20 +02:00
aler9
fb5aa7bbf2
fix bug that caused on-demand commands to be closed after 10secs ( #1000 )
2022-06-24 18:04:45 +02:00
aler9
19e38930bd
hls muxer: compensate latency by using maxLiveSyncPlaybackRate ( #972 )
2022-06-24 17:34:26 +02:00
aler9
41b08c9f50
update gortsplib
2022-06-24 17:00:28 +02:00
aler9
ec4c40b222
update gortsplib
2022-06-23 13:54:48 +02:00
aler9
e45820b2c0
hls server: show real client IPs when behind a proxy ( #955 )
2022-06-21 13:54:19 +02:00
aler9
3e5f62156d
fix DTS error in case of H264 NALUs without POC
2022-06-15 10:50:59 +02:00
aler9
06b09efa91
rtmp: add tests
2022-06-11 00:31:43 +02:00
aler9
58cbd072c8
rtmp: support ping requests
2022-06-11 00:31:05 +02:00
aler9
05bac43177
rtmp: fix compatibility with some dji drones ( #928 )
2022-06-11 00:19:06 +02:00