aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor/common.py')
-rw-r--r--yt_dlp/extractor/common.py4
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: