Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Instagram] gallery-dl not downloading best image quality available #2666

Closed
KonoVitoDa opened this issue Jun 8, 2022 · 25 comments
Closed

Comments

@KonoVitoDa
Copy link

I noticed this issue in this post. Using the script Instagram Download Button I got a 1440x1800px image, while with gallery-dl the downloaded image only has 1080x1350px.

@Fukitsu
Copy link

Fukitsu commented Jun 9, 2022

Related to #941. Instaloader is the only tool that I know of that can download pictures in the highest resolution

@bradenhilton
Copy link
Contributor

Are you using cookies? That link gives me a 1440x1800 image:

gallery-dl -j -- "https://www.instagram.com/p/CejXi9LLCgx/"
[
  [
    ...
  ],
  [
    ...
    {
      ...
      "height": 1800,
      ...
      "width": 1440
    }
  ]
]mediainfo .\2856230145900685361.jpg
General
Complete name                            : .\2856230145900685361.jpg
Format                                   : JPEG
File size                                : 150 KiB

Image
Format                                   : JPEG
Width                                    : 1 440 pixels
Height                                   : 1 800 pixels
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Compression mode                         : Lossy
Stream size                              : 150 KiB (100%)

@KonoVitoDa
Copy link
Author

Are you using cookies? That link gives me a 1440x1800 image:

I was using my login, but just tried with cookies and still got 1080x1350. I also cleared the cache. Does the Instagram page from where the cookies are exported matters?

@bradenhilton
Copy link
Contributor

bradenhilton commented Jun 9, 2022

What's the output of gallery-dl --verbose -K -- "https://www.instagram.com/p/CejXi9LLCgx/"? (This may contain personal information if you care about that).

Here's mine:

Output
gallery-dl --verbose -K -- "https://www.instagram.com/p/CejXi9LLCgx/"
[gallery-dl][debug] Version 1.22.1
[gallery-dl][debug] Python 3.10.4 - Windows-10-10.0.19044-SP0
[gallery-dl][debug] requests 2.28.0 - urllib3 1.26.9
[gallery-dl][debug] Starting KeywordJob for 'https://www.instagram.com/p/CejXi9LLCgx/'
[cookies][debug] Extracting cookies from <path/to/firefox/profile>\cookies.sqlite
[instagram][debug] Using InstagramPostExtractor for 'https://www.instagram.com/p/CejXi9LLCgx/'
[urllib3.connectionpool][debug] Starting new HTTPS connection (1): i.instagram.com:443
[urllib3.connectionpool][debug] https://i.instagram.com:443 "GET /api/v1/media/2856230145900685361/info/ HTTP/1.1" 200 3744
Keywords for directory names:
-----------------------------
category
  instagram
fullname
  Naiichiru ♡ Dokomi 2022
owner_id
  1603742415
post_id
  2856230145900685361
post_shortcode
  CejXi9LLCgx
subcategory
  post
username
  naiichiru

Keywords for filenames and --filter:
------------------------------------
category
  instagram
date
  2022-06-08 17:26:28
display_url
  https://scontent-lcy1-1.cdninstagram.com/v/t51.2885-15/286314818_2161426960690214_1010258721426855784_n.jpg?stp=dst-jpg_e35&_nc_ht=scontent-lcy1-1.cdninstagram.com&_nc_cat=102&_nc_ohc=zc2jah5_-o4AX-uq8y3&tn=vg42LhptRWJePtdm&edm=ALQROFkBAAAA&ccb=7-5&ig_cache_key=Mjg1NjIzMDE0NTkwMDY4NTM2MQ%3D%3D.2-ccb7-5&oh=00_AT9OW68ZU2d41P4Rq1Sek7-l12WGg1dGAPCAUIYvClPlIQ&oe=62A859B0&_nc_sid=30a2ef
extension
  jpg
filename
  286314818_2161426960690214_1010258721426855784_n
fullname
  Naiichiru ♡ Dokomi 2022
height
  1800
