aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/generic.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-02-02 07:28:01 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-02-02 07:33:16 +0530
commit85553414ae3007fe866b307b3befd3b9d2423679 (patch)
treeb350e54bf470543b79e32915ce5099ad5e973bb7 /yt_dlp/extractor/generic.py
parentd16df59db558cdd208e940090e5be3c0fbcd2d58 (diff)
downloadhypervideo-pre-85553414ae3007fe866b307b3befd3b9d2423679.tar.lz
hypervideo-pre-85553414ae3007fe866b307b3befd3b9d2423679.tar.xz
hypervideo-pre-85553414ae3007fe866b307b3befd3b9d2423679.zip
[generic] Allow further processing of json_ld URL
Closes #2578
Diffstat (limited to 'yt_dlp/extractor/generic.py')
-rw-r--r--yt_dlp/extractor/generic.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py
index 131319d25..2b59d076f 100644
--- a/yt_dlp/extractor/generic.py
+++ b/yt_dlp/extractor/generic.py
@@ -3815,13 +3815,16 @@ class GenericIE(InfoExtractor):
# Looking for http://schema.org/VideoObject
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')
- 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['url'], video_id, 'mp4')
json_ld.pop('url')
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)
def check_video(vurl):