YT-DLP - praktické príklady
Zdravím priatelia, navlečme si ďaľšiu korálku.
Tentokrát, o konzolovom nástroji na sťahovanie audia/videa YT-DLP. Čo to je, kde sa to vzalo, ..., sa dočítate v množstve článkov a hlavne na oficiálnej stránke projektu.
Na inštaláciu yt-dlp je viac návodov, napr. na stránke projektu. Ja tu uprednostňujem inštaláciu cez pip:
python3 -m pip install -U "yt-dlp[default]"
A k svojej funkčnosti potrebuje ešte ffmpeg
*********************
K zbierke návodov na využitie tohoto nástroja, ktoré sú na internete, pridám svoje, nech sa spoločné povedomie rozrastá :)
Už názov nástroja napovedá, že je primárne vytvorený na sťahovanie z YT ale perfektne zvláda množstvo iných zdrojov. Priamo na YT chodím výnimočne, uprednostňujem aplikáciu FreeTube, ktorá mi dovoľuje sledovať rôznych poskytovateľov bez toho, aby som musel mať niekde, nejaký účet. Sťahujem si prednášky, správy, vzdelávacie programy, ..., jasne, sem tam nejaký film, či hudbu, čo stojí za to, mať to na hdd.
Niekoľko príkladov použitia yt-dlp z mojej praxe:
1) Základný postup
- kliknite na video pravým a skopírujte odkaz (link) a do "terminálu" zadajte:
yt-dlp odkaz (enter)
- Toto stiahne video do adresára, kde máte otvorený terminál v predvolenom formáte, či už to bude webm alebo mp4 a s predvoleným názvom.
*********************
2) Stiahnutie v inom, ako predvolenom formáte
- najprv sa teda pozrime, aké sú pri tomto konkrétnom videu možnosti, a to tak, že do zápisu dopíšeme -F (pomĺčka a veľké F)
yt-dlp -F odkaz
- V zozname vidíte dostupné možnosti, formát/y (video so zvukom, len video, len audio), veľkosť toho-ktorého a hlavne v prvom stĺpci číslo. Ak si zvolíte formát, jeho číslo, napr.: 241 dopíšte do príkazu v termináli vo formáte:
yt-dlp -f 241 odkaz (enter)
- tu je prepínač -f (pomĺčka a malé f)
*********************
3) Vytvorenie zoznamov na sťahovanie a ich stiahnutie
Ak chcete stiahnuť nejakú tému od viacerých poskytovateľov,
- vytvorte si adresár s výstižným názvom,
- tu si vytvorte obyčajný textový dokument napr.: tahaj.txt alebo len tahaj (bez koncovky)
- a do neho nakopírujte odkazy na požadované videá, každý odkaz na samostatný riadok. Nezabudnite dokument potom uložiť!
- Do príkazu pridajte prepínač -a (načítaj zoznam) a "upriamte jeho pozotnosť" na tento váš zoznam.
yt-dlp -a tahaj
- Teraz budú stiahnuté videá v predvolenom formáte podľa zoznamu do adresára, v ktorom stojí terminál. Tu musí byť samozrejme aj súbor tahaj, inak zadajte k nemu cestu:
yt-dlp -a /cesta/tahaj
- Môže sa stať, že niektorý súbor tam už máte stiahnutý, že niektorý odkaz je nefunkčný alebo sa preruší sťahovanie, ... Aby aplikácia pokračovala bez prerušenia, dopíšte do príkazu prepínač -wci. Bude to vyzerať takto:
yt-dlp -a tahaj -wci
- Prepínače je možné kombinovať. Ich zoznam si dohľadajte v dokumentácii alebo cez "man".
*********************
4) Vytvorenie "aliasu"
Ak chcete sťahovať častejšie, oplatí sa vytvoriť si alias, ja ich mám niekoľko. Všimnite si, že na konci príkazov (pred ukončovacou úvodzovkou) je medzera, to vraví príkazu, že tam má niečo očakávať, a pre vás to znamená, že tam máte niečo dopísať!
4a) alias x="yt-dlp -x -wci -a "
- stiahne všetky videá podľa zoznamu (-a)
a extrahuje z nich predvolený formát audia (-x), napr. webm - do terminálu zadajte:
x tahaj
4b) alias 3="yt-dlp -f mp3 -wci -a "
- stiahne všetky videá podľa zoznamu (-a)
a extrahuje z nich audio vo formáte mp3 (-f mp3) - do terminálu zadajte:
3 tahaj
4c) alias 31="yt-dlp -f mp3 -wci "
- stiahne len jedno konkrétne video
a extrahuje z neho audio vo formáte mp3 - do terminálu zadajte:
31 odkaz
4d) alias 4="yt-dlp -f m4a -wci -a "
- stiahne všetky videá podľa zoznamu
a extrahuje z nich audio vo formáte m4a - do terminálu zadajte:
4 tahaj
4e) alias 41="yt-dlp -f m4a -wci "
- stiahne len jedno konkrétne video
a extrahuje z neho audio vo formáte m4a - do terminálu zadajte:
41 odkaz
*********************
A ešte jedna drobnosť, názov výstupného súboru.
Ak chcem pomenovať sťahovaný súbor už pri sťahovaní (aby som ho potom ľahšie identifikoval), nie je vhodné použiť samostatný prepínač -o !!! Návod na stránke projektu je síce dostatočne podrobný ale .... :) Na toto som si za pomoci AI vytvoril alias:
4f) alias 42='bash -c "\ FILE_NAME=\$(zenity --entry --title=\"Zadaj názov súboru\" --text=\"Prosím, zadaj názov výstupného súboru:\"); \ if [[ -n \"\$FILE_NAME\" ]]; then \ yt-dlp -f m4a -wci -o \"\$FILE_NAME.%(ext)s\" \"\$@\"; \ else \ echo \"Názov súboru nebol zadaný, proces zrušený.\"; \ fi" --'
- stiahne len jedno konkrétne video
a extrahuje z neho audio vo formáte m4a - cez Zenity sa opýta na požadovaný názov výstupného súboru a zachová aj koncovku (v tomto prípade m4a)
- do terminálu zadajte:
42 odkaz
*********************
#nakoniec som sa rozhodol, že nedám obrázky, kto má záujem, otvorí si terminál, nájde si nejaké video a bude to skúšať zároveň s čítaním tohoto blogu :)
Pre pridávanie komentárov sa musíte prihlásiť.
Ďakujem za užitočný návod. Určite sa niekedy hecnem ho aj vyskúšať. Ja som videa nezvykol sťahovať, iba si ich púšťam rovno z netu. Aj keď pripúšťam, že niekedy može byť užitočné ich mať lokálne.
tak v podstate, toto je hlavne o sťahovaní m4a a mp3, teda audia, ktoré si viem potom vypočuť, mnohé prednášky nie je bezpodmienečne potrebné vidieť
áno, s tými filmami som na tom podobne
Tak to prr. Filmy som si zvykol sťahovať aj ja. Hovorím o viedách, tie som nezvykol sťahovať. Myslím také tie náučné, smiešne, vysvetľujúce a pod.
V minulosti som už skúšal nejaký konzolový downloader a presne obdobným spôsobom, skôr som zistil parametrom príkazu v akom rozlíšení videá sú k dispozícii a následne stiahnuť konkrétny súbor. Mám rád takéto návody :-) Ale väčšinou používam v prehliadačoch Video DownloadHelper s vdhcoapp, aj keď je limitovaný bez premium konta.
VideoDownloadHelper - áno, ten je fajn na stránkach, kde nie je jednoduché skopírovať url, typickým prípadom je stvr, mnou platená inštitúcia, kde si neviem stiahnuť nič !!! (na porazenie, ale to je na samostatnú tému)
yt-dlp je skutočná špička. Ja to používam i na sťahovanie playlistov, pričom si to pamätá, čo už má stiahnuté, vie dať tomu názvy a číslovanie a pod.
yt-dlp --download-archive already_downloaded.txt --ignore-errors --extract-audio --audio-format mp3 --output "%(playlist_index)02d-%(title)s.%(ext)s" <link_na_playlist>
Dobrý je aj sťahovač jDownloader
Kedysi bol fajn aj FreeRapid Downloader, aj keď netuším ako spolupracuje s rôznymi pluginmi dnes.