Nemrég szerettem volna letölteni egy YouTube-videót, de kiderült, hogy a korábban jól működő „ss” trükk (pl. https://www.ssyoutube.com/watch?...) már nem igazán működik. Próbálkoztam különböző „YouTube Video Downloader” oldalakkal is, de ezek többsége vagy nem támogatja a linket, vagy tele van reklámmal, kockázatos.
Ezután utánanéztem, és kipróbáltam a yt-dlp nevű eszközt. Ez egy parancssoros program, amellyel nemcsak a YouTube-ról, hanem több száz másik weboldalról is lehet videókat és hangokat letölteni – például Facebookról, Twitterről, Redditről stb.
Telepítés – Lépésről lépésre
1. Hozz létre egy mappát, ahová minden fájl kerül.
2. Töltsd le a yt-dlp.exe fájlt a hivatalos GitHub-ról: https://github.com/yt-dlp/yt-dlp
aztán
3. Ugyanebbe a mappába töltsd le az ffmpeg.exe fájlt is https://www.gyan.dev/ffmpeg/builds/ Csak az FFmpeg.exe szükséges (a videó és hang összeillesztéséhez).
Nem fogunk paprncssorral szöszmötölni minden alkalommal ezér .bat fájlt készítünk.
Csináltam kettőt.
Az első fájl automatikusan letölti a legjobb minőségű fájlt, felhasználói interakció nélkül.
@echo off
cd /d %~dp0
set /p url=Drop video link here:
yt-dlp.exe -f "bestvideo+bestaudio" -o "%%(title)s.%%(ext)s" %url%
pause
A második már lehetővé teszi a formátumválasztást, feliratletöltést stb. – tehát haladóbb vezérlést ad.
@echo off
setlocal enabledelayedexpansion
set /p "video_url=Enter video URL: "
echo Choose video quality:
echo 1 - Best quality (regardless of format)
echo 2 - 720p (mp4)
echo 3 - 480p (mp4)
echo 4 - View available formats
set /p "quality_choice=Enter the number of desired quality: "
if "%quality_choice%"=="1" (
set "quality=bestvideo+bestaudio/best"
) else if "%quality_choice%"=="2" (
set "quality=bestvideo[height<=720][ext=mp4]+bestaudio/best[height<=720][ext=mp4]/best[height<=720]"
) else if "%quality_choice%"=="3" (
set "quality=bestvideo[height<=480][ext=mp4]+bestaudio/best[height<=480][ext=mp4]/best[height<=480]"
) else if "%quality_choice%"=="4" (
echo.
echo Available formats:
yt-dlp -F "%video_url%"
echo.
set /p "format_id=Enter format ID or combination (e.g., 137+140): "
echo !format_id! | find "+" >nul
if errorlevel 1 (
echo No "+" found, assuming video-only ID. Adding audio format 140...
set "quality=!format_id!+140"
) else (
set "quality=!format_id!"
)
) else (
echo Invalid quality choice. Best quality will be used by default.
set "quality=bestvideo+bestaudio/best"
)
set /p "subtitles=Download subtitles? (yes/no): "
set "output_dir=Downloads"
if not exist "%output_dir%" mkdir "%output_dir%"
echo.
echo Downloading video with format: %quality%
yt-dlp -o "%output_dir%\%%(title)s.%%(ext)s" -f "%quality%" "%video_url%"
if errorlevel 1 (
echo.
echo [ERROR] Failed to download video. Check format ID or connection.
pause
goto end
)
if /i "%subtitles%"=="yes" (
echo.
echo Downloading subtitles...
yt-dlp --write-auto-sub --sub-lang ru,en -o "%output_dir%\%%(title)s.%%(ext)s" "%video_url%"
)
echo.
echo Completed! Video and subtitles (if selected) are saved in the "%output_dir%" folder.
pause
:end
endlocal
A 4. menüpontban kilistázhatjuk az összes elérhető formátumot, így pontosan kiválaszthatjuk, melyik videó- és hangsávot szeretnénk. Nem minden formátumhoz tartozik alapból hang, de az ffmpeg.exe
segít automatikusan hozzárendelni azt.
------
Összegzés:
Ez a módszer megbízható, gyors, és nincs tele reklámmal vagy korlátozással. Akinek van kedve, próbálja ki – pár perc alatt beállítható, és utána egy profi offline letöltő rendszered lesz.
p,s. még egy BAT-ot csinálhattok ugyan abban a mappában. Itt most lehetlessz a hangot is külön menteni ha:
* A megadott URL valóban elérhető és nem DRM-védett (pl. YouTube, SoundCloud, stb.).
* A formátumot jól választod ki (pl. teljes hosszban elérhető formátum).
* A podkaszt nincs valamilyen geo-blokkolással vagy korlátozással védve.
@echo off
setlocal
:: Запрос ссылки
set /p "video_url=Enter video URL: "
:: Выбор: видео или аудио
echo.
echo Download as:
echo 1 - Video
echo 2 - Audio only (MP3)
set /p "media_type=Enter your choice: "
:: Показ доступных форматов
echo.
echo Available formats:
yt-dlp -F "%video_url%"
echo.
:: Запрос формата
set /p "format_id=Enter format ID or combination (e.g., 137+140 or 140): "
:: Если видео ID без плюса — добавляем +140
if "%media_type%"=="1" (
echo %format_id% | find "+" >nul
if errorlevel 1 (
echo No "+" found, assuming video-only ID. Adding audio format 140...
set "format_id=%format_id%+140"
)
)
:: Папка для сохранения
set "output_dir=Downloads"
if not exist "%output_dir%" mkdir "%output_dir%"
:: Команда скачивания
if "%media_type%"=="2" (
echo.
echo Downloading audio...
yt-dlp -f "%format_id%" -x --audio-format mp3 -o "%output_dir%\%%(title)s.%%(ext)s" "%video_url%"
) else (
echo.
echo Downloading video with format: %format_id%
yt-dlp -f "%format_id%" -o "%output_dir%\%%(title)s.%%(ext)s" "%video_url%"
)
echo.
echo Done! Files saved in "%output_dir%".
pause
endlocal
p.s. remélem fog működni minden