#7337: FFmpeg not recognizing WebVTT subtitle stream from HLS playlist -------------------------------------+------------------------------------- Reporter: newsfanatic | Owner: (none) Type: enhancement | Status: closed Priority: wish | Component: avformat Version: git-master | Resolution: | needs_more_info Keywords: hls webvtt | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by malvinas2):
The problem still exists: The live stream of Spanish national public broadcaster RTVE can be watched using one of the following directions (both are probably geo-blocked): {{{ https://ztnr.rtve.es/ztnr/1688885.m3u8 https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr.m3u8 }}} When watching them directly within VLC Player, several subtitles are available (spanish, catalan etc.). VLC Player tells me, that the subtitles are using the ''webvtt'' format. According to [https://trac.ffmpeg.org/wiki/ExtractSubtitles] ffmpeg should be able to encode and decode this format. But using options like .... ''-scodec webvtt'' or ''-scodec mov_text'' or ''-scodec dvbsub'' don't show any change. Using ffmpeg, == version 7.1.1 == results in the following error message: {{{ C:\Users\malvinas2\Documents>c:\ffmpeg\bin\ffmpeg -i https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr.m3u8 -c copy -copy_unknown meintestvideo3.mkv > error.txt ffmpeg version 7.1.1-essentials_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers built with gcc 14.2.0 (Rev1, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable- w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable- avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable- libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable- dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libgme --enable- libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable- libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore- amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable- librubberband libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.100 / 61. 7.100 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 4.100 / 10. 4.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 [hls @ 000001dbf602f340] Skip ('## Created with Golumi Video Platform') [hls @ 000001dbf602f340] Can't support the subtitle(uri: https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_es.m3u8) [hls @ 000001dbf602f340] Can't support the subtitle(uri: https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_en.m3u8) [hls @ 000001dbf602f340] Can't support the subtitle(uri: https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_gl.m3u8) [hls @ 000001dbf602f340] Can't support the subtitle(uri: https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_ca.m3u8) [hls @ 000001dbf602f340] Can't support the subtitle(uri: https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_eu.m3u8) [hls @ 000001dbf602f340] Opening 'https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_a_155.m3u8' for reading [hls @ 000001dbf602f340] Skip ('## Created with Golumi Video Platform') [hls @ 000001dbf602f340] Skip ('#EXT-X-VERSION:3') [hls @ 000001dbf602f340] Skip ('#EXT-X-ALLOW-CACHE:YES') [https @ 000001dbf6629e40] Opening 'https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_a_156.m3u8' for reading [hls @ 000001dbf602f340] Skip ('## Created with Golumi Video Platform') [hls @ 000001dbf602f340] Skip ('#EXT-X-VERSION:3') [hls @ 000001dbf602f340] Skip ('#EXT-X-ALLOW-CACHE:YES') [https @ 000001dbf6629e40] Opening 'https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_720.m3u8' for reading [hls @ 000001dbf602f340] Skip ('## Created with Golumi Video Platform') [hls @ 000001dbf602f340] Skip ('#EXT-X-VERSION:3') [hls @ 000001dbf602f340] Skip ('#EXT-X-ALLOW-CACHE:YES') [https @ 000001dbf6629e40] Opening 'https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_576.m3u8' for reading [hls @ 000001dbf602f340] Skip ('## Created with Golumi Video Platform') [hls @ 000001dbf602f340] Skip ('#EXT-X-VERSION:3') [hls @ 000001dbf602f340] Skip ('#EXT-X-ALLOW-CACHE:YES') [https @ 000001dbf6629e40] Opening 'https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_360.m3u8' for reading [hls @ 000001dbf602f340] Skip ('## Created with Golumi Video Platform') [hls @ 000001dbf602f340] Skip ('#EXT-X-VERSION:3') [hls @ 000001dbf602f340] Skip ('#EXT-X-ALLOW-CACHE:YES') [https @ 000001dbf6629e40] Opening 'https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_180.m3u8' for reading [hls @ 000001dbf602f340] Skip ('## Created with Golumi Video Platform') [hls @ 000001dbf602f340] Skip ('#EXT-X-VERSION:3') [hls @ 000001dbf602f340] Skip ('#EXT-X-ALLOW-CACHE:YES') [hls @ 000001dbf602f340] Opening 'https://rtvelivestream.rtve.es/rtvesec/la2/GL1/155_a_2_2025_05_25_23_11_51_12378.ts' for reading }}} Content of the m3u file is the following: {{{ #EXTM3U ## Created with Golumi Video Platform #EXT-X-MEDIA:TYPE=AUDIO,GROUP- ID="audios",NAME="Castellano",LANGUAGE="spa",CHANNELS="2",DEFAULT=YES,AUTOSELECT=YES #EXT-X-MEDIA:TYPE=AUDIO,GROUP- ID="audios",NAME="original",LANGUAGE="qaa",CHANNELS="2",DEFAULT=NO,URI="https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_a_155.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audios",NAME="Audio Descripcion",LANGUAGE="ads",CHANNELS="2",DEFAULT=NO,AUTOSELECT=YES,CHARACTERISTICS="public.accessibility .describes- video",URI="https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_a_156.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP- ID="subtitulos",NAME="Español",LANGUAGE="es",DEFAULT=NO,FORCED=NO,URI="https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_es.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP- ID="subtitulos",NAME="Inglés",LANGUAGE="en",DEFAULT=NO,FORCED=NO,URI="https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_en.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP- ID="subtitulos",NAME="Gallego",LANGUAGE="gl",DEFAULT=NO,FORCED=NO,URI="https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_gl.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP- ID="subtitulos",NAME="Catalán",LANGUAGE="ca",DEFAULT=NO,FORCED=NO,URI="https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_ca.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP- ID="subtitulos",NAME="Euskera",LANGUAGE="eu",DEFAULT=NO,FORCED=NO,URI="https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_eu.m3u8" #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3012608,AVERAGE- BANDWIDTH=3012608,RESOLUTION=1280x720,CODECS="avc1.640029,mp4a.40.2",AUDIO="audios",SUBTITLES="subtitulos" https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_720.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2025472,AVERAGE- BANDWIDTH=2025472,RESOLUTION=1024x576,CODECS="avc1.640029,mp4a.40.2",AUDIO="audios",SUBTITLES="subtitulos" https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_576.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1155072,AVERAGE- BANDWIDTH=1155072,RESOLUTION=640x360,CODECS="avc1.640029,mp4a.40.2",AUDIO="audios",SUBTITLES="subtitulos" https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_360.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=643072,AVERAGE- BANDWIDTH=643072,RESOLUTION=320x180,CODECS="avc1.640029,mp4a.40.2",AUDIO="audios",SUBTITLES="subtitulos" https://rtvelivestream.rtve.es/rtvesec/la2/la2_main_dvr_180.m3u8 }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/7337#comment:6> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
_______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org https://ffmpeg.org/mailman/listinfo/ffmpeg-trac To unsubscribe, visit link above, or email ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".