Az interneten található videók letöltése és offline elérhetővé tétele egyre népszerűbbé válik. Ehhez jól használható a yt-dlp Rengeteg online platform létezik, amely lehetővé teszi a felhasználók számára, hogy kedvenc videóikat letöltésre és offline megnézésre mentse. Az egyik legnépszerűbb ilyen platform a YouTube. Azonban a YouTube nem kínál beépített lehetőséget a videók letöltésére, és ezért olyan eszközökre van szükségünk, mint a yt-dlp. A yt-dlp egy parancssoros alapú YouTube letöltő, amely lehetővé teszi a videók letöltését a YouTube-ról vagy más hasonló platformokról. Ez egy nyílt forráskódú projekt, amelyet a közösség fejleszt, és számos extra lehetőséget kínál a felhasználók számára.
Azt mindenképp tudni kell, hogy a Youtube nem támogatja, sőt egyenesen tiltja a letöltéseket. Ezért ha valami holnap már nem, vagy nem úgy működik, ahogy leírtam, akkor frissítsd a programot és olvass utána, hogy mi változott meg! Amit leírok, az most (2025 június), Linux Mint és letöltött, futtatható állomány mellett ki lett próbálva.
Az egyik legnagyobb előnye a yt-dlp-nek az a képessége, hogy támogatja a különböző formátumokat és kódolókat. Ez azt jelenti, hogy a felhasználók kiválaszthatják a letöltött videók minőségét és formátumát, beleértve az mp4, mkv, avi stb. fájlokat. Emellett a yt-dlp számos kódolót támogat, beleértve az opus, a vorbis, az aac stb. audio kódolókat. Ez a sokoldalúság lehetővé teszi, hogy a felhasználók személyre szabják a letöltött videók minőségét és formátumát az egyéni igényeik szerint.
A 'yt-dlp' rendelkezik továbbá kiterjesztett funkciókkal és beállításokkal. Például a felhasználók kiválaszthatják a letöltési sebességet, a feliratokat, a letöltési metainformációkat stb. A yt-dlp lehetővé teszi a felhasználók számára, hogy pontosan beállítsák a letöltési beállításokat a saját preferenciáik szerint. Ezt megtehetik akár a konfigurációs állományban, akár pedig parancssorban. Én - mivel elég sokféle elvárásoknak teszek eleget - elsősorban a parancssori megoldást preferálom. Bár léteznek grafikus programok is, azokat érdemes hanyagolni, mert a gyors Youtube védelem változások miatt sokszor nem működnek.
Telepítés, függőségek
A yt-dlp-t könnyű telepíteni és használni Linux rendszereken. Először is, telepítenie kell a yt-dlp-t a rendszerére.
Nem jelenthet ez senkinek sem gondot, mert a honlapjukon jó a leírás: https://github.com/yt-dlp/yt-dlp
Tipp: használj előre lefordított, kész programot és nem a rendszered csomagkezelőjében lévőt. Egyes disztribúciók nagyon lassan frissítenek, így ha valami változás van, azt csak lassan kapod meg. Itt ez a lassúság azt is jelentheti, hogy egy ideig nem fogsz tudni letölteni...
# Bináris telepítés sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp
Amit mindenképp érdemes megtenni: a konvertálásokhoz az ffmpeg kell, ami jellemzően telepítve van, de ellenőrizd le, hogy valóban így van...
A yt-dlp alap használata
És már készen is állunk a videók letöltésére. Használjuk a következő parancsot a letöltendő videó URL címével:
yt-dlp videó_URL
Például, ha a letölteni kívánt videó URL-je https://www.youtube.com/watch?v=Pq5YjnjQLso, akkor a parancs a következőképpen néz ki:
yt-dlp https://www.youtube.com/watch?v=Pq5YjnjQLso
A yt-dlp letölti a videót és megjeleníti a letöltési folyamatot a terminálban. Az alapértelmezett formátumban és minőségben fogja letölteni a videót.
A videó URL-jét kétféleképp szerezheted be. Az egyik a böngészőben a videóra kattintva és valami olyan kell, hogy: Videó URL másolása. A mások pedig a böngészőben a a cím megadására szolgáló sorban kijelölöd a címet és kimásolod.
Tipp: Mindig használd az időkód nélküli megoldást. Amikor egy videóba beletekersz, akkor a címe megváltozik. Az helyes cím: https://www.youtube.com/watch?v=Pq5YjnjQLso. Az időkódot is tartalmazó https://www.youtube.com/watch?v=Pq5YjnjQLso&t=121s. Az elsőt használd!
További beállítások: A yt-dlp számos további beállítást és opciót kínál a letöltések testreszabásához. Például a letöltés minőségének vagy formátumának módosítása, a feliratok letöltése, a letöltési mappa megadása stb.
Az első, amit érdemes megtudni, hogy milyen formátumokban van meg a videó, azaz mi az amit elérhetünk.
yt-dlp -F videó_URL
Letöltés minőségének megadása
yt-dlp -f videó_URL
Például, ha a 720p minőséget szeretnénk letölteni, a parancs a következőképpen néz ki:
yt-dlp -f 'bestvideo[height<=720]+bestaudio/best[height<=720]' https://youtu.be/Pq5YjnjQLso
Magyarázat:
- -f: formátum megadása
- Ez 720p alatti videót és legjobb audiót választja
Bár általában a legjobbat szeretnénk, de van lehetőség a korlátok megadására is:
# Maximális 720p felbontás yt-dlp -f 'bv*[height<=720]+ba' videó_URL # Fájlméret korlátozása yt-dlp -f "bestvideo[filesize<400M]+bestaudio[filesize<400M]" videó_URL
Egyszeri nézésre, vagy feleslegesen felskálázott videóknál stb. hasznos lehet a korlátok megadása.
Letöltés formátum megadása:
Itt is érdemes a leírást olvasgatni és azután finomítani a kapcsolókat.
Konkrét formátum kiválasztása:
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]" videó_URL
Egyedi nevek és letöltési hely megadása
Alapesetben a videó címe és a "kódja" azaz a per jel utáni azonosítót adja meg fájlnévnek. Én ezt használom, de megadhatsz egy komplettebb fájlnevet is.
yt-dlp -o "%(title)s.%(ext)s" formátumkód
Letöltési mappa megadása:
yt-dlp -o '/elérési/út/a/letöltési/mappához'
Ha nincs megadva, akkor a parancs futtatásának könyvtárába kerülnek a letöltések. Ha nincs megadva, akkor a parancs futtatásának könyvtárába kerülnek a letöltések.
Egy példa, ahol nem csak a fájl nevét adjuk meg, hanem a letöltési utat is.
-o "~/Videos/%(playlist_title)s/%(upload_date)s - %(title)s.%(ext)s"
Tipp: ha nem muszáj - azaz én sohasem - adom meg a nevet ilyen formátumban. Utólag, manuálisan nevezem át az állományokat.
Használj egy letöltési könyvtárat, abban indítsd el a parancsot, oda jön le az összes állomány és manuálisan másold át oda, ahova akarod.
Ha mégis ilyen mód szeretnéd előre megadni a fájl neveket, akkor a leírásban minden segítséget megtalálsz!
Feliratok letöltése
yt-dlp --write-sub videó_URL
Ez a parancs letölti a videóhoz tartozó feliratokat is. Ha vannak. Ez nem generál le egy automata feliratot, csak akkor tudja leszedni, ha külön feltöltött a csatorna tulaja egyet.
Az automatikusan generált, jellemzően (gépi) angol felirattal a
yt-dlp --write-auto-subs --sub-lang en videó_URL
Paranccsal lehet leszedni.
Ha tudjuk, hogy több nyelven is van felírat, akkor ezt is megadhatjuk, hogy melyik nyelv kell.
yt-dlp --write-subs --sub-langs "en,hu" videó_URL
Kevésbé hasznos, de érdekes funkció a felírat beégetése a videóba.
yt-dlp --write-subs --sub-lang hu,en --embed-subs videó_URL
Tipp: az ilyen összetett feladatot érdemes két lépésben megtenni. Előbb a letöltéseket elvégezni, majd külön programmal a következő műveletet. Lassabb, de van lehetőség a javításra, korrekcióra.
Ami tapasztalat: sokan önreklám, vagy hasonló okok miatt raknak be feliratot a videóhoz, így letöltés előtt a feliratot nézzük meg, ne használjuk ellenőrzés nélkül ezt a funkciót.
Teljes csatorna, illetve playlist letöltés
A működése pontosan ugyanaz, mint egyes videók megadásánál. A csatorna linkjét a csatorna fő oldalán találod meg, a lejátszási listáét, akkor kapod meg, ha kiválasztod (rákattintasz) a lejátszási listára.
#Csatorna: https://www.youtube.com/@MagyarLinuxVideok #Playlist https://www.youtube.com/watch?v=9Z4zlQa2Y80&list=PLtUmBa5JW2b3yXBbf3L_unFBqDzSrb1Bu
Többször találkoztam azzal a sirámmal, hogy vacak a yt.dlp mert mindent leszed, vagy egy csomó mindet leszed és nem azt, amit akarok, vagy éppen azt, hogy csak egyet szed le... Az összesnél a hiba egy "user error" volt, mert nem jól adta meg a linket.
Haladó yt-dlp használat
Egy idő után az alapok már nagyon kevésnek tűnnek, és jobban szeretnénk kihasználni a nem kevés opciót. Párat veszünk csak át, mert a leírásban minden kapcsoló jól dokumentált.
Csoportos letöltés
A yt-dlp lehetőséget biztosít a csoportos letöltésre is, amely lehetővé teszi több videó letöltését egyszerre.
Hozzunk létre egy szövegfájlt (például videok.txt), amely tartalmazza a letölteni kívánt videók URL-jeit. Minden URL-t külön sorba írjunk.Nyissunk meg egy terminált és adjuk ki a következő parancsot:
yt-dlp -a videok.txt
A -a kapcsoló jelzi a yt-dlp-nek, hogy használja a szövegfájlt az URL-ek listájával a letöltéshez.
A yt-dlp elkezdi a videók letöltését a fájlban felsorolt URL-ek alapján. A letöltési folyamatot és az egyes videók előrehaladását a terminálban fogja megjeleníteni. A csoportos letöltés lehetőséget nyújt arra, hogy egyszerre több videót töltsünk le, ezáltal időt és munkát takarítva meg. Győződjünk meg arról, hogy a videok.txt fájl helyesen formázott, és minden URL külön sorban van. Bár elvileg a leírás több elválasztási módot is bemutat, de érdemes az egy sor egy link megoldást használni. Kisebb a hibalehetőség!
Ha nagyon összetett a a parancssor, sok kapcsolót használsz, akkor egy szkriptbe is megadhatod a kapcsolókat.
Egy random példa:
#!/bin/bash while read -r url; do yt-dlp -f 'bv*[height<=1080]+ba' \ -o '%(uploader)s/%(title)s.%(ext)s' \ --write-description \ --write-thumbnail \ "$url" done < videok.txt
Folytatólagos letöltés
Archívum funkció (már letöltött videók kihagyása). Sok esetben egy csatorna, lejátszólista bővül, azaz a tulaj tölt fel még bele. Ilyenkor a sima csatorna letöltési parancs újra leszedné a régieket is. Érdemes - ha tudjuk, hogy lesz ilyen - már az elején a historikus módot használni.
yt-dlp_linux --download-archive ./kesz.txt https://www.youtube.com/@MagyarLinuxVideok
Azaz az első futáskor leszedi az összes videót a csatornámról, majd amikor újra futtatom csak az újakat. Logikus, hogy ugyanebben a könyvtárban futtatva fogja felismerni az archív funkciót biztosító ./kesz.txt állományt és azt nem szabad törölni.
Érdemes kombinálni az -a kapcsolóval.
yt-dlp_linux -a ./lista.txt -ciw -f bestaudio -x --audio-format mp3 --audio-quality 128K --download-archive ./kesz.txt
Ez a lista.txt felsorolt csatornákat lejátszási listákat nézi végig és csak azt szedi le, ami új.
Élő adások automatikus újratöltése:
yt-dlp --live-from-start --wait-for-video 600 videó_URL # 10 percenként ellenőriz
Hasznos szelektív letöltés
Az alábbi pár parancs nem kíván az egy mondatos kommentnél többet, de annál hasznosabb tud lenni:
Csak az utolsó 5 videó egy csatornából:
yt-dlp --playlist-end 5 "CHANNEL_URL"
Videó részlet letöltése:
yt-dlp --download-sections "120-180" videó_URL # 2-3. perc között yt-dlp --download-sections "*00:02:00-00:02:00" videó_URL # másik formátumban
Egy listából csak a megadott videót szedi le.
yt-dlp --yes-playlist --playlist-items 1,3-5,10 PlayList URL # 1., 3-5., 10. elem
Gyorsítás, hibakeresés stb.
4 párhuzamos kapcsolat használata :
yt-dlp -N 4 CHANNEL_URL
Nem emeld fel túl nagyra, mert bár a program simán bármennyit tudna kezelni, a youtube oldalán leállíthatják a letöltést.
Megszakadt letöltési sor folytatása:
yt-dlp --continue --no-overwrites CHANNEL_URL
Lemezterület ellenőrzés letöltés előtt:
yt-dlp --simulate --print "%(filesize)s" videó_URL
Bár a mostani lemez méreteknél nem egy létszükséglet.
Memóriahasználat csökkentése:
yt-dlp --no-part --no-mtime
Sávszélesség korlátozása, ha másra is kell a sávszélesség:
yt-dlp --limit-rate 1M videó_URL
CPU optimalizálás hosszú playlist-eknél:
yt-dlp --lazy-playlist --flat-playlist videó_playlist
Letöltés naplózás, logok stb.:
yt-dlp -v --write-info-json --write-annotations --write-thumbnail videó_URL
Ez ment:
- részletes logot a konzolra
- videóhoz metaadatokat (.info.json)
- YouTube annotációkat (ha vannak)
- videó indexképet
Korlátok, és egyéb kötözködések leküzdése
A Youtube pár korlátot vezetett be, az egyik a korhatárhoz kötött videónézés. A másik a privát, csatornatagsághoz kötött stb. korlátozás.
Itt előbb be kell lépni a saját fiókodba, amiben felnőttként vagy regisztrálva, illetve amivel tag vagy az adott csatornán.
yt-dlp --cookies-from-browser firefox videó_URL
Ezzel átveszi a sütiket (cookies) a böngésződből, így be tud jelentkezni fiókodba, ha kell (pl. korhatáros vagy privát videónál).
Ha a fenti megoldás nem működik, akkor a ki kell nyerni a böngészőből a cookie-kat, amit a böngésző leírásában megtalálsz. Általában egy plug-in telepítése után már egyszerű a dolog.
yt-dlp --cookies cookies.txt videó_URL
A videókba bekerülő SponsorBlock integráció kiszedés:
yt-dlp --sponsorblock-remove sponsor videó_URL
Pár esetben hasznos lehet az alábbi két "álcázás":
# Másik client használata yt-dlp --extractor-args "youtube:player_client=web_creator" videó_URL # User-Agent módosítás yt-dlp --user-agent "Mozilla/5.0 (compatible; bot)" videó_URL
Általános diagnosztika, verbose kimenet hibakereséshez:
yt-dlp -v videó_URL
Hasznos megoldások, tippek
Sok "album" kerül fel a Youtube-ra, aminél a dalok, számok, vagy videó fejezetek, részekhez a leírásban megadott linkekkel lehet ugratni. Ezeket érdemes lehet számokra, fejezetekre bontva letölteni és nem egy nagy egyvelegként.
yt-dlp --split-chapters videó_URL
A yt-dlp szétvágja a megadott pontokban a letöltött anyagot. Letöltés után érdemes mindegyikbe belehallgatni, mert sokszor a számok eleje nem pontosan van megadva.
Hasznos lehet a yt-dlp használata más programokkal. Ilyen lehet egy letöltött állomány utólagos feldolgozása. Bár viszonylag jól szabályozhatjuk a letöltési elvárásainkat, de az ffmpag sokkal többet tud.
yt-dlp --exec 'ffmpeg -i {} -c:v libx265 -crf 28 {}.mkv && rm {}' videó_URL
Tömörítés H.265-be és törli eredeti fájlt.
Konfigurációs megoldások
A két alap megoldásra nem térnék ki, az egyiknél minden esetben a parancssorba megadjuk az összes kapcsolót, a másik, hogy írunk egy szkriptet, amiben minden parancsot megadunk. Ez alap és a legtöbb esetben jó lesz.
Ha mindig ugyanazt a beállítást használjuk, illetve sok a kapcsoló, akkor érdemes egy konfigurációs állományt összerakni. A leírásokban elék jól kifejtik a szerkezetet, így akinek kell el tudja készíteni.
Plugin támogatás, JSON konfiguráció
Hozd létre a ~/.config/yt-dlp/config.json fájlt:
{ "format": "bv+ba/b", "outtmpl": "~/Videos/%(title)s.%(ext)s", "quiet": false, "postprocessors": [ { "key": "FFmpegExtractAudio", "preferredcodec": "mp3", "preferredquality": "192" } ] }
Ezzel nem kell minden indításkor beírni az opciókat.
De használhatsz sima szöveget is. Hozz létre egy konfigurációs fájlt a ~/.config/yt-dlp/config helyen:
# Alapértelmezett beállítások -o ~/Downloads/%(uploader)s/%(title)s.%(ext)s -f bestvideo+bestaudio/best --write-description --write-info-json --write-thumbnail --embed-subs --sub-langs en,hu
Tipp: a mesterséges intelligencia elég jó konfig állományt le tud generálni, ha megadod a paramétereket!
A leírásában több tucatnyi kapcsoló, lehetőség található, így azokat mindenképp nézzük át!
Hozzászólások
A facebookon ajánlották,
Beküldte balacy -
Értékelés:
mint grafikus megoldást:
https://github.com/mhogomchungu/media-downloader
Én meg itt ajánlom
Beküldte T.István -
Értékelés:
Szoftverkezelőböl telepít, örül.... :-)