yt-dlp: nejužitečnější nástroj v mém workflow, který nemá s AI nic společného
Každé video, které si ukládám do poznámek, projde jedním programem z příkazové řádky. Proč je nejlevnější režim ten, kdy video vůbec nestahujete, kde to praská a co jsem si o té právní části musel ujasnit.
Většina věcí, které si dneska ukládám — videa, přednášky, kurzy — projde jako první krok jedním programem. Není v něm žádná AI. Nemá webové rozhraní. Jmenuje se yt-dlp a je to nástroj z příkazové řádky, který stahuje video a zvuk z webu.
Poslední dobou o něm koluje po Instagramu docela dost reelů ve stylu „nejužitečnější nástroj na GitHubu, který ti nikdo neukazuje". Ta čísla v nich sedí líp, než jsem čekal — ale pár věcí se v nich říká volněji, než by mělo. Tak jsem si to ověřil a sepsal, jak ho reálně používám.
Co na těch tvrzeních sedí
„Přes 180 000 hvězd na GitHubu." Sedí. K 12. srpnu 2026 jich má 183 998. To ho řadí mezi vůbec nejhvězdičkovanější repozitáře, jaké existují.
„Public domain, nikdo to nevlastní." Skoro. Licence je The Unlicense, která začíná větou „This is free and unencumbered software released into the public domain." Takže „uvolněno do public domain" je férový popis. Jenom „nikdo to nevlastní" je řečnicky hezké a právně vágní — v některých jurisdikcích, třeba v Německu, se autorských práv vzdát nejde. Přesně proto Unlicense obsahuje ještě záložní permisivní licenci a zřeknutí se záruk, místo aby spoléhala jen na to věnování. Pro praktické použití: neomezenější to prakticky být nemůže.
„Stáhne to i celý playlist jedním příkazem." Sedí, a je to ještě jednodušší, než se říká — na playlist není potřeba žádný přepínač. Prostě mu dáte URL playlistu a stáhne ho celý. Přepínače existují na to opačné: --no-playlist, když chcete jen to jedno video z odkazu, který ukazuje na obojí.
„Video i se zvukem." Ve výchozím nastavení ano — odpovídá to -f bestvideo*+bestaudio/best. Háček, o kterém se v žádném reelu nemluví: na spojení obrazu a zvuku potřebujete ffmpeg. Bez něj yt-dlp potichu spadne zpátky na jeden předmixovaný stream, což je obvykle horší kvalita. Nikde to nekřičí, prostě dostanete horší soubor.
Režim, který používám nejčastěji: nestahovat video vůbec
Tohle je věc, kterou v těch reelech nikdo neukazuje, a přitom je to pro moje použití ta nejužitečnější.
Když si ukládám poznámky z videa, já to video nepotřebuju. Potřebuju přepis. A ten na YouTube ve většině případů už existuje — buď od autora, nebo automaticky vygenerovaný.
Takže kombinace, kterou spouštím prakticky pořád:
yt-dlp --skip-download --write-sub --write-auto-sub --sub-lang en --sub-format vtt <URL>
--skip-download znamená, že se nestáhne ani bajt videa. Vypadne z toho jen titulkový soubor. Žádné gigabajty, žádné místo na disku, žádný účet za přepis.
Tohle je ten rozdíl, který stojí za zapamatování: pokud posíláte YouTube videa do nějakého speech-to-text, nejdřív se podívejte, jestli titulky nejsou hotové. Ve většině případů jsou. Nula korun, hotové okamžitě a u lidských titulků i přesnější než ASR.
K tomu si beru metadata:
| Přepínač | Co dostanu |
|---|---|
--write-sub | Titulky od autora videa |
--write-auto-sub | Automaticky generované titulky, když ty první nejsou |
--write-info-json | Metadata: název, kanál, délka, datum, počty zhlédnutí |
--skip-download | Nic z média se nestáhne |
Jeden praktický detail, na který jsem narazil: automatické titulky opakují řádky pořád dokola. VTT z YouTube je plný duplicit, protože se každý řádek překresluje. Než to pošlete dál, vyplatí se vyhodit časové značky, <...> tagy a po sobě jdoucí shodné řádky. Bez toho zpracováváte tak třikrát víc textu, než je potřeba.
Kde to praská
Podporovaných webů jsou tisíce a YouTube, TikTok, X i Twitch fungují. Ale ne každý extraktor je na tom stejně a autoři to sami v seznamu píšou.
Nejslabší je Instagram. Hlavní extraktor sice není označený jako rozbitý, ale instagram:user — ten na profily — má u sebe poznámku „(Currently broken)". Instagram má taky zdaleka nejvíc otevřených issues, včetně chybějícího zvuku u reelů s hudbou a opakovaných problémů s cookies a rate limity. V praxi: na Instagram potřebujete cookies z prohlížeče a čas od času to prostě přestane fungovat. Sám na to používám radši gallery-dl, který si s příspěvky, karuselami a reely poradí v jednom průchodu spolehlivěji.
U TikToku jsou označené jako rozbité vedlejší extraktory (tiktok:effect, tiktok:sound, tiktok:tag), hlavní je v pořádku. Extraktor pro X se pořád interně jmenuje twitter.
Obecné pravidlo, které z toho plyne: extraktor je závislost na cizím HTML a může se rozbít kterékoli úterý. Pokud na tom stojí něco, co musí běžet, potřebuje to hlídání a plán na ten týden, kdy to spadne.
youtube-dl versus yt-dlp
Malá poznámka, protože pořád narážím na návody, které radí to první. yt-dlp je fork youtube-dl (přes mezikrok youtube-dlc). Rozdíl v praxi: youtube-dl nevydal novou verzi od prosince 2021, zatímco yt-dlp vydal verzi 2026.07.04 minulý měsíc a commituje se do něj průběžně. Jestli vám návod říká „nainstaluj youtube-dl", je čtyři a půl roku starý.
Právní část, kterou reely vynechávají
Tohle bych přeskakovat nechtěl, protože se to obchází dost systematicky.
Stahování z YouTube je porušení jejich podmínek — s výjimkou funkcí, které k tomu YouTube sám nabízí, jako offline režim v Premium. Není to trestný čin, je to smluvní věc, ale je to reálná podmínka a věta „ten nástroj je legální" ji neřeší. Instagram, TikTok i X mají obdobné zákazy automatizovaného přístupu.
Stojí za to znát i historii. 23. října 2020 poslala RIAA na GitHub takedown podle §1201 DMCA (obcházení technických opatření) proti youtube-dl a GitHub repozitář i s forky během zhruba jednoho dne vypnul. EFF pak GitHubu napsala, proč je ta konstrukce s obcházením špatně, a 16. listopadu 2020 GitHub repozitář vrátil — spolu s fondem na obranu vývojářů a přepracovaným postupem pro §1201. yt-dlp tehdy byl ještě moc mladý na to, aby byl cílem, ale dědí tu samou právní úvahu.
Jak to řeším u sebe, tři pravidla:
- Vlastní obsah, licencovaný obsah, public domain nebo Creative Commons. Pokrývá to naprostou většinu toho, k čemu to reálně potřebuju.
- Cookies z přihlášeného účtu jen na věci, ke kterým mám přístup legitimně — a nikdy na to, abych se dostal k něčemu neveřejnému. Tady vede čára mezi šedou zónou a něčím, co se obhájit nedá.
- Stáhnout něco neznamená získat k tomu práva. Udělat si přepis cizího videa pro vlastní poznámky je něco jiného než ten materiál dál publikovat. Nástroj je neutrální, použití ne.
Proč o tom vůbec píšu
Protože ten reel měl pravdu v jedné věci, i když ne v té, kterou zdůrazňoval: nejužitečnější nástroj v mém workflow s AI je nástroj, ve kterém žádná AI není.
Celá ta chytrá část — shrnutí, poznámky, hledání v nich — funguje jenom tehdy, když je vstup na disku a v textové podobě. A ta nudná část, která ho tam dostane, je pořád stejný program z příkazové řádky, který nikdo nedává na slajdy.
Ověřeno 12. srpna 2026 proti primárním zdrojům: repozitář yt-dlp (počet hvězd přes GitHub API), LICENSE, seznam podporovaných webů, historie vydání, takedown od RIAA, EFF k obnovení repozitáře. Počty hvězd a issues se mění; berte je k datu ověření. Tenhle text není právní poradenství.