|
|
@ -3815,13 +3815,16 @@ class GenericIE(InfoExtractor):
|
|
|
|
|
|
|
|
|
|
|
|
# Looking for http://schema.org/VideoObject
|
|
|
|
# Looking for http://schema.org/VideoObject
|
|
|
|
json_ld = self._search_json_ld(webpage, video_id, default={})
|
|
|
|
json_ld = self._search_json_ld(webpage, video_id, default={})
|
|
|
|
if json_ld.get('url'):
|
|
|
|
if json_ld.get('url') not in (url, None):
|
|
|
|
self.report_detected('JSON LD')
|
|
|
|
self.report_detected('JSON LD')
|
|
|
|
if determine_ext(json_ld.get('url')) == 'm3u8':
|
|
|
|
if determine_ext(json_ld['url']) == 'm3u8':
|
|
|
|
json_ld['formats'], json_ld['subtitles'] = self._extract_m3u8_formats_and_subtitles(
|
|
|
|
json_ld['formats'], json_ld['subtitles'] = self._extract_m3u8_formats_and_subtitles(
|
|
|
|
json_ld['url'], video_id, 'mp4')
|
|
|
|
json_ld['url'], video_id, 'mp4')
|
|
|
|
json_ld.pop('url')
|
|
|
|
json_ld.pop('url')
|
|
|
|
self._sort_formats(json_ld['formats'])
|
|
|
|
self._sort_formats(json_ld['formats'])
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
json_ld['_type'] = 'url_transparent'
|
|
|
|
|
|
|
|
json_ld['url'] = smuggle_url(json_ld['url'], {'force_videoid': video_id, 'to_generic': True})
|
|
|
|
return merge_dicts(json_ld, info_dict)
|
|
|
|
return merge_dicts(json_ld, info_dict)
|
|
|
|
|
|
|
|
|
|
|
|
def check_video(vurl):
|
|
|
|
def check_video(vurl):
|
|
|
|