A szándékosan kisbetűs youtube-dl a felhasználók számára nem túl sokat jelent, pedig a - már itt is tárgyalt - Pontes Media Downloader mellett számos más - főleg asztali - youTube-letöltő alapja.
A könnyed, jól paraméterezhető parancssori eszköz segítségével a youTube mellett számos más oldalról tölthetünk le tartalmat (audió és/vagy videó). A támogatott oldalak folyamatosan frissülő hivatalos listája itt érhető el.
A multiplatformos eszközt Windows-on fogom bemutatni, de Linuxdisztrókra sem nagy kihívás telepíteni, révén alapja a Python. Annak is a 2.7-es, vagy a 3.2-nél újabb verzióit preferálja.
Beszerzés
A hivatalos oldal az yt-dl.org, innen tölthető le a mindenkorri legfrissebb youtube-dl.exe.
Linux-ra érdemes a Python csomagkezelőjével felrakni (pip), mert az APT csomagkezelőben - leginkább Debian esetében - elég régi verzió található. A korábban linkelt oldalról is letölthető Linux-disztrókra a legfrissebb variáns.
Letöltés után a kapott egyetlen futtatható bináris használható. Mivel a legtöbben MP3-ba szeretnek letölteni, ezért az FFmpeg nevű, igen sokoldalú audió- és videókonverziós programra is szükségünk lesz.
Az FFmpeg hivatalos oldalán csak a forráskódok vannak közzétéve, de Zeranoe jóvoltából nem kell magunknak fordítani Windows-ra, az ffmpeg.exe letölthető innen.
Direkt linkelni a verzióváltozások miatt nem tudok. Az oldalon az első gombmenüvel válasszuk ki a nekünk tetsző platformot, utána a következőt hagyjuk static-on, végül töltsük le a download build-ra kattintva.
A letöltött ZIP archívum bin mappájában lévő ffmpeg.exe-t másoljuk egy mappába az youtube-dl-lel, mert it fogunk dolgozni a parancssorral.
Használat
Első lépésben nyissunk egy parancssort, majd cd-vel lépjünk abba a mappába, ahova beraktuk a két binárist. Nekem ez a Documents mappám youtube-dl mappája, szóval a cd Documents majd cd youtube-dl parancsokkal tudok belelépni. Ha másik meghajtón van a mappa, akkor először be kell írni a meghajtó betűjelét majd egy kettőspontot a váltáshoz (például D:), majd utána cd-vel belépni a megfelelő mappába.
Az FFmpeg és az youtube-dl is kiterjedt és részletes dokumentációval rendelkezik, akit érdekel, az ffmpeg -h és az youtube-dl -h parancsokkal tudja ezt megnézni.
Az alábbiakban néhány példán keresztül mutatom meg, hogyan lehet egy MP3-at, videót vagy hosszabb lejátszási listát letölteni. A <url> helyére kell mindig rakni az odavaló linket, a kisebb és nagyobb jelek kitörlésével. A kész parancsot pedig a CMD-be kell másolni. A támogatott Windows verziókban a sima CTRL+v-vel lehet beilleszteni a parancssorba. Eztán enter, és végre is hajtja.
Egyetlen videó letöltése MP3-ba
youtube-dl -q --no-playlist --console-title --extract-audio --audio-format "mp3" --audio-quality 320K --ffmpeg-location "ffmpeg.exe" --output "%(title)s.%(ext)s" <url>
a parancs a youtube-dl mappájába tölti le a megadott videót 320 Kbps-os MP3-ban. Ha 192 Kbps-t szeretnénk:
youtube-dl -q --no-playlist --console-title --extract-audio --audio-format "mp3" --audio-quality 192K --ffmpeg-location "ffmpeg.exe" --output "%(title)s.%(ext)s" <url>
A letöltéshez több parancssori paramétert is megadtam. A letöltés csendes (tehát csak visszajön a prompt ha kész), illetve az ablak címe mindig a letöltés állapota. Emellett az ffmpeg.exe-t az youtube-dl.exe mappájában keresi, és MP3-at csinál a letöltött állományból majd az eredeti videót törli.
Az URL előtt pedig megadtam neki, hogy <fájlnév>.<kiterjesztés> formában töltsön le. Ez azért fontos, és azért nem lehet simán .mp3, mert először videót tölt le, konvertálja, majd a videót törli.
Egyetlen videó
youtube-dl -q --console-title --audio-quality 0 --recode-video mkv --ffmpeg-location "ffmpeg.exe" --output "%(title)s.%(ext)s" <url>
MKV-ba lehet letölteni a videót. Ha a feliratok maradjanak rajta, ez a parancs kell:
youtube-dl -q --console-title --audio-quality 0 --recode-video mkv --embed-subs --ffmpeg-location "ffmpeg.exe" --output "%(title)s.%(ext)s" <url>
Lejátszási lista
Az egészben ez a legizgalmasabb, és erre nem képesek igazán a letöltők. Lejátszási lista leszedésére. Először kapjunk le egy teljes listát MP3-ban:
youtube-dl --yes-playlist -i -q --console-title --print-traffic --extract-audio --audio-format "mp3" --audio-quality 320K --ffmpeg-location "ffmpeg.exe" --output "%(playlist_title)s/%(title)s.%(ext)s" <url>
Csak az URL-t kell megadni, és már szedi is. A lejátszási lista címének megfelelő mappába fogja berakni az MP3-akat.
Ami viszont a pláne, hogy egy nagyobb listából megadhatóak az indexek, tehát, hogy mire van szükségünk. Az YouTube ugyanis minden lejátszási listában számozza a videókat, így igen egyszerű vállogatni. A példában egy lista 1. 2., 3. videóját, és a 6-tól 10-ig terjedő tartományát szedjük le:
youtube-dl --playlist-items 1,2,3,6-10 --yes-playlist -i -q --console-title --print-traffic --extract-audio --audio-format "mp3" --audio-quality 320K --ffmpeg-location "ffmpeg.exe" --output "%(playlist_title)s/%(title)s.%(ext)s" <url>
Ahogy látható, a vesszővel felsorolni lehet az elemeket, míg a kötőjellel egy tól-ig tartományt adunk meg. Ezeket kombinálni is lehet, tehát ha két vessző közt egy szám van az tulajdonképp egy olyan tartomány, ahol a kiindulási és befejező pont is ugyanaz, épp ezért lehet megadni bárhol akár 1-2 formában is a tartományt, hogy az 1. és 2. elemet töltse. A tartományt mindig a határokkal együtt kell megadni.
Pár praktikus okosság, végszó
Igen fontos az youtube-dl -U ismerete. Ezt a parancsot kiadva lehet frissíteni a letöltőt. Ezt célszerű gyakran megtenni, mert egy új verzió sokszor orvosolja a letöltési problémákat. Így tehát ha nem jön a videó ez legyen az első a hibaelhárítási lépések sorában.
A program közösségi fejlesztés, szóval nincs hozzá fizetős szintű support, de általában nincs is probléma. A parancsokat igény szerint lehet formázni a súgó alapján, de sok dologra van a Stackoverflow-on leírás, mert a kezdeti ötletek nagy része már másokban is felmerült. Elsőre úgy tűnhet, hogy ez képes leváltani egy Pontes Media Downloadert, de jóval nagyobb hozzáértés szükségeltetik a használatához, így tehát csak az vágjon bele, akit egy kis parancssor nem riaszt el.
sok sikert mindenkinek!