aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--yt_dlp/extractor/instagram.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/yt_dlp/extractor/instagram.py b/yt_dlp/extractor/instagram.py
index 4eca9eb92..c4036d096 100644
--- a/yt_dlp/extractor/instagram.py
+++ b/yt_dlp/extractor/instagram.py
@@ -234,7 +234,9 @@ class InstagramIE(InstagramBaseIE):
media, lambda x: x['edge_media_to_caption']['edges'][0]['node']['text'],
compat_str) or media.get('caption')
title = media.get('title')
- thumbnail = media.get('display_src') or media.get('display_url')
+ display_resources = media.get('display_resources')
+ if not display_resources:
+ display_resources = [{'src': media.get('display_src')}, {'src': media.get('display_url')}]
duration = float_or_none(media.get('video_duration'))
timestamp = int_or_none(media.get('taken_at_timestamp') or media.get('date'))
uploader = try_get(media, lambda x: x['owner']['full_name'])
@@ -252,6 +254,12 @@ class InstagramIE(InstagramBaseIE):
comment_count = get_count(
('preview_comment', 'to_comment', 'to_parent_comment'), 'comment')
+ thumbnails = [{
+ 'url': thumbnail['src'],
+ 'width': thumbnail.get('config_width'),
+ 'height': thumbnail.get('config_height'),
+ } for thumbnail in display_resources if thumbnail.get('src')]
+
comments = []
for comment in try_get(media, lambda x: x['edge_media_to_parent_comment']['edges']):
comment_dict = comment.get('node', {})
@@ -326,7 +334,7 @@ class InstagramIE(InstagramBaseIE):
'title': title or 'Video by %s' % uploader_id,
'description': description,
'duration': duration,
- 'thumbnail': thumbnail,
+ 'thumbnails': thumbnails,
'timestamp': timestamp,
'uploader_id': uploader_id,
'uploader': uploader,