Opened 3 years ago

Last modified 3 years ago

#9033 new defect

HLS playlists created by DASH encoder do not indicate EXT-X-INDEPENDENT-SEGMENTS

Reported by: gordon Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

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@0"
#EXTINF:6.006006,
#EXT-X-BYTERANGE:107053@889
#EXT-X-PROGRAM-DATE-TIME:2020-12-15T20:01:25.000+0000
segment.mp4
#EXTINF:6.006006,
#EXT-X-BYTERANGE:101844@107942
#EXT-X-PROGRAM-DATE-TIME:2020-12-15T20:01:31.006+0000
segment.mp4
#EXTINF:3.503504,
#EXT-X-BYTERANGE:65242@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

Change History (1)

comment:1 by gordon, 3 years ago

It would be equally helpful if the subsegmentStartsWithSAP was output in the MPD

Last edited 3 years ago by gordon (previous) (diff)
Note: See TracTickets for help on using tickets.