From e50c3500b43d80e4492569c4b4523c4379c6fbb2 Mon Sep 17 00:00:00 2001 From: siddharth ravikumar Date: Thu, 2 Jun 2022 20:51:11 -0400 Subject: [extractor/npr] Use stream url from json-ld (#3455) Closes #1934 Authored by: r5d --- yt_dlp/extractor/common.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'yt_dlp/extractor/common.py') diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py index d88d5e6f9..71e982f02 100644 --- a/yt_dlp/extractor/common.py +++ b/yt_dlp/extractor/common.py @@ -1461,7 +1461,7 @@ class InfoExtractor: assert e['@type'] == 'VideoObject' author = e.get('author') info.update({ - 'url': url_or_none(e.get('contentUrl')), + 'url': traverse_obj(e, 'contentUrl', 'embedUrl', expected_type=url_or_none), 'title': unescapeHTML(e.get('name')), 'description': unescapeHTML(e.get('description')), 'thumbnails': [{'url': url} @@ -1529,6 +1529,8 @@ class InfoExtractor: }) if traverse_obj(e, ('video', 0, '@type')) == 'VideoObject': extract_video_object(e['video'][0]) + elif traverse_obj(e, ('subjectOf', 0, '@type')) == 'VideoObject': + extract_video_object(e['subjectOf'][0]) elif item_type == 'VideoObject': extract_video_object(e) if expected_type is None: -- cgit v1.2.3