|
|
@ -379,6 +379,7 @@ class FacebookIE(InfoExtractor):
|
|
|
|
if not video_data:
|
|
|
|
if not video_data:
|
|
|
|
raise ExtractorError('Cannot parse data')
|
|
|
|
raise ExtractorError('Cannot parse data')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subtitles = {}
|
|
|
|
formats = []
|
|
|
|
formats = []
|
|
|
|
for f in video_data:
|
|
|
|
for f in video_data:
|
|
|
|
format_id = f['stream_type']
|
|
|
|
format_id = f['stream_type']
|
|
|
@ -402,6 +403,9 @@ class FacebookIE(InfoExtractor):
|
|
|
|
if dash_manifest:
|
|
|
|
if dash_manifest:
|
|
|
|
formats.extend(self._parse_mpd_formats(
|
|
|
|
formats.extend(self._parse_mpd_formats(
|
|
|
|
compat_etree_fromstring(compat_urllib_parse_unquote_plus(dash_manifest))))
|
|
|
|
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:
|
|
|
|
if not formats:
|
|
|
|
raise ExtractorError('Cannot find video formats')
|
|
|
|
raise ExtractorError('Cannot find video formats')
|
|
|
|
|
|
|
|
|
|
|
@ -447,6 +451,7 @@ class FacebookIE(InfoExtractor):
|
|
|
|
'timestamp': timestamp,
|
|
|
|
'timestamp': timestamp,
|
|
|
|
'thumbnail': thumbnail,
|
|
|
|
'thumbnail': thumbnail,
|
|
|
|
'view_count': view_count,
|
|
|
|
'view_count': view_count,
|
|
|
|
|
|
|
|
'subtitles': subtitles,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return webpage, info_dict
|
|
|
|
return webpage, info_dict
|
|
|
|