media_id
  2856230145900685361
num
  1
owner_id
  1603742415
post_id
  2856230145900685361
post_shortcode
  CejXi9LLCgx
shortcode
  CejXi9LLCgx
subcategory
  post
tagged_users[][full_name]
  𝔈𝔩𝔦
tagged_users[][id]
  915378882
tagged_users[][username]
  chaaierii
username
  naiichiru
video_url
  None
width
  1440

Does the Instagram page from where the cookies are exported matters?

I'm using --cookies-from-browser so I'm not sure which ones are necessary.

@Hrxn
Copy link
Contributor

Hrxn commented Jun 9, 2022

btw:

Here's mine:

Output

 gallery-dl --verbose -K -- "https://www.instagram.com/p/CejXi9LLCgx/"
[gallery-dl][debug] Version 1.22.1
[gallery-dl][debug] Python 3.10.4 - Windows-10-10.0.19044-SP0
[gallery-dl][debug] requests 2.28.0 - urllib3 1.26.9

That requests version is very new, was literally just released 3 hours ago.

@bradenhilton
Copy link
Contributor

That requests version is very new, was literally just released 3 hours ago.

That might be because I migrated from the release binaries of gallery-dl and yt-dlp to pip earlier today.

@KonoVitoDa
Copy link
Author

What's the output of gallery-dl --verbose -K -- "https://www.instagram.com/p/CejXi9LLCgx/"? (

Before upgrading gallery-dl:

Output
>>gallery-dl --verbose -K -- "https://www.instagram.com/p/CejXi9LLCgx/"
[gallery-dl][debug] Version 1.20.5
[gallery-dl][debug] Python 3.10.2 - Windows-10-10.0.19044-SP0
[gallery-dl][debug] requests 2.27.1 - urllib3 1.26.8
[gallery-dl][debug] Starting KeywordJob for 'https://www.instagram.com/p/CejXi9LLCgx/'
[instagram][debug] Using InstagramPostExtractor for 'https://www.instagram.com/p/CejXi9LLCgx/'
[urllib3.connectionpool][debug] Starting new HTTPS connection (1): www.instagram.com:443
[urllib3.connectionpool][debug] https://www.instagram.com:443 "GET /graphql/query/?query_hash=2efa04f61586458cef44441f474eee7c&variables=%7B%22shortcode%22%3A+%22CejXi9LLCgx%22%2C+%22child_comment_count%22%3A+3%2C+%22fetch_comment_count%22%3A+40%2C+%22parent_comment_count%22%3A+24%2C+%22has_threaded_comments%22%3A+true%7D HTTP/1.1" 200 7583
Keywords for directory names:
-----------------------------
category
  instagram
date
  2022-06-08 17:26:28
description
  «  𝘠𝘰𝘶𝘳 𝘬𝘪𝘯𝘥𝘯𝘦𝘴𝘴 𝘸𝘢𝘴 ..
𝘰𝘯𝘭𝘺 𝘥𝘪𝘳𝘦𝘤𝘵𝘦𝘥 𝘵𝘰 𝘮𝘦 𝘸𝘩𝘪𝘭𝘴𝘵 𝘐 𝘸𝘢𝘴 𝘸𝘦𝘢𝘬  »

I’m so happy to share this picture from Dokomi @chaaierii snapped in a second ❤️‍🩹 I love it a lot and thank it reminds me a lot of that scene from the last movie where Araragi has theses beautiful mental images of Kiss-shot . Don’t you agree? Anyway thanks Eli ♡ I couldn’t wait to post more pictures from Dokomi so here you go.

#kissshotacerolaorionheartunderblade #shinobuoshino #oshinoshinobu #monogatariseries #kizumonogatari #dokomi #dokomi2022 #傷物語 #物語 #monogatari
fullname
  Naiichiru ♡ Dokomi 2022
likes
  1856
owner_id
  1603742415
post_id
  2856230145900685361
post_shortcode
  CejXi9LLCgx
