Už se to tu vlastně probíralo v Jak z YouTube v terminalu (Mac, Linux, atd) stáhnout video z youtube? A získat zvukovou stopu? a nepřekvapivě úplně stejný nástroj, tedy yt-dlp je možné použít pro stažení videa z Instagramu.
Případně je tu ještě hodně starý tip Jak stáhnout video z Facebooku, YouTube, … kde je řeč o různých dalších nástrojích (některé už možná ani nebudou existovat, některé mohou být nebezpečné), pokud nechcete příkazovou řádku. Osobně ale opravdu doporučím právě to yt-dlp.
Příkazovou řádku totiž můžete mít všude. Pro Linux je základ, MacOS má Terminal a ve Windows není nic snazšího, než použít WSL nebo si stáhnout yt-dlp v samostatné podobě (x64 EXE).
yt-dlp navíc můžete snadno použít i pro stahování více videí, třeba prostě tak, že si vytvoříte seznam a pomocí yt-dlp je stáhnete všechny najednou.
POZNÁMKA: Pomocí výše uvedených nástrojů můžete stahovat Instagramu jenom to co je veřejně dostupné. Některý obsah, byť veřejný nemusí jít stáhnout. Vlastní obsah z vlastního Instagramu navíc můžete stahovat přímo v aplikaci Instagramu.
Ale zpět k yt-dlp. Potřebuje pro základní stažení jediné, tedy url (adresu) příspěvku na Instagramu. Ta lze snadno získat přes sdílení (Sdílet > Kopírovat odkaz) nebo z webové podoby Instagramu otevřením příspěvku. Výsledkem spuštění bude uložení videa jako MP4.
Hodit se může přejmenovat (pojmenovat) ukládané mp4, to udělát e pomoci -o (kde můžete dát přímo konkrétní název nebo využít různé šablony pro doplnění informací z příspěvku).
yt-dlp -o „%(uploader)s – %(title)s.%(ext)s“ „https://www.instagram.com/reel/XXXXXXXXXXX/“
Tedy v praxi například:
danieldocekal@DBDmini ~ % yt-dlp https://www.instagram.com/reel/DUJGqOMjoYM/
[Instagram] Extracting URL: https://www.instagram.com/reel/DUJGqOMjoYM/
[Instagram] DUJGqOMjoYM: Setting up session
WARNING: [Instagram] DUJGqOMjoYM: No csrf token set by Instagram API
[Instagram] DUJGqOMjoYM: Downloading JSON metadata
[info] DUJGqOMjoYM: Downloading 1 format(s): 4
[download] Destination: Video by danieldocekal [DUJGqOMjoYM].mp4
[download] 100% of 3.26MiB in 00:00:00 at 3.67MiB/s
V některých případech, kdy se Instagram bude vzpouzet, je nutné “podstrčit” cookies. Umí je vzít z Chrome, Edge, Firefoxu, Safari a dalších. Ve Windows pozor na to, že to občas nebude schopné převzít cookies z prohlížeče co ho máte otevřený.
yt-dlp –cookies-from-browser chrome „https://www.instagram.com/reel/XXXXXXXXXXX/“
Pokud yt-dlp stahuje formát co vám nevyhovuje, tak se nejprve můžete podívat co je k dispozici (pomocí -F):
yt-dlp –cookies-from-browser chrome -F „https://www.instagram.com/reel/XXXXXXXXXXX/„
a pak případně vynutit MP4 (možná budete potřebovat mít ffmpet):
yt-dlp –cookies-from-browser chrome \
-f „bv*+ba/b“ \
–merge-output-format mp4 \
„https://www.instagram.com/reel/XXXXXXXXXXX/“
Chcete-li mít jistotu stažení nejlepší kvality:
yt-dlp –cookies-from-browser chrome -f „bestvideo*+bestaudio/best“ „https://www.instagram.com/reel/XXXXXXXXXXX/“
Ještě užitečné může být zjistit proč nejde stahovat (klasické -v coby “verbose”, -U je kontrola zda máte poslední verzi):
yt-dlp -vU –cookies-from-browser chrome „https://www.instagram.com/reel/XXXXXXXXXXX/“
A ano, poslední verze může znamenat, že došlo k nápravě změn, které Instagram (či jiné platformy) udělal.
Užitečné může být i to, že jde stánout jen video (bv = best video) nebo jen audio (ba = best audio).
yt-dlp –cookies-from-browser chrome -f „bv“ „URL“
yt-dlp –cookies-from-browser chrome -f „ba“ „URL“
Stahované audio můžete navíc chtít rovnou (překonvertovat) jako MP3:
yt-dlp –cookies-from-browser chrome -f „ba“ -x –audio-format mp3 „URL“
