#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".

Reply via email to