[FFmpeg-trac] #8023(undetermined:new): no #EXT-X-DISCONTINUITY is added to hls manifest is source is -f concat
FFmpeg
trac at avcodec.org
Tue Jul 16 16:51:33 EEST 2019
#8023: no #EXT-X-DISCONTINUITY is added to hls manifest is source is -f concat
-------------------------------------+-------------------------------------
Reporter: larez | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
transmuxing a "-f concat -i concat.lst" to hls
should add #EXT-X-DISCONTINUITY after each list item
How to reproduce:
1) create concat list of http://...m3u8 files :
list.txt :
file 'http://../1.m3u8'
file 'http://../2.m3u8'
..
file 'http://../n.m3u8'
2)create master m3u8
cat <<'IDXEOF' > index.m3u8
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2400000
hd.m3u8
IDXEOF
3) transmux
h_flags='delete_segments+append_list+omit_endlist'
hls_opts="-f hls -hls_time 4 -hls_list_size 10 -hls_flags $h_flags
-hls_allow_cache 0 -start_number 1"
ffmpeg -v verbose -y -f concat -safe 0 -protocol_whitelist
"file,http,https,tcp,tls" -re -i list.txt -vstats_file stats.txt -map
0:v:1 -c:v copy -copyts -start_at_zero -metadata:s:0 language=eng -map
0:a:1 -c:a copy -copyts -start_at_zero -metadata:s:1 language=eng -flags
-global_header -hls_segment_filename sd_%05d.ts $hls_opts 'hd.m3u8'
-map 0:a:1 -c:a copy -copyts -start_at_zero -metadata:s:1 language=eng
-flags -global_header -hls_segment_filename hd_%05d.ts $hls_opts
'hd.m3u8'
ffmpeg creates then a readable live (vlc, kaltura hls test player accept
http://your_hls_live_server/master m3u8) if all m8u8 source items from
concat list were transcoded in the same way, but it would be better to
write
#EXT-X-DISCONTINUITY into hd.m3u8 (in this case) after each
new source read from the list in case if encoding (or resoution) change.
ffmpeg signals each new list read in its log, so, the logic could be
easily added, e.g.
if source is concat and output is hls => signal discontinuity after the
end of each source from the list
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8023>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list