aler9
e3fff72b7c
move format processors into dedicated folder
3 years ago
aler9
034e42f463
hls muxer: support reading Opus tracks ( #1338 )
3 years ago
Alessandro Ros
5de600ffaa
support reading H265 tracks with HLS ( #1342 )
...
* support reading H265 tracks with HLS
* update README
3 years ago
aler9
fbf8e82db5
update gortsplib
3 years ago
aler9
455b8beff7
simplify code
3 years ago
Alessandro Ros
5efe97abf1
Support reading with WebRTC ( #1242 )
3 years ago
aler9
478607a602
hls muxer: ask credentials again after failed attemps
3 years ago
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.
3 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
Alessandro Ros
8bee4af86a
api, metrics: add number of bytes received and sent from/to all entities ( #1235 )
...
* API: number of bytes received/sent from/to RTSP connections
* API: number of bytes received/sent from/to RTSP sessions
* API: number of bytes received/sent from/to RTMP connections
* API: number of bytes sent to HLS connections
* API: number of bytes received from paths
* metrics of all the above
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
c9de689a72
hls muxer: print only tracks that are effectively being converted
3 years ago
aler9
1e788f81fd
hls muxer: add WWW-Authenticate header in case of external authentication
3 years ago
aler9
71f927ecd5
hls: allow setting current time when writing packets
3 years ago
aler9
960cfb9f99
api: always encode timestamps wth RFC3339 ( #1093 )
...
this fixes "lastRequest" in /v1/hlsmuxers/list that was encoded in a
wrong format
3 years ago
aler9
86c5fa9ba4
cleanup interaction with external auth
3 years ago
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()
3 years ago
aler9
d195c0421e
fix typo
3 years ago
aler9
cb8aec8844
print track codecs into logs
3 years ago
aler9
69e617bc73
hls: fix multiple timestamp issues introduced by previous commits
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
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.
3 years ago
aler9
af7a815f83
update gortsplib
3 years ago
aler9
092a2be3a8
api: add "created" field to RTSP sessions, RTMP connections, HLS muxers
3 years ago
aler9
055e08ac6c
remove "on" prefix from most communication functions between components
3 years ago
aler9
8a4743fe9a
hls muxer: when hlsAlwaysRemux is on, automatically recreate muxers in
...
case of errors
3 years ago
aler9
f28540b9f4
update gortsplib
3 years ago
aler9
19e38930bd
hls muxer: compensate latency by using maxLiveSyncPlaybackRate ( #972 )
3 years ago
aler9
41b08c9f50
update gortsplib
3 years ago
aler9
ec4c40b222
update gortsplib
3 years ago
aler9
e45820b2c0
hls server: show real client IPs when behind a proxy ( #955 )
3 years ago
aler9
cb610a707c
hls muxer: fix code 500 when a stream is not found
3 years ago
Alessandro Ros
e115983296
Implement Low-Latency HLS ( #938 )
...
* add hlsVariant parameter
* hls: split muxer into variants
* hls: implement fmp4 segments
* hls muxer: implement low latency mode
* hls muxer: support audio with fmp4 mode
* hls muxer: rewrite file router
* hls muxer: implement preload hint
* hls muxer: add various error codes
* hls muxer: use explicit flags
* hls muxer: fix error in aac pts
* hls muxer: fix sudden freezes with video+audio
* hls muxer: skip empty parts
* hls muxer: fix video FPS
* hls muxer: add parameter hlsPartDuration
* hls muxer: refactor fmp4 muxer
* hls muxer: fix CAN-SKIP-UNTIL
* hls muxer: refactor code
* hls muxer: show only parts of last 2 segments
* hls muxer: implementa playlist delta updates
* hls muxer: change playlist content type
* hls muxer: improve video dts precision
* hls muxer: fix video sample flags
* hls muxer: improve iphone audio support
* hls muxer: improve mp4 timestamp precision
* hls muxer: add offset between pts and dts
* hls muxer: close muxer in case of error
* hls muxer: stop logging requests with the info level
* hls muxer: rename entry into sample
* hls muxer: compensate video dts error over time
* hls muxer: change default segment count
* hls muxer: add starting gap
* hls muxer: set default part duration to 200ms
* hls muxer: fix audio-only streams on ios
* hls muxer: add playsinline attribute to video tag of default web page
* hls muxer: keep mpegts as the default hls variant
* hls muxer: implement encryption
* hls muxer: rewrite dts estimation
* hls muxer: improve DTS precision
* hls muxer: use right SPS/PPS for each sample
* hls muxer: adjust part duration dynamically
* add comments
* update readme
* hls muxer: fix memory leak
* hls muxer: decrease ram consumption
3 years ago
aler9
b6b99b142a
hls muxer: prefer hls.js over native HLS
3 years ago
aler9
709d727eab
hls muxer: tune hls.js parameters
3 years ago
aler9
dedca93eca
hls muxer: update hls.js
3 years ago
aler9
ae7e68c914
hls muxer: remove progressive flag; add liveSyncDurationCount, liveMaxLatencyDurationCount to hls.js
3 years ago
aler9
6b86607092
rtsp source: improve support for AAC tracks with custom parameters
3 years ago
aler9
ce42c53a03
hls, rtmp: fix video/audio sync
3 years ago
aler9
58b2e7d24f
move trackID into data
3 years ago
aler9
d929197b21
propagate H264 packets throughout the server
3 years ago
aler9
0605a2f369
update linter
3 years ago
aler9
3fc4ca6465
update gortsplib; downgrade pion/rtp to v1
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
6dc11c2906
RTSP server/source: fix encoding of RTP packets with padding
...
This fixes a SIGSEGV with GStreamer.
3 years ago
aler9
507afbf73d
make logs more clear
4 years ago
aler9
5504ff44b6
rtsp: parse all incoming RTP/RTCP packets
4 years ago
aler9
343a5f17fb
hls: add new parameter hlsSegmentMaxSize
4 years ago