post_url
  https://www.instagram.com/p/CejXi9LLCgx/
subcategory
  post
tags[]
  - #dokomi
  - #dokomi2022
  - #kissshotacerolaorionheartunderblade
  - #kizumonogatari
  - #monogatari
  - #monogatariseries
  - #oshinoshinobu
  - #shinobuoshino
  - #傷物語
  - #物語
typename
  GraphImage
username
  naiichiru

Keywords for filenames and --filter:
------------------------------------
category
  instagram
date
  2022-06-08 17:26:28
description
  «  𝘠𝘰𝘶𝘳 𝘬𝘪𝘯𝘥𝘯𝘦𝘴𝘴 𝘸𝘢𝘴 ..
𝘰𝘯𝘭𝘺 𝘥𝘪𝘳𝘦𝘤𝘵𝘦𝘥 𝘵𝘰 𝘮𝘦 𝘸𝘩𝘪𝘭𝘴𝘵 𝘐 𝘸𝘢𝘴 𝘸𝘦𝘢𝘬  »

I’m so happy to share this picture from Dokomi @chaaierii snapped in a second ❤️‍🩹 I love it a lot and thank it reminds me a lot of that scene from the last movie where Araragi has theses beautiful mental images of Kiss-shot . Don’t you agree? Anyway thanks Eli ♡ I couldn’t wait to post more pictures from Dokomi so here you go.

#kissshotacerolaorionheartunderblade #shinobuoshino #oshinoshinobu #monogatariseries #kizumonogatari #dokomi #dokomi2022 #傷物語 #物語 #monogatari
display_url
  https://instagram.fnat1-1.fna.fbcdn.net/v/t51.2885-15/286314818_2161426960690214_1010258721426855784_n.jpg?stp=dst-jpg_e35_p1080x1080&_nc_ht=instagram.fnat1-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=zc2jah5_-o4AX9gFZol&tn=4WVUdNVC_95-MBbM&edm=AP_V10EBAAAA&ccb=7-5&oh=00_AT9FrfA50Xfh4kopOA0k6hxExeb4P_JCNPEnMNt6eznUfQ&oe=62A859B0&_nc_sid=4f375e
extension
  jpg
filename
  286314818_2161426960690214_1010258721426855784_n
fullname
  Naiichiru ♡ Dokomi 2022
height
  1350
likes
  1856
media_id
  2856230145900685361
owner_id
  1603742415
post_id
  2856230145900685361
post_shortcode
  CejXi9LLCgx
post_url
  https://www.instagram.com/p/CejXi9LLCgx/
shortcode
  CejXi9LLCgx
subcategory
  post
tagged_users[][full_name]
  西尾維新公式情報/NISIOISIN official
tagged_users[][id]
  41450886241
tagged_users[][username]
  nisioisin_info
tags[]
  - #dokomi
  - #dokomi2022
  - #kissshotacerolaorionheartunderblade
  - #kizumonogatari
  - #monogatari
  - #monogatariseries
  - #oshinoshinobu
  - #shinobuoshino
  - #傷物語
  - #物語
typename
  GraphImage
  naiichiru
video_url
  None
width
  1080

After upgrading:

Output
>>gallery-dl --verbose -K -- "https://www.instagram.com/p/CejXi9LLCgx/"
[gallery-dl][debug] Version 1.22.1
[gallery-dl][debug] Python 3.10.2 - Windows-10-10.0.19044-SP0
[gallery-dl][debug] requests 2.27.1 - urllib3 1.26.8
[gallery-dl][debug] Starting KeywordJob for 'https://www.instagram.com/p/CejXi9LLCgx/'
[instagram][debug] Using InstagramPostExtractor for 'https://www.instagram.com/p/CejXi9LLCgx/'
[urllib3.connectionpool][debug] Starting new HTTPS connection (1): i.instagram.com:443
[urllib3.connectionpool][debug] https://i.instagram.com:443 "GET /api/v1/media/2856230145900685361/info/ HTTP/1.1" 200 4490
Keywords for directory names:
-----------------------------
category
  instagram
