aler9
1e788f81fd
hls muxer: add WWW-Authenticate header in case of external authentication
2022-08-27 18:26:07 +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
afcb874657
add missing tests
2022-08-23 13:47:48 +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
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
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
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