Alessandro Ros
c778c049ce
switch to gortsplib v2 ( #1301 )
...
Fixes #1103
gortsplib/v2 supports multiple formats inside a single track (media). This allows to apply the resizing algorithm to single formats inside medias.
For instance, if a media contains a a proprietary format and an H264 format, and the latter has oversized packets, they can now be resized.
2 years ago
Alessandro Ros
e605727c78
produce same absolute time in RTSP and HLS ( #1249 )
...
* add a NTP timestamp to each data unit
* use that NTP timestamp in all protocols
3 years ago
aler9
282d155a4f
update gortsplib
3 years ago
Alessandro Ros
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
3 years ago
aler9
85ce12199a
rtmp source: allow outgoing acknowledges
3 years ago
Alessandro Ros
820ba067f2
support RTMPS ( #1089 )
3 years ago
aler9
176f2f0729
rtmp: invert flag of InitializeServer() and InitializeClient()
3 years ago
Alessandro Ros
8c2b12a314
Add native support for the raspberry pi camera ( #1057 )
3 years ago
aler9
cb8aec8844
print track codecs into logs
3 years ago
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.
3 years ago
aler9
5ba46e6c8f
update gortsplib
3 years ago
aler9
055e08ac6c
remove "on" prefix from most communication functions between components
3 years ago
aler9
7067c02030
api: return static sources in paths/list even if sourceOnDemand is true
3 years ago
aler9
6afbdf1015
add intermediate layer between path and static sources
3 years ago
aler9
34eb1d1e7a
normalize sources
3 years ago
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
3 years ago
aler9
67e8a01d56
rtmp: split net.Conn from rtmp.Conn
3 years ago
aler9
bf1f45df32
rtmp: add conn handshake tests
3 years ago
aler9
08ddc9f83d
update gortsplib
3 years ago
aler9
13fb24da39
fix rtmp -> rtsp audio conversion ( #932 )
3 years ago
aler9
35b3541e4f
hls client: add limit on AU size
3 years ago
aler9
6b86607092
rtsp source: improve support for AAC tracks with custom parameters
3 years ago
aler9
58b2e7d24f
move trackID into data
3 years ago
aler9
dffe63f1bc
add SPS and PTS before IDRs of all incoming H264 streams; stop filtering H264 inside single protocols
3 years ago
aler9
d929197b21
propagate H264 packets throughout the server
3 years ago
aler9
0605a2f369
update linter
3 years ago
aler9
f53b316c0d
rtsp server: generate RTCP sender reports automatically; stop routing RTCP packets
3 years ago
aler9
a6986e9fa4
update gortsplib
3 years ago
aler9
28063a1fbe
rename stream.onPacketRTP/RTCP into stream.writePacketRTP/RTCP
3 years ago
aler9
6dc11c2906
RTSP server/source: fix encoding of RTP packets with padding
...
This fixes a SIGSEGV with GStreamer.
3 years ago
aler9
5504ff44b6
rtsp: parse all incoming RTP/RTCP packets
3 years ago
aler9
983469a1f9
rtmp: support clients that publish with empty metadata or no metadata ( #386 ) ( #769 )
3 years ago
aler9
2bfdcc7d89
update gortsplib
3 years ago
aler9
8ac665be87
un-capitalize private fields
3 years ago
aler9
11760fd79f
support external authentication ( #504 ) ( #517 )
3 years ago
aler9
1dff3239d2
remove rtmp.Conn.NetConn()
3 years ago
aler9
f7419586af
update gortsplib
4 years ago
aler9
ab70f946b0
unexport members of private structs
4 years ago
aler9
75d4f1437d
add "error" log level
4 years ago
aler9
e62ed283d1
rtmp: do not raise an error in case of metadata packets ( #577 )
4 years ago
aler9
e78544f23e
update gortsplib
4 years ago
aler9
ca9645c2f9
api: decode durations from strings instead of numbers
...
This allows to use human-readable durations with the API,
for instance: "5s" instead of 5000000000
4 years ago
aler9
3b0327233e
move hls utils into gortsplib
4 years ago
aler9
801ef44f54
rtsp, rtmp: fix ignored errors
4 years ago
aler9
ca499a27c3
remove stats from rtmp and rtsp source
4 years ago
aler9
60823aa2b6
print 'ready' only when a source is really ready
4 years ago
aler9
a2ff0d455f
do not allow closed static sources to set a path as ready
4 years ago
aler9
f1a812ba5d
rewrite metrics system to provide more data ( #492 )
4 years ago
aler9
6163095a11
fix crash that happens when sourceOnDemand is true and a source times out
4 years ago
aler9
ed375583d0
Implement an HTTP API to query and control the server
4 years ago