Opened 4 months ago

Closed 2 months ago

#11208 closed defect (fixed)

HLS append segments to VTT playlist

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

Description (last modified by jb_alvarado)

Summary of the bug:
When we use the hls_flag append_list+omit_endlist in combination with a Webvtt file, the result playlists differs in behavior, which makes the subtitle useless and ffmpeg write errors.

One issue is, that in the subtitle playlist stream_vtt.m3u8 is the #EXT-X-DISCONTINUITY tag missing.

Second issue is, that the end tag is written to the subtitle file, so the flag omit_endlist get ignored.

The third issue is, when writing again to the same playlist, segments are not correctly added. Instead the new segments are added, but the old ones are replaced by a dot, like:

`
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.000000,
.
#EXTINF:6.000000,
.
#EXT-X-DISCONTINUITY
#EXTINF:6.000000,
stream2.vtt
#EXTINF:6.000000,
stream3.vtt
#EXT-X-ENDLIST
`

How to reproduce:

% ffmpeg -hide_banner -i video.mp4 -i subtitle.vtt -map "0:v" -map "0:a" -map "1:s" -t 12 -c:v libx264 -crf 23 -preset faster -tune zerolatency -c:a aac -ar 44100 -b:a 128k -flags +cgop -f hls -hls_time 6 -hls_list_size 60 -hls_flags append_list+delete_segments+omit_endlist -var_stream_map "v:0,a:0,s:0,sgroup:subs,language:de,default:YES" -master_pl_name master.m3u8 -hls_segment_filename stream-%d.ts stream.m3u8

# Run the command again and open the stream_vtt.m3u8 file and see the problem.

# ffmpeg version: git-2024-09-26-f43916e 

# built on fedora 40

The first issues I was able to fix and I sendet a patch to the devel mailing list, the second issue with the end tag is also not big problem, but the third one is to difficult for me.

Change History (2)

comment:1 by jb_alvarado, 4 months ago

Description: modified (diff)

comment:2 by jb_alvarado, 2 months ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.