Opened 21 months ago

Last modified 19 months ago

#11378 new enhancement

ffmpeg can't detect nested m3u8 for subtitles

Reported by: ffvii Owned by:
Priority: wish Component: ffmpeg
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

When I try to download an m3u8 with ffmpeg, if there's a subtitle track that's also an m3u8 uri (which points to the actual vtt uri), ffmpeg shows that it can't support the subtitle.

Here's an example (with masked uri):

Trying to download with ffmpeg -i "https://xxxx.com/api_v2/getm3u8.jsp?resourceId=xxxx", which is an m3u8 like:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA:TYPE=SUBTITLES,URI="https://xxxx.com:443/api_v2/getm3u8.jsp;jsessionid=null?programGuid=xxxx&bitrate=adaptive&playlist=subtitles_en",GROUP-ID="subtitles",LANGUAGE="en",NAME="English",DEFAULT=NO,AUTOSELECT=YES
#EXT-X-MEDIA:TYPE=AUDIO,URI="https://xxxx.com:443/api_v2/getm3u8.jsp;jsessionid=null?programGuid=xxxx&bitrate=adaptive&playlist=stereo_en",GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=7361028,AVERAGE-BANDWIDTH=3305533,CODECS="avc1.4d4029,mp4a.40.2",RESOLUTION=1920x804,FRAME-RATE=23.98,AUDIO="stereo",SUBTITLES="subtitles",CLOSED-CAPTIONS=NONE,VIDEO-RANGE=SDR
https://xxxx.com:443/api_v2/getm3u8.jsp;jsessionid=null?programGuid=xxxx&bitrate=adaptive&playlist=1920x804
#EXT-X-I-FRAME-STREAM-INF:URI="https://xxxx.com:443/api_v2/getm3u8.jsp;jsessionid=null?programGuid=xxxx&bitrate=adaptive&playlist=1920x804_iframe",BANDWIDTH=253475,AVERAGE-BANDWIDTH=70520,CODECS="avc1.4d4029",RESOLUTION=1920x804,VIDEO-RANGE=SDR

You can guess by the uri that they will return another m3u8 for each track, for example the subtitle uri, the content of "https://xxxx.com:443/api_v2/getm3u8.jsp;jsessionid=null?programGuid=xxxx&bitrate=adaptive&playlist=subtitles_en" is:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:6913
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6913.0,
https://xxxx.com/apple/00/96/d1/adaptive/text/ENG_xxxx.vtt
#EXT-X-ENDLIST

The ffmpeg can handle the nested m3u8 for video and audio correctly in this case, but not for the subtitle, it show the message:

[hls @ 0000023126e57800] Can't support the subtitle(uri: https://xxxx.com:443/api_v2/getm3u8.jsp;jsessionid=null?programGuid=xxxx&bitrate=adaptive&playlist=subtitles_en)

I am not sure if it is a bug report or feature request... 🤔

Change History (1)

in reply to:  description comment:1 by Jack Lau, 19 months ago

Could you provide one example m3u8 stream url with subtitle?

Note: See TracTickets for help on using tickets.