[FFmpeg-trac] #9033(undetermined:new): HLS playlists created by DASH encoder do not indicate EXT-X-INDEPENDENT-SEGMENTS
FFmpeg
trac at avcodec.org
Tue Dec 15 23:55:58 EET 2020
#9033: HLS playlists created by DASH encoder do not indicate EXT-X-INDEPENDENT-
SEGMENTS
-------------------------------------+-------------------------------------
Reporter: gordon | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Using latest release of ffmpeg.
Apple Validator complains with "If EXT-X-INDEPENDENT-SEGMENTS is not in
master playlist, then you MUST use the EXT-X-INDEPENDENT-SEGMENTS tag in
all video media playlists"
{{{
ffmpeg -i /path/to/normalized.mp4 -map 0:v:0 -an -f dash -single_file 1
-global_sidx 1 -dash_segment_type mp4 -hls_playlist 1 -seg_duration 6
-use_template 1 -sc_threshold 0 -pix_fmt yuv420p -vsync cfr
-force_key_frames 'expr:gte(t,n_forced*2)' -flags +cgop -reset_timestamps
1 -avoid_negative_ts make_zero -g 60 -keyint_min 60 -profile:v high -level
3.0 -b:v 145k -c:v libx264 -tag:v avc1 -bsf:v h264_mp4toannexb -filter:v
scale=416:-2 -minrate 0 -maxrate 145k -bufsize 72k -passlogfile
/path/to/work/passlog.ffmpeg2pass -pass 1 /path/to/work/working-
manifest.mpd
}}}
{{{
ffmpeg -i /path/to/normalized.mp4 -map 0:v:0 -an -f dash -single_file 1
-global_sidx 1 -dash_segment_type mp4 -hls_playlist 1 -seg_duration 6
-use_template 1 -sc_threshold 0 -pix_fmt yuv420p -vsync cfr
-force_key_frames 'expr:gte(t,n_forced*2)' -flags +cgop -reset_timestamps
1 -avoid_negative_ts make_zero -g 60 -keyint_min 60 -profile:v high -level
3.0 -b:v 145k -c:v libx264 -tag:v avc1 -bsf:v h264_mp4toannexb -filter:v
scale=416:-2 -minrate 0 -maxrate 145k -bufsize 72k -passlogfile
/path/to/work/passlog.ffmpeg2pass -pass 2 -single_file_name segment.mp4
/path/to/output/manifest.mpd
}}}
Results in a segment playlist like:
{{{
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-MAP:URI="segment.mp4",BYTERANGE="889 at 0"
#EXTINF:6.006006,
#EXT-X-BYTERANGE:107053 at 889
#EXT-X-PROGRAM-DATE-TIME:2020-12-15T20:01:25.000+0000
segment.mp4
#EXTINF:6.006006,
#EXT-X-BYTERANGE:101844 at 107942
#EXT-X-PROGRAM-DATE-TIME:2020-12-15T20:01:31.006+0000
segment.mp4
#EXTINF:3.503504,
#EXT-X-BYTERANGE:65242 at 209786
#EXT-X-PROGRAM-DATE-TIME:2020-12-15T20:01:37.012+0000
segment.mp4
#EXT-X-ENDLIST
}}}
and a master like
{{{
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-STREAM-INF:BANDWIDTH=148022,RESOLUTION=416x234,CODECS="avc1.64001e"
media_0.m3u8
}}}
I tried adding `-hls_flags independent_segments` to the command but this
did not work.
Ideally, both playlists would include EXT-X-INDEPENDENT-SEGMENTS
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9033>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list