fullname
  Naiichiru ♡ Dokomi 2022
owner_id
  1603742415
post_id
  2856230145900685361
post_shortcode
  CejXi9LLCgx
subcategory
  post
username
  naiichiru

Keywords for filenames and --filter:
------------------------------------
category
  instagram
date
  2022-06-08 17:26:28
display_url
  https://instagram.fnat1-1.fna.fbcdn.net/v/t51.2885-15/286314818_2161426960690214_1010258721426855784_n.jpg?stp=dst-jpg_e35&_nc_ht=instagram.fnat1-1.fna.fbcdn.net&_nc_cat=102&_nc_ohc=zc2jah5_-o4AX9gFZol&tn=4WVUdNVC_95-MBbM&edm=ALQROFkBAAAA&ccb=7-5&ig_cache_key=Mjg1NjIzMDE0NTkwMDY4NTM2MQ%3D%3D.2-ccb7-5&oh=00_AT_mvYfJ5z-aQva2CKKGIlrDRnsaWVv6hIbKk-_Kr2My-A&oe=62A859B0&_nc_sid=30a2ef
extension
  jpg
filename
  286314818_2161426960690214_1010258721426855784_n
fullname
  Naiichiru ♡ Dokomi 2022
  1800
media_id
  2856230145900685361
num
  1
owner_id
  1603742415
post_id
  2856230145900685361
post_shortcode
  CejXi9LLCgx
shortcode
  CejXi9LLCgx
subcategory
  post
tagged_users[][full_name]
  𝔈𝔩𝔦
tagged_users[][id]
  915378882
tagged_users[][username]
  chaaierii
username
  naiichiru
video_url
  None
width
  1440

So the issue is solved? 🤔

@KonoVitoDa
Copy link
Author

@bradenhilton :

I'm using --cookies-from-browser so I'm not sure which ones are necessary.

How to use it?

@Hrxn
Copy link
Contributor

Hrxn commented Jun 10, 2022

Either on the CLI with:
gallery-dl --cookies-from-browser="firefox" <Your URL> (optionally --cookies-from-browser="browsername:profile name/path")

or in the config file like this

@Fukitsu
Copy link

Fukitsu commented Jun 21, 2022

Does getting the high resolution image only works for individual posts? I've been trying with whole profiles and it downloads the 1080x1350 version

mikf added a commit that referenced this issue Sep 23, 2022
With this change, everything is using the newer REST API endpoints
providing higher-quality photos except the now obsolete '/channel' feed.
@mikf
Copy link
Owner

mikf commented Sep 23, 2022

With the latest commits, gallery-dl can now download high(er) resolution photos in all cases (up to 1440px in width), including whole profiles.

The only case that still uses an old GraphQL endpoint with low resolution media is https://www.instagram.com/USER/channel/, but it seems IG has fully replaced that with /reels/ on its website.

@afterdelight
Copy link

So for reels media type there is no higher resolution videos available?

@Fukitsu
Copy link

Fukitsu commented Sep 26, 2022

@afterdelight They already download at 720p which is the highest resolution available as far as I know

@afterdelight
Copy link

i mean there is only one resolution available for reels? Not two, like low resolution and high resolution version?

@mikf
Copy link
Owner

mikf commented Sep 26, 2022

Well, at least when logged in, video posts like this one do have several available sizes.

This post has both a video_versions entry as well as a video_dash_manifest with several different resolutions and bitrates up to 1080x1920.

