yt-dlp: Nowoczesny fork youtube-dl do pobierania filmów
23 października 2020 roku Stowarzyszenie Przemysłu Nagraniowego Ameryki (Recording Industry Association of America) złożyło wniosek o usunięcie youtube-dl na GitHubie na podstawie ustawy DMCA. Trzy dni później, 26 października, nowe repozytorium pojawiło się dyskretnie pod adresem github.com/yt-dlp/yt-dlp. Zanim GitHub przywrócił pierwotny projekt 16 listopada – wraz z nowym funduszem na obronę deweloperów w wysokości 1 miliona dolarów – nowy fork zaczął już wchłaniać współpracowników youtube-dl.
Ten fork jest teraz najważniejszy. Od maja 2026 roku yt-dlp rejestruje ponad 12 milionów pobrań na PyPI miesięcznie. Jego repozytorium GitHub ma 160 766 gwiazdek. Projekt wydaje nową wersję mniej więcej co dwa tygodnie. Najnowszy tag, w momencie pisania tego tekstu, to `2026.03.17`. Obsługuje ponad 1800 stron z plikami wideo i audio za pośrednictwem swojego systemu wtyczek do ekstrakcji. Poniżej znajduje się rzetelny przewodnik po yt-dlp i sposobach jego używania. Oraz o jego sytuacji prawnej w 2026 roku. I dlaczego idealnie działająca instalacja może nagle przestać działać w połowie 2025 roku.
Skąd wziął się yt-dlp: łańcuch rozwidleń youtube-dl
Pochodzenie ma tu znaczenie, ponieważ wyjaśnia lukę w zachowaniu. yt-dlp dostarcza poprawki w ciągu kilku godzin od awarii YouTube; youtube-dl może to zająć tygodnie. Trzy projekty znajdują się na drzewie genealogicznym, a każdy krok był napędzany frustracją związaną z poprzednim.
youtube-dl był oryginalnym projektem. Ricardo García napisał go w sierpniu 2006 roku, a Philipp Hagemeister później kierował nim wraz z zespołem w ramach `ytdl-org/youtube-dl`. Do 2020 roku był to de facto podstawowe narzędzie do archiwizacji, ale żądania ściągnięcia zaczęły się mnożyć, a poprawki do YouTube’a pojawiały się z opóźnieniem.
Ta luka doprowadziła do powstania youtube-dlc, gdzie „c” oznaczało „community”. `blackjack4494` rozwidlił repozytorium w 2020 roku, a kolejka połączeń została oczyszczona w ciągu kilku dni. Sam fork stał się częściowo nieaktywny pod koniec tego samego roku — jeden z opiekunów jest niestabilny.
yt-dlp to refork youtube-dlc. Repozytorium zostało utworzone 26 października 2020 roku, trzy dni po usunięciu przez RIAA projektu youtube-dlc. yt-dlp to narzędzie wiersza poleceń, które umożliwia pobieranie filmów i audio z obsługiwanych stron internetowych. Litera „p” wskazuje na wczesnego głównego opiekuna (`pukkandan`). Projekt jest obecnie zarządzany przez organizację złożoną z wielu opiekunów, w skład której wchodzą `coletdjnz`, `dirkf`, `Grub4K`, `bashonly` i `seproDev`. Do stycznia 2021 roku yt-dlp przejął bazę współpracowników youtube-dlc. Stał się dominującym forkiem youtube-dlc. Skupiono się na funkcjach i ulepszeniach, których nie udało się połączyć z projektem źródłowym.
Warto zwrócić uwagę na kilka faktów dotyczących projektu. yt-dlp korzysta z wersjonowania kalendarzowego, więc tag taki jak `2026.03.17` oznacza dosłownie datę wydania. Licencja to The Unlicense, jawne oddanie praw do domeny publicznej, z którego nie korzysta nawet większość projektów FOSS. Repozytorium zawiera 13 348 rozwidleń i 2507 otwartych zgłoszeń. Ubuntu 22.04 zastąpiło youtube-dl domyślnym programem do pobierania filmów yt-dlp, a Debian poszedł w jego ślady w Bookworm. Lista obsługiwanych witryn w pliku `supportedsites.md` zawiera obecnie ponad 1500 nazwanych wpisów; sam kod źródłowy zawiera blisko 1800 modułów ekstraktora z leniwym ładowaniem. Pakiety zawierają Arch, Fedora, NixOS, Homebrew, Chocolatey, Scoop i Winget. Dwadzieścia do trzydziestu wydań rocznie powstrzymywało dystrybucje przed powrotem do wolniejszego źródła.

