mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-03 17:00:51 +01:00
[facebook] extract subtitles(closes #22777)
This commit is contained in:
parent
0c2d10d225
commit
07154c7930
|
@ -147,6 +147,8 @@ def _real_extract(self, url):
|
|||
is_live = item.get('type') == 'LIVE'
|
||||
formats = []
|
||||
for format_id, stream_url in item.get('streamUrls', {}).items():
|
||||
if 'drmOnly=true' in stream_url:
|
||||
continue
|
||||
if 'playerType=flash' in stream_url:
|
||||
stream_formats = self._extract_m3u8_formats(
|
||||
stream_url, playlist_id, 'mp4', 'm3u8_native',
|
||||
|
|
|
@ -379,6 +379,7 @@ def extract_from_jsmods_instances(js_data):
|
|||
if not video_data:
|
||||
raise ExtractorError('Cannot parse data')
|
||||
|
||||
subtitles = {}
|
||||
formats = []
|
||||
for f in video_data:
|
||||
format_id = f['stream_type']
|
||||
|
@ -402,6 +403,9 @@ def extract_from_jsmods_instances(js_data):
|
|||
if dash_manifest:
|
||||
formats.extend(self._parse_mpd_formats(
|
||||
compat_etree_fromstring(compat_urllib_parse_unquote_plus(dash_manifest))))
|
||||
subtitles_src = f[0].get('subtitles_src')
|
||||
if subtitles_src:
|
||||
subtitles.setdefault('en', []).append({'url': subtitles_src})
|
||||
if not formats:
|
||||
raise ExtractorError('Cannot find video formats')
|
||||
|
||||
|
@ -447,6 +451,7 @@ def extract_from_jsmods_instances(js_data):
|
|||
'timestamp': timestamp,
|
||||
'thumbnail': thumbnail,
|
||||
'view_count': view_count,
|
||||
'subtitles': subtitles,
|
||||
}
|
||||
|
||||
return webpage, info_dict
|
||||
|
|
Loading…
Reference in New Issue
Block a user