diff options
Diffstat (limited to 'yt_dlp/extractor/common.py')
-rw-r--r-- | yt_dlp/extractor/common.py | 4 |
1 files changed, 3 insertions, 1 deletions
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: |