video_versions
  {
    "type": 101,
    "width": 1080,
    "height": 1920,
    "url": "https://instagram.ftxl3-2.fna.fbcdn.net/v/t50.2886-16/308417739_614897613431068_621415771447584577_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjEwODAuY2xpcHMuaGlnaCIsInFlX2dyb3VwcyI6IltcImlnX3dlYl9kZWxpdmVyeV92dHNfb3RmXCJdIn0&_nc_ht=instagram.ftxl3-2.fna.fbcdn.net&_nc_cat=1&_nc_ohc=TlP_JrhG0fsAX-xwQWh&edm=ACHbZRIBAAAA&vs=772965144013466_589755179&_nc_vs=HBksFQAYJEdNc1VZaEljWWRJQlB5OENBRUZuOVFwYXRwOElicV9FQUFBRhUAAsgBABUAGCRHTnNQUFFQYkIwOHJWYVlCQUlISm90S3dGcnR2YnBSMUFBQUYVAgLIAQAoABgAGwAVAAAm4rqm0eSC%2FT8VAigCQzMsF0AeqfvnbItEGBJkYXNoX2hpZ2hfMTA4MHBfdjERAHX%2BBwA%3D&_nc_rid=38cdec6e8b&ccb=7-5&oe=6335E91A&oh=00_AT-yHPfYzPOusFCVhLiDPLtVFpaDCyQ0Es96B7NQJQReFA&_nc_sid=4a9e64",
    "id": "772965144013466v"
  },
  {
    "type": 102,
    "width": 480,
    "height": 854,
    "url": "https://instagram.ftxl3-1.fna.fbcdn.net/v/t50.2886-16/308168203_1305127486924788_2639542454656271701_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjQ4MC5jbGlwcy5iYXNlbGluZSIsInFlX2dyb3VwcyI6IltcImlnX3dlYl9kZWxpdmVyeV92dHNfb3RmXCJdIn0&_nc_ht=instagram.ftxl3-1.fna.fbcdn.net&_nc_cat=100&_nc_ohc=CuDGiR26PMMAX_H3GK9&edm=ACHbZRIBAAAA&vs=417430513818058_3522082399&_nc_vs=HBksFQAYJEdBdEdYaEwwcHo2c0FhTUVBRldGV2F2Z2lhRWticV9FQUFBRhUAAsgBABUAGCRHTnNQUFFQYkIwOHJWYVlCQUlISm90S3dGcnR2YnBSMUFBQUYVAgLIAQAoABgAGwAVAAAm4rqm0eSC%2FT8VAigCQzMsF0AeqfvnbItEGBJkYXNoX2Jhc2VsaW5lXzJfdjERAHX%2BBwA%3D&_nc_rid=38cdec6e8b&ccb=7-5&oe=6335561A&oh=00_AT-QlF6SuI8eRFlpnqQP_xTai0XojI1IzTm5F0xBuKUULQ&_nc_sid=4a9e64",
    "id": "417430513818058v"
  },
  {
    "type": 103,
    "width": 480,
    "height": 854,
    "url": "https://instagram.ftxl3-1.fna.fbcdn.net/v/t50.2886-16/308168203_1305127486924788_2639542454656271701_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLjQ4MC5jbGlwcy5iYXNlbGluZSIsInFlX2dyb3VwcyI6IltcImlnX3dlYl9kZWxpdmVyeV92dHNfb3RmXCJdIn0&_nc_ht=instagram.ftxl3-1.fna.fbcdn.net&_nc_cat=100&_nc_ohc=CuDGiR26PMMAX_H3GK9&edm=ACHbZRIBAAAA&vs=417430513818058_3522082399&_nc_vs=HBksFQAYJEdBdEdYaEwwcHo2c0FhTUVBRldGV2F2Z2lhRWticV9FQUFBRhUAAsgBABUAGCRHTnNQUFFQYkIwOHJWYVlCQUlISm90S3dGcnR2YnBSMUFBQUYVAgLIAQAoABgAGwAVAAAm4rqm0eSC%2FT8VAigCQzMsF0AeqfvnbItEGBJkYXNoX2Jhc2VsaW5lXzJfdjERAHX%2BBwA%3D&_nc_rid=38cdec6e8b&ccb=7-5&oe=6335561A&oh=00_AT-QlF6SuI8eRFlpnqQP_xTai0XojI1IzTm5F0xBuKUULQ&_nc_sid=4a9e64",
    "id": "417430513818058v"
  }
video_dash_manifest
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500S" type="static" mediaPresentationDuration="PT0H0M7.683S" maxSegmentDuration="PT0H0M3.667S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011,http://dashif.org/guidelines/dash264">
 <Period duration="PT0H0M7.683S">
  <AdaptationSet segmentAlignment="true" maxWidth="1080" maxHeight="1920" maxFrameRate="30" par="448:796" lang="und" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
   <Representation id="772965144013466vd" mimeType="video/mp4" codecs="avc1.64001F" width="1080" height="1920" frameRate="30" sar="1:1" startWithSAP="1" bandwidth="3045450" FBQualityClass="hd" FBQualityLabel="1080w" FBPlaybackResolutionMos="0:100.00,360:95.16,480:93.61,720:90.69,1080:84.90">
    <BaseURL urlExpiration="1664477466">https://instagram.ftxl3-2.fna.fbcdn.net/v/t50.2886-16/308417739_614897613431068_621415771447584577_n.mp4?_nc_ht=instagram.ftxl3-2.fna.fbcdn.net&amp;_nc_cat=1&amp;_nc_ohc=TlP_JrhG0fsAX-xwQWh&amp;edm=ACHbZRIBAAAA&amp;ccb=7-5&amp;oh=00_AT-78wkvLMyR7PdFoDX00pbD7gBzdU6zZiHgLSjX4kXzzQ&amp;oe=6335E91A&amp;_nc_sid=4a9e64</BaseURL>
    <SegmentBase indexRangeExact="true" indexRange="846-913" FBFirstSegmentRange="914-825523" FBSecondSegmentRange="825524-1523008" FBPrefetchSegmentRange="914-1523008">
      <Initialization range="0-845"/>
    </SegmentBase>
   </Representation>
  <Representation id="1838128206528133v" mimeType="video/mp4" codecs="avc1.64001F" width="448" height="796" frameRate="30" sar="1:1" startWithSAP="1" bandwidth="325706" FBQualityClass="sd" FBQualityLabel="448w" FBPlaybackResolutionMos="0:100.00,360:64.21,480:57.68,720:50.19,1080:42.83">
    <BaseURL urlExpiration="1664499671">https://instagram.ftxl3-2.fna.fbcdn.net/v/t50.2886-16/308043306_1312699892810668_9202219863280756906_n.mp4?_nc_ht=instagram.ftxl3-2.fna.fbcdn.net&amp;_nc_cat=1&amp;_nc_ohc=p3udNx9tL6QAX_8Y1wT&amp;tn=UwF9HRmIF2Tvw0up&amp;edm=ACHbZRIBAAAA&amp;ccb=7-5&amp;oh=00_AT9qYu4zRbH_lsa8m2G7z1B6LQErMxI5bcOAQsu2GM803A&amp;oe=63363FD7&amp;_nc_sid=4a9e64</BaseURL>
    <SegmentBase indexRangeExact="true" indexRange="846-913" FBFirstSegmentRange="914-91959" FBSecondSegmentRange="91960-164841" FBPrefetchSegmentRange="914-164841">
      <Initialization range="0-845"/>
    </SegmentBase>
   </Representation>
  <Representation id="1553687891716090v" mimeType="video/mp4" codecs="avc1.64001F" width="622" height="1106" frameRate="30" sar="1:1" startWithSAP="1" bandwidth="587993" FBQualityClass="sd" FBQualityLabel="622w" FBPlaybackResolutionMos="0:100.00,360:73.62,480:68.74,720:61.53,1080:53.57">
    <BaseURL urlExpiration="1664465590">https://instagram.ftxl3-2.fna.fbcdn.net/v/t50.2886-16/307640636_158965113408719_5036532876903927956_n.mp4?_nc_ht=instagram.ftxl3-2.fna.fbcdn.net&amp;_nc_cat=1&amp;_nc_ohc=LpDXgSWgZCoAX82ks2A&amp;edm=ACHbZRIBAAAA&amp;ccb=7-5&amp;oh=00_AT-i1EUzPjOS-PGCffA6M4AvDSp5UsrTkmgZQcuuVX5w0g&amp;oe=6335BAB6&amp;_nc_sid=4a9e64</BaseURL>
    <SegmentBase indexRangeExact="true" indexRange="848-915" FBFirstSegmentRange="916-164903" FBSecondSegmentRange="164904-295503" FBPrefetchSegmentRange="916-295503">
      <Initialization range="0-847"/>
    </SegmentBase>
   </Representation>
  <Representation id="1405804536579709v" mimeType="video/mp4" codecs="avc1.64001F" width="720" height="1280" frameRate="30" sar="1:1" startWithSAP="1" bandwidth="1018165" FBQualityClass="hd" FBQualityLabel="720w" FBPlaybackResolutionMos="0:100.00,360:82.64,480:78.16,720:71.64,1080:64.49">
    <BaseURL urlExpiration="1664472712">https://instagram.ftxl3-2.fna.fbcdn.net/v/t50.2886-16/306864951_5169322723194924_3173478750726888937_n.mp4?_nc_ht=instagram.ftxl3-2.fna.fbcdn.net&amp;_nc_cat=1&amp;_nc_ohc=5BDHJ7wInOMAX-RTNpa&amp;tn=UwF9HRmIF2Tvw0up&amp;edm=ACHbZRIBAAAA&amp;ccb=7-5&amp;oh=00_AT8VpPFzsC9dnj2qLQF5rbTRS4FMyj9iu2tecZZLW_zrDg&amp;oe=6335D688&amp;_nc_sid=4a9e64</BaseURL>
    <SegmentBase indexRangeExact="true" indexRange="845-912" FBFirstSegmentRange="913-282447" FBSecondSegmentRange="282448-510760" FBPrefetchSegmentRange="913-510760">
      <Initialization range="0-844"/>
    </SegmentBase>
   </Representation>
  <Representation id="567241675199798v" mimeType="video/mp4" codecs="avc1.64001F" width="720" height="1280" frameRate="30" sar="1:1" startWithSAP="1" bandwidth="1731843" FBQualityClass="hd" FBQualityLabel="720w" FBPlaybackResolutionMos="0:100.00,360:89.79,480:87.04,720:79.76,1080:73.69">
    <BaseURL urlExpiration="1664512011">https://instagram.ftxl3-2.fna.fbcdn.net/v/t50.2886-16/308548679_415015710775424_8863549071995053098_n.mp4?_nc_ht=instagram.ftxl3-2.fna.fbcdn.net&amp;_nc_cat=1&amp;_nc_ohc=BCdwZmgEYB0AX_17Yl4&amp;edm=ACHbZRIBAAAA&amp;ccb=7-5&amp;oh=00_AT84Kkg0pdiqSkaAUNfGWyL_K6fx61SBqhwrVLbKAZisRg&amp;oe=6336700B&amp;_nc_sid=4a9e64</BaseURL>
    <SegmentBase indexRangeExact="true" indexRange="845-912" FBFirstSegmentRange="913-474247" FBSecondSegmentRange="474248-868651" FBPrefetchSegmentRange="913-868651">
      <Initialization range="0-844"/>
    </SegmentBase>
   </Representation>
  </AdaptationSet>
 <AdaptationSet segmentAlignment="true" lang="und" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
   <Representation id="508593621036764ad" mimeType="audio/mp4" codecs="mp4a.40.5" audioSamplingRate="44100" startWithSAP="1" bandwidth="96643">
    <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
    <BaseURL urlExpiration="1664476222">https://instagram.ftxl3-2.fna.fbcdn.net/v/t66.30100-16/54333403_464359705741275_8051053707558832513_n.mp4?_nc_ht=instagram.ftxl3-2.fna.fbcdn.net&amp;_nc_cat=1&amp;_nc_ohc=B7BmhB_jpAAAX-ds87U&amp;edm=ACHbZRIBAAAA&amp;ccb=7-5&amp;oh=00_AT9RDkB_YClkJxeXcTwd_5czf6xLvHGYJlChtm8--tLv7A&amp;oe=6335E43E&amp;_nc_sid=4a9e64</BaseURL>
    <SegmentBase indexRangeExact="true" indexRange="783-862" FBFirstSegmentRange="863-26861" FBSecondSegmentRange="26862-49933" FBPrefetchSegmentRange="863-49933">
      <Initialization range="0-782"/>
    </SegmentBase>
   </Representation>
  </AdaptationSet>
 </Period>
</MPD>

gallery-dl only extracts the highest resolution version from video_versions due to lacking DASH support. There is also no option to make it select a lower quality one.

@afterdelight
Copy link

Why is the bitrate info isnt available to see?
What about video stories? Does gallery-dl grab the highest resolution too?

@mikf
Copy link
Owner

mikf commented Sep 27, 2022

Why is the bitrate info isnt available to see?

It is available as bandwidth in the DASH manifest.

What about video stories? Does gallery-dl grab the highest resolution too?

Yes, always has been.

@FriendlyUser10
Copy link

With the latest commits, gallery-dl can now download high(er) resolution photos in all cases (up to 1440px in width), including whole profiles.

The only case that still uses an old GraphQL endpoint with low resolution media is https://www.instagram.com/USER/channel/, but it seems IG has fully replaced that with /reels/ on its website.

Is there a specific option needed to use the latest commits for a whole profile? I just got the new .exe, but I'm still getting the 1080x1350 when downloading by profile; I checked an individual post and it was able to be a 1440px DL that way.

@Hrxn
Copy link
Contributor

Hrxn commented Sep 30, 2022

What do yo mean by new .exe?
The latest build artifacts from here? https://github.com/mikf/gallery-dl/actions/workflows/executables.yml

Then the latest changes should be included. They're not included in the latest release version 1.23.1

@mikf mikf closed this as completed Oct 1, 2022
@afterdelight
Copy link

@Hrxn
Copy link
Contributor

Hrxn commented Oct 4, 2022

Does the Instagram page from where the cookies are exported matters?

I'm using --cookies-from-browser so I'm not sure which ones are necessary.

Is there still any benefit in using this over "username" and "password"? (Has there ever been?)

I could not find any mentions here in the issues about which cookies are necessary and which aren't..

It's probably not so simple as Twitter, where you only need "auth_token" and "ct0"?

I just checked in Chrome, and I have 9 different cookies on my Instagram page..

@mikf
Copy link
Owner

mikf commented Oct 4, 2022

You only "need" sessionid for Instagram, but I'd think it is far less suspicious to use all the cookies Instagram hands out to a real browser in terms of bot detection than using only one.

The login performed by gallery-dl with given username and password "works" in the sense that it manages to get a sessionid cookie, but it would be very easy for IG to detect that it is not a real browser that is logging in.

@Hrxn
Copy link
Contributor

Hrxn commented Oct 4, 2022

Right, makes sense. It seems there's also a csrftoken cookie now, which I assume gets used for cross site request forgery detection?
Also, there is rur, which has a per-session expiry..

Using exported cookies is probably more reliable, then?

@mikf
Copy link
Owner

mikf commented Oct 5, 2022

csrftoken tokens get used since 447488f,
but any csrf cookies just get overwritten with a randomly generated value.

self.csrf_token = util.generate_token()

self.session.cookies.set(
"csrftoken", self.csrf_token, domain=self.cookiedomain)

Exported cookies is what I'm personally using together with "cookies-update": false (only to reduce unnecessary disk writes) and it works for at least a few months before IG doesn't accept the login session anymore.

@Hrxn
Copy link
Contributor

Hrxn commented Oct 5, 2022

Good to know. I'm also using exported cookies for Instagram now..

But why could disk writes be an issue with "cookies-update": true? How many writes can it be?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants