Podstawowe pobieranie
Bez żadnych opcji yt-dlp wybiera najlepsze połączenie, jakie potrafi scalić, i nazywa plik według tytułu. Zaskakująco często to jest właśnie właściwe polecenie.
yt-dlp URL
Zanim pobierzesz coś dużego, warto zobaczyć, co faktycznie jest w ofercie. To wypisuje tabelę formatów i kończy działanie, niczego nie pobierając.
yt-dlp -F URL
Lewa kolumna tej tabeli to id formatu, o który możesz potem poprosić wprost. Dwa id połączone znakiem + znaczą „pobierz oba i scal je”.
yt-dlp -f 137+140 URL
Jakość i wybór formatu
Wpisane na sztywno id formatów psują się w chwili, gdy serwis zmienia swoją drabinkę kodowania. Wyrażenie selektora to wersja trwała: podaj właściwości, których chcesz, i pozwól yt-dlp znaleźć najlepsze dopasowanie.
yt-dlp -f "bv*[height<=1080]+ba/b[height<=1080]" URL
Czytaj to tak: najlepszy strumień wideo o wysokości nie większej niż 1080 plus najlepszy dźwięk, a jeśli takiej pary nie ma — najlepszy pojedynczy plik o wysokości nie większej niż 1080. To właśnie ten wariant zapasowy po ukośniku sprawia, że polecenie nie kończy się błędem w serwisach publikujących wyłącznie strumienie progresywne.
Scalenie dwóch strumieni daje kontener, który yt-dlp musi wybrać. MP4 odtwarza się wszędzie; MKV przyjmie wszystko, co mu dasz, a to zaczyna się liczyć, gdy w grę wchodzą napisy i rozdziały.
yt-dlp -f "bv*+ba" --merge-output-format mp4 URL
Żeby wyrazić preferencję zamiast twardego ograniczenia, sortuj zamiast filtrować. Tak wolisz 1080p i MP4, ale wciąż coś pobierzesz, kiedy nie ma żadnego z nich.
yt-dlp -S "res:1080,ext:mp4" URL
Dźwięk i MP3
Wyodrębnienie dźwięku wymaga ffmpeg — to zdecydowanie najczęstszy powód, dla którego poniższe polecenie zawodzi na świeżej instalacji.
yt-dlp -x --audio-format mp3 URL
Dodanie okładki i znaczników kosztuje dwie kolejne flagi i sprawia, że wynik nadaje się do biblioteki muzycznej zamiast być katalogiem bezimiennych plików.
yt-dlp -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata URL
--audio-quality 0 oznacza zmienną przepływność na najlepszym ustawieniu, a nie „jakość zero”. Jeśli potrzebujesz stałej przepływności, podaj ją: --audio-quality 320K.
Gdy źródło jest już w AAC albo Opusie, konwersja do MP3 przekodowuje je i traci jakość bez żadnego zysku. Zachowanie oryginału jest i szybsze, i lepsze.
yt-dlp -x --audio-format best URL
Napisy
Napisy osadzone podróżują razem z plikiem; osobne pliki .srt łatwiej edytować i przekazać dalej.
yt-dlp --embed-subs --sub-langs en URL yt-dlp --write-subs --sub-langs en,vi --convert-subs srt URL
Napisy generowane maszynowo to osobny przełącznik. Bez niego film bez napisów zrobionych przez człowieka nie da w ogóle nic — i żadnego błędu.
yt-dlp --write-auto-subs --sub-langs en --convert-subs srt --skip-download URL
Playlisty i kanały
Adres YouTube często należy jednocześnie do filmu i do playlisty, a yt-dlp musi zgadywać, co miałeś na myśli. Powiedz to wprost.
yt-dlp --no-playlist URL yt-dlp --yes-playlist URL
Przy wszystkim, co długie, plik archiwum liczy się bardziej niż jakakolwiek inna opcja tutaj: zapisuje, co już zostało pobrane, więc kolejne uruchomienie podejmuje pracę tam, gdzie ją przerwano, zamiast zaczynać od nowa.
yt-dlp --yes-playlist -i \ --download-archive archive.txt \ -o "%(playlist_index)02d - %(title)s.%(ext)s" \ URL
W połączeniu z -i jeden film zablokowany regionalnie albo usunięty nie przerywa już pozostałych dwustu. Żeby wziąć fragment zamiast całości, -I przyjmuje zakresy i listy: -I 1:10, -I "1,3,7-10".
Fragmenty, rozdziały i sponsorzy
Możesz pobrać część filmu zamiast całości. Gwiazdka na początku oznacza znacznik czasu, a nie nazwę rozdziału, a cudzysłowy są obowiązkowe — bash rozwinie gołą * względem twoich nazw plików.
yt-dlp --download-sections "*00:01:30-00:03:00" URL
SponsorBlock korzysta ze znaczników nadsyłanych przez społeczność, żeby wyciąć fragmenty w całości albo zostawić je jako rozdziały, które sam pominiesz.
yt-dlp --sponsorblock-remove default URL yt-dlp --sponsorblock-mark all --embed-chapters URL
Nazwy plików i katalogi
Szablon wyjścia steruje jednym i drugim. Ukośnik tworzy katalog, więc jeden szablon potrafi rozplanować całe archiwum.
yt-dlp -o "%(uploader)s/%(upload_date>%Y-%m-%d)s - %(title)s.%(ext)s" URL
Tytuły regularnie zawierają znaki, których część systemów plików nie przyjmuje. --restrict-filenames sprowadza wszystko do zwykłego ASCII, co się opłaca przy wszystkim, co będzie przenoszone między komputerami.
W windowsowym pliku .bat każdy % trzeba podwoić — %%(title)s — inaczej interpreter wsadowy zje szablon, zanim zobaczy go yt-dlp. Generator robi to za ciebie, kiedy pobierasz plik .bat.
Błędy, na które naprawdę trafisz
ffmpeg not found
Wszystko, co scala, konwertuje, osadza albo tnie, wymaga ffmpeg w PATH. Zainstaluj go, a potem potwierdź poleceniem ffmpeg -version.
Sign in to confirm you are not a bot
Spróbuj najpierw --impersonate chrome, potem --cookies-from-browser. Jeśli oba zawiodą, zaktualizuj yt-dlp — akurat ta kontrola zmienia się często, a poprawka zwykle trafia do wydania w ciągu kilku dni.
Unable to extract player response
Prawie zawsze to przestarzały yt-dlp. Zaktualizuj go, zanim zmienisz cokolwiek innego: yt-dlp -U albo menedżer pakietów, jeśli tak go instalowałeś.
Requested format is not available
Twój selektor niczego nie dopasował. Uruchom -F, żeby zobaczyć, co istnieje, i wybieraj sortowanie (-S) zamiast twardego filtra, żeby zawsze został wariant zapasowy.
HTTP Error 403
Ten adres został podpisany dla innej sesji albo innego regionu. Uruchom ponownie ze świeżymi ciasteczkami, dodaj --impersonate chrome albo spróbuj --geo-bypass.
Utrzymywanie yt-dlp w aktualnej wersji
Aktualizacja naprawia więcej zgłaszanych błędów niż jakakolwiek flaga. Jeśli instalowałeś samodzielny plik wykonywalny:
yt-dlp -U
Jeśli instalowałeś przez menedżer pakietów, aktualizuj tą samą drogą — -U odmówi i słusznie.