Jak likwidacja RIAA w 2020 roku sprawiła, że yt-dlp stało się nieuniknione
RIAA złożyła 23 października 2020 r. zawiadomienie DMCA na podstawie § 1201 § 17 Kodeksu Stanów Zjednoczonych, dotyczące klauzuli zakazującej obchodzenia prawa. Teoria ta opierała się na założeniu, że youtube-dl omija mechanizm podpisu YouTube'a oparty na szyfrze kroczącym, który RIAA określiła jako środek technologiczny chroniący dostęp do utworów chronionych prawem autorskim. Początkowo GitHub zastosował się do tego żądania i usunął repozytorium wraz z siedemnastoma forkami.
To, co nastąpiło, było wręcz podręcznikowym efektem Streisand. Programiści ponownie opublikowali kod źródłowy w coraz bardziej pomysłowy sposób, w tym obraz na Twitterze, którego kolory pikseli zakodowały całą bazę kodu. Fundacja Electronic Frontier Foundation wysłała list do GitHub 16 listopada 2020 roku. Techniczny argument był prosty. Podpis, który może uruchomić każda przeglądarka zgodna ze standardami, nie jest „środkiem technologicznym skutecznie kontrolującym dostęp” w rozumieniu § 1201. YouTube-dl wykorzystuje ten podpis, ale go nie łamie.
GitHub przywrócił repozytorium tego samego dnia. Zadeklarował również wsparcie finansowe w wysokości miliona dolarów na rzecz obrony deweloperów i zobowiązał się do ręcznej weryfikacji technicznej i prawnej każdego kolejnego usunięcia na podstawie § 1201. Ten incydent zapoczątkował powstanie yt-dlp. Repozytorium nowego forka pojawia się w historii zmian trzy dni po usunięciu. Nikt jeszcze nie wiedział, czy GitHub się wycofa. Deweloperzy chcieli mieć pewność.
Zainstaluj yt-dlp w systemach Windows, macOS i Linux
Ludzie zapominają o drugiej połowie instalacji, a potem zastanawiają się, dlaczego etap scalania się zawiesza. yt-dlp sam w sobie może pobrać pojedynczy strumień z dowolnej obsługiwanej witryny, jasne. Ale najlepsze wideo i najlepszy dźwięk? Osadzone rozdziały? Remux mp4? Wszystko to po cichu przekazujemy do `ffmpeg` i `ffprobe`. Pomiń te dwa, a pierwsza próba `bv*+ba/b` wyświetli coś tajemniczego i zakończy się niepowodzeniem. Więc: instaluj oba, za każdym razem.
W systemie Windows wybieram winget. `winget install yt-dlp.yt-dlp`, a następnie `winget install Gyan.FFmpeg`. Scoop działa, jeśli już go używasz; Chocolatey również. Jeśli menedżer pakietów wydaje się przesadą, samodzielny `yt-dlp.exe` znajduje się w GitHub Releases — umieść go w folderze, dodaj folder do zmiennej PATH i gotowe.
Użytkownicy komputerów Mac mają łatwiejszą wersję: `brew install yt-dlp ffmpeg`. Jedna linijka. Idź dalej.
Linux różni się w zależności od dystrybucji. Główne archiwum Debiana zawiera go w `extra`. Arch przechowuje go w `extra`. Fedora pobiera go standardowymi kanałami. Problemem jest czas: gdy pojawia się przerwa w dostępie do YouTube, wersje dystrybucji mają tendencję do opóźniania się o kilka dni. Wyjściem awaryjnym jest instalacja Pythona, która jest najlepszym sposobem na pobranie filmów tego samego dnia po wprowadzeniu poprawki: `python -m pip install -U yt-dlp` na dowolnym systemie z Pythonem 3.9 lub nowszym. Ta linijka również zostanie zaktualizowana. Opcja curl-and-chmod nadal znajduje się w dokumentacji (`sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && sudo chmod +x /usr/local/bin/yt-dlp`), ale sięgaj po nią tylko wtedy, gdy nie ma opcji menedżera pakietów.
Po instalacji polecenie `yt-dlp -U` aktualizuje kopie pip i binarne; celowo pomija kopie menedżera pakietów. Wybierz jedną metodę instalacji i trzymaj się jej. Połączenie ffmpeg i ffprobe nie podlega negocjacjom.
Podstawowe polecenia yt-dlp, których będziesz faktycznie używać
Minimalna ściągawka jest krótka. Samo polecenie `yt-dlp URL` działa tylko w typowych przypadkach. Wszystko powyżej to jedna lub dwie flagi.
Zanim pobierzesz film z YouTube, uruchom polecenie `yt-dlp -F URL`, aby sprawdzić, co znajduje się w tabeli. Wynik zawiera listę wszystkich formatów wideo, wszystkich strumieni audio i wszystkich wstępnie połączonych strumieni znalezionych przez ekstraktor, wraz z kodekami i rozmiarami plików. Większość użytkowników przechodzi następnie bezpośrednio do polecenia `yt-dlp -f "bv*+ba/b" URL`. Ten selektor brzmi: „najlepsze wideo plus najlepsze audio, a jeśli oba nie są oddzielne, to najlepszy połączony strumień”. To flagowa składnia wyboru formatu w yt-dlp, którą warto zapamiętać. Dodaj `--merge-output-format mp4`, aby wymusić kontener; dodaj `-x --audio-format mp3`, aby uzyskać tylko dźwięk. W przypadku napisów, `--write-subs --sub-langs en` pobiera oficjalne napisy, a `--write-auto-subs` wraca do ścieżki wygenerowanej automatycznie, jeśli nie ma napisu generowanego przez człowieka.
W przypadku list, `-a urls.txt` odczytuje jeden adres URL w wierszu i jest standardowym sposobem pobierania wielu filmów za jednym razem. Flaga `--playlist-items 1-10,15,20-` dzieli playlistę na segmenty. Plik `--download-archive seen.txt` przechowuje rejestr ukończonych pobrań, więc ponowne uruchomienia pomijają to, co już masz. Archiwum pobierania to najczystszy sposób na stopniowe pobieranie całych playlist i kanałów bez ponownego pobierania. Nazewnictwo danych wyjściowych jest zgodne ze schematem. Ciąg `-o "%(channel)s/%(upload_date>%Y-%m-%d)s — %(title)s.%(ext)s"` generuje w wybranym folderze nazwy plików z datą i pogrupowane według kanałów. Wynik jest przyjazny dla bibliotek Plex i Jellyfin. Flaga `-P` zmienia katalog docelowy. Flaga `--restrict-filenames` zachowuje kod ASCII dla bezpieczeństwa między systemami plików. Natomiast `--print filename` wyświetla podgląd tego, co yt-dlp zapisze przed rozpoczęciem procesu pobierania.
Jeśli plik „odtwarza się zamiast pobierać”, oznacza to, że przeglądarka otwiera link, zanim yt-dlp go zobaczy. Przekaż adres URL jako argument dosłowny lub w cudzysłowie i uruchom yt-dlp z terminala.
Funkcje dla zaawansowanych użytkowników: postprocesory, SponsorBlock, pliki cookie
Poza podstawowymi funkcjami, yt-dlp oferuje ogromny obszar funkcjonalności. Poniższe flagi mają największe znaczenie w praktyce.
| Kategoria | Flaga | Używać |
|---|---|---|
| Sortowanie formatów | `-S "+rozmiar,+br,rozdzielczość:1080"` | Wolę mniejsze pliki w rozdzielczości 1080p |
| Postprocesowanie | `--embed-thumbnail --embed-metadata --embed-chapters --embed-subs` | Upiecz grafikę, tagi, rozdziały i napisy w pliku |
| SponsorBlock | `--sponsorblock-mark all` / `--sponsorblock-remove sponsor,selfpromo` | Zaznacz lub wytnij sekcje sponsorowane w filmach na YouTube |
| Uwierzytelnianie | `--cookies-from-browser firefox` | Użyj plików cookie z przeglądarki; obsługuje Chrome, Brave, Edge, Safari, Opera, Vivaldi, Chromium, Whale |
| Nagranie na żywo | `--live-from-start --hls-use-mpegts` | Nagraj transmisję na żywo od samego początku, nawet jeśli dołączysz późno |
| Prędkość | `--concurrent-fragments 8` | Równoległe pobieranie fragmentów HLS lub DASH |
| Zewnętrzny program do pobierania | `--downloader aria2c` | Przeniesienie ręczne do aria2c w celu zapewnienia paralelizmu |
| Wtyczki | `~/.yt-dlp/plugins/` | Wbudowane niestandardowe ekstraktory i postprocesory |
Integracja ze SponsorBlock jest przydatna. Opcja ta korzysta z bazy danych społeczności SponsorBlock. Oznacza znaczniki rozdziałów lub całkowicie usuwa sekcje sponsorów z filmów na YouTube. Opcja `--cookies-from-browser` odczytuje pliki cookie z profili przeglądarek, w tym kontenerów Firefoksa, co jest najczystszym sposobem pobierania czegokolwiek za opłatą lub logowaniem. W przypadku terabajtów długotrwałych archiwów, przekazanie zewnętrznego programu do pobierania aria2c zauważalnie zwiększa prędkość pobierania w sieciach, w których wąskim gardłem jest okienkowanie TCP. Z kolei `--split-chapters` dzieli zawartość wideo według rozdziałów na osobne pliki, co jest przydatne, gdy jedno przesłanie obejmuje kilka wykładów. yt-dlp obsługuje również `--video-multistreams`, aby łączyć ścieżki wideo, których strona udostępnia wiele, choć jest to rzadkość w praktyce.
System wtyczek zasługuje na osobną pozycję. yt-dlp automatycznie wykryje moduły Pythona umieszczone w katalogu `~/.yt-dlp/plugins/` (lub zainstalowane za pomocą `pip` z punktem wejścia `yt-dlp-plugins`) i załaduje je jako ekstraktory lub postprocesory. W ten sposób nietypowe witryny są obsługiwane bez czekania na poprawkę. W ten sposób dołączają się również omówione poniżej wtyczki dostawcy PoToken.
Sytuacja PoToken i SABR w latach 2025–2026
YouTube spędził 2025 rok, utrudniając życie yt-dlp. Dwie zmiany są powodem, dla którego idealnie działająca instalacja może nagle zacząć szwankować w 2026 roku.
PoToken to większy problem. Każde żądanie wideo wymaga teraz tokena Proof-of-Origin. Token jest powiązany z filmem, szybko wygasa i jest również powiązany z sesją. Ręczne wyodrębnianie przestało działać miesiące temu. Działa jedynie niewielki program pomocniczy o nazwie `bgutil-ytdlp-pot-provider`, który generuje tokeny na żądanie, a główne wywołanie yt-dlp automatycznie je odbiera. Wiki yt-dlp zawiera przewodnik o nazwie `PO Token Guide`, który przeprowadza użytkownika przez proces konfiguracji. Bez tego programu pomocniczego żądania są zwracane z obniżoną wersją lub po prostu blokowane, a yt-dlp może nie działać poprawnie nawet w przypadku filmów, które zostały odtworzone w przeglądarce trzydzieści sekund wcześniej.
Drugim elementem jest SABR. SABR to adaptacyjny bitrate po stronie serwera YouTube, a do 2025 roku ekstraktor „web” zaczął zwracać formaty dostępne tylko w SABR, które zakłócają normalną ścieżkę pobierania. Rozwiązaniem jest zazwyczaj wskazówka do argumentów ekstraktora oraz pliki cookie z zalogowanej przeglądarki. Wątki warte uwagi, dopóki poprawka się nie rozwinie, to problemy nr 12482, 14307, 14390, 16082 i 13968. Efekt końcowy: yt-dlp nadal działa w przypadku zdecydowanej większości publicznych treści YouTube, ale w 2026 roku polecenie „just works” często oznacza polecenie „po prostu działa” (PoToken provider, fresh cookies, and a little patient).

Status prawny yt-dlp w 2026 r.: USA, Niemcy, UE
Odpowiedź prawna jest kwestią jurysdykcji, a nagłówek jest taki, że nic nie zostało jeszcze ostatecznie rozstrzygnięte.
W Stanach Zjednoczonych żaden sąd nie wydał orzeczenia w sprawie yt-dlp. Przypadek RIAA z 2020 roku stanowi najbliższy precedens i zakończył się uchyleniem wyroku pozasądowego. Dziewiąte, trójletnie rozporządzenie Urzędu ds. Praw Autorskich Stanów Zjednoczonych (US Copyright Office) dotyczące Sekcji 1201 weszło w życie 28 października 2024 roku i obowiązuje do 28 października 2027 roku. Odnowiło ono wcześniejsze wyjątki i dodało jedno dla badań nad wiarygodnością sztucznej inteligencji, ale nie stworzyło ogólnego wyjątku dotyczącego obejścia zabezpieczeń w przypadku archiwizacji nagrań wideo. Problem strukturalny Sekcji 1201, polegający na kryminalizacji narzędzi naruszających DRM niezależnie od ich intencji, pozostaje aktualny.
W Niemczech postępowanie dotyczyło odpowiedzialności za hosting, a nie samego oprogramowania. 27 listopada 2024 r. Wyższy Sąd Krajowy w Hamburgu odrzucił apelację Uberspace, hosta domeny `youtube-dl.org` z Moguncji. Decyzja ta sfinalizowała orzeczenie sądu niższej instancji z 2023 r., zgodnie z którym firmy hostingowe mogą ponosić odpowiedzialność za witryny, które wskazują narzędzia do obejścia zabezpieczeń. Doktryna ta nie zakazuje bezpośrednio yt-dlp, ale sprawia, że niemiecki hosting jest ryzykowny dla każdego projektu, który w widoczny sposób reklamuje możliwości obejścia zabezpieczeń.
Na poziomie UE ustawa o usługach cyfrowych (Digital Services Act) standaryzuje procedury usuwania treści w trybie „zawiadomienie i działanie” (art. 16–17), ale nie reguluje oprogramowania do pobierania. Nie ma żadnego orzeczenia w całej UE, które zmusiłoby dostawców hostingu do blokowania yt-dlp. Osobiste wykorzystanie yt-dlp do własnych treści nie stanowi punktu nacisku prawnego w żadnej z tych jurysdykcji. To samo dotyczy treści, na które twórca wyraził zgodę. Problem pojawia się w dystrybucji i w interakcji z ochroną transmisji strumieniowej.
Interfejsy graficzne i szerszy ekosystem programów do pobierania
Nie każdy potrzebuje terminala, a wiersz poleceń yt-dlp nie jest atutem marketingowym. yt-dlp to jeden z wielu programów do pobierania wideo, ale działa pod większością nowoczesnych interfejsów graficznych (GUI) jako silnik. Stacher to najbardziej dopracowany wieloplatformowy GUI. Tartube to alternatywa dla Pythona/GTK. yt-dlg to fork społecznościowy stworzony specjalnie dla yt-dlp. Tube-Archivist to samodzielnie hostowany serwer Docker do archiwizacji kanałów; umożliwia on pobieranie filmów z różnych stron internetowych według harmonogramu. YTDL-Material to samodzielnie hostowany front-end. ytdl-sub to deklaratywne narzędzie do konfiguracji YAML, popularne wśród użytkowników samodzielnie hostujących Plex i Jellyfin. JDownloader 2 integruje yt-dlp poprzez wtyczkę. Każde narzędzie udostępnia własny interfejs wyboru wideo i panel opcji pobierania, ale większość zadań spoczywa na yt-dlp.
| Narzędzie | Stan (2026) | Zakres | Licencja |
|---|---|---|---|
| yt-dlp | Aktywne, cotygodniowe wydania | Ponad 1800 witryn z filmami i nagraniami audio | Brak licencji |
| youtube-dl | Slow, ostatnie wydanie wrzesień 2021 | YouTube + ~1000 witryn | Brak licencji |
| galeria-dl | Aktywny | Galerie obrazów; można wywołać yt-dlp w celu uzyskania wideo | GPLv2 |
| strumień | Aktywny | Transmisje na żywo przesyłane do odtwarzacza | BSD-2 |
Zasada czystości: yt-dlp do pobierania plików archiwalnych, streamlink do transmisji na żywo w odtwarzaczu, gallery-dl do witryn z dużą ilością obrazów.
Bezpieczeństwo: gdzie pobrać yt-dlp i jak rozpoznać podróbki
Jedynymi bezpiecznymi źródłami są wydania GitHub, PyPI (`pip install yt-dlp`), oficjalne pakiety dystrybucyjne oraz główne menedżery pakietów systemu Windows (Winget, Scoop, Chocolatey). Zewnętrzne witryny „yt-dlp downloader” zawierają adware, programy do kopania kryptowalut lub zmodyfikowane pliki binarne. Program Windows Defender tradycyjnie oznaczał plik `yt-dlp.exe` w pakiecie z PyInstallerem jako `Trojan:Win32/Wacatac.B!ml` (problemy nr 7532 i 15415). Są to heurystyczne fałszywe alarmy. Bazy sygnatur zazwyczaj są czyszczone w ciągu kilku dni. Małe projekty open source, takie jak yt-dlp, utrzymują się dzięki wolontariuszom. Darowizny w kryptowalutach za pośrednictwem platform takich jak Plisio to jeden z odpornych na debanking sposobów na uzyskanie wsparcia dla międzynarodowych darczyńców.
Oto przykład. Załóżmy, że chcesz pobrać film z YouTube na swój komputer do prezentacji. Polecenie to `yt-dlp -f "bv*+ba/b" --merge-output-format mp4 URL`, które wskazuje właściwy format pobierania. yt-dlp to fork z większą liczbą ekstraktorów niż youtube-dl, a yt-dlp oferuje wiele z nich, które pozwalają pobrać film, w którym oryginał się nie zgadza. yt-dlp, korzystając ze swojego systemu wtyczek, obsługuje niszowe źródła, a yt-dlp pozwala na `-a urls.txt`, gdy potrzebujesz pobrać filmy z różnych stron internetowych. Wszystkie elementy obsługiwane przez yt-dlp znajdują się w pliku `supportedsites.md`.