diff options
author | u-spec-png <54671367+u-spec-png@users.noreply.github.com> | 2021-10-31 02:54:39 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-31 08:24:39 +0530 |
commit | cd9ea4104b8b5075ea4bfe92c76130e267686805 (patch) | |
tree | 40f422dd2d7c2ea850fc904f55f35186d274c53c | |
parent | 652fb0d446524af4b783276babd55f5fc6a3afeb (diff) | |
download | hypervideo-pre-cd9ea4104b8b5075ea4bfe92c76130e267686805.tar.lz hypervideo-pre-cd9ea4104b8b5075ea4bfe92c76130e267686805.tar.xz hypervideo-pre-cd9ea4104b8b5075ea4bfe92c76130e267686805.zip |
[instagram] Add more formats when logged in (#1487)
Authored by: u-spec-png
-rw-r--r-- | yt_dlp/extractor/instagram.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/yt_dlp/extractor/instagram.py b/yt_dlp/extractor/instagram.py index ccfcddd5b..8c935c251 100644 --- a/yt_dlp/extractor/instagram.py +++ b/yt_dlp/extractor/instagram.py @@ -222,8 +222,8 @@ class InstagramIE(InfoExtractor): dict) if media: video_url = media.get('video_url') - height = int_or_none(media.get('dimensions', {}).get('height')) - width = int_or_none(media.get('dimensions', {}).get('width')) + height = try_get(media, lambda x: x['dimensions']['height']) + width = try_get(media, lambda x: x['dimensions']['width']) description = try_get( media, lambda x: x['edge_media_to_caption']['edges'][0]['node']['text'], compat_str) or media.get('caption') @@ -231,8 +231,8 @@ class InstagramIE(InfoExtractor): thumbnail = media.get('display_src') or 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 = media.get('owner', {}).get('full_name') - uploader_id = media.get('owner', {}).get('username') + uploader = try_get(media, lambda x: x['owner']['full_name']) + uploader_id = try_get(media, lambda x: x['owner']['username']) def get_count(keys, kind): for key in variadic(keys): @@ -294,6 +294,10 @@ class InstagramIE(InfoExtractor): 'width': width, 'height': height, }] + dash = try_get(media, lambda x: x['dash_info']['video_dash_manifest']) + if dash: + formats.extend(self._parse_mpd_formats(self._parse_xml(dash, video_id), mpd_id='dash')) + self._sort_formats(formats) if not uploader_id: uploader_id = self._search_regex( |