gallery-dl
gallery-dl copied to clipboard
[Instagram] gallery-dl not downloading best image quality available
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.
Related to https://github.com/mikf/gallery-dl/issues/941. Instaloader is the only tool that I know of that can download pictures in the highest resolution
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%)
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?
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.
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.
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.
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? 🤔
@bradenhilton :
I'm using --cookies-from-browser so I'm not sure which ones are necessary.
How to use it?
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
Does getting the high resolution image only works for individual posts? I've been trying with whole profiles and it downloads the 1080x1350 version
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.
So for reels media type there is no higher resolution videos available?
@afterdelight They already download at 720p which is the highest resolution available as far as I know
i mean there is only one resolution available for reels? Not two, like low resolution and high resolution version?
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&_nc_cat=1&_nc_ohc=TlP_JrhG0fsAX-xwQWh&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AT-78wkvLMyR7PdFoDX00pbD7gBzdU6zZiHgLSjX4kXzzQ&oe=6335E91A&_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&_nc_cat=1&_nc_ohc=p3udNx9tL6QAX_8Y1wT&tn=UwF9HRmIF2Tvw0up&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AT9qYu4zRbH_lsa8m2G7z1B6LQErMxI5bcOAQsu2GM803A&oe=63363FD7&_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&_nc_cat=1&_nc_ohc=LpDXgSWgZCoAX82ks2A&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AT-i1EUzPjOS-PGCffA6M4AvDSp5UsrTkmgZQcuuVX5w0g&oe=6335BAB6&_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&_nc_cat=1&_nc_ohc=5BDHJ7wInOMAX-RTNpa&tn=UwF9HRmIF2Tvw0up&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AT8VpPFzsC9dnj2qLQF5rbTRS4FMyj9iu2tecZZLW_zrDg&oe=6335D688&_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&_nc_cat=1&_nc_ohc=BCdwZmgEYB0AX_17Yl4&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AT84Kkg0pdiqSkaAUNfGWyL_K6fx61SBqhwrVLbKAZisRg&oe=6336700B&_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&_nc_cat=1&_nc_ohc=B7BmhB_jpAAAX-ds87U&edm=ACHbZRIBAAAA&ccb=7-5&oh=00_AT9RDkB_YClkJxeXcTwd_5czf6xLvHGYJlChtm8--tLv7A&oe=6335E43E&_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.
Why is the bitrate info isnt available to see? What about video stories? Does gallery-dl grab the highest resolution too?
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.
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.
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
install version 1.23.2
https://github.com/mikf/gallery-dl/releases/tag/v1.23.2
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..
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.
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?
csrftoken
tokens get used since 447488fb1876f507a6409be12864e9f22cac83e6,
but any csrf cookies just get overwritten with a randomly generated value.
https://github.com/mikf/gallery-dl/blob/fce6642699b85c849c33f2a6acaf42bc90710d85/gallery_dl/extractor/instagram.py#L39 https://github.com/mikf/gallery-dl/blob/fce6642699b85c849c33f2a6acaf42bc90710d85/gallery_dl/extractor/instagram.py#L132-L133
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.
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?