aler9
fa1c07253f
hls source: skip unsupported tracks
...
Skip AC-3, EC-3, closed caption tracks
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
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
aler9
680b348902
hls muxer: change m3u8 Content-Type to application/x-mpegURL
3 years ago
aler9
a018f214bc
hls: add fmp4 tests
3 years ago
aler9
af7a815f83
update gortsplib
3 years ago
aler9
41b08c9f50
update gortsplib
3 years ago
aler9
ec4c40b222
update gortsplib
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
07591c7514
hls muxer: update primary playlist in case SPS/PPS changed
3 years ago
aler9
3b21da7762
hls muxer: add EXT-X-VERSION to primary playlist
3 years ago
aler9
76d4376476
hls muxer: fix crash in case of null SPS
3 years ago
aler9
2bfdcc7d89
update gortsplib
4 years ago
aler9
4bd5289221
hls: set audio codec mime according to mpeg4 type
4 years ago
aler9
ef4b925209
hls: fix discontinuity of TS counters between segments
4 years ago
aler9
2710189945
hls: fix error that caused primary playlist not to be served to more than 1 client
4 years ago
aler9
b65207012c
update gortsplib
4 years ago
aler9
92523c2a13
hls: insert segments into playlist only after they're complete
...
In this way, EXT-X-TARGETDURATION and EXTINF are always filled correctly.
If no segments have been generated yet, the playlist is not returned
until a segment is inserted or the muxer is closed. This causes timeout
issues on iOS Safari, that are solved by waiting for a fetch() before starting
the video.
4 years ago