YouTube trzyma wszystkie treści na swoich serwerach, a my je sobie streamujemy, nieraz wielokrotnie. Tak wygląda typowy, zaplanowany dla nas scenariusz.
Istnieje jednak wiele sytuacji, kiedy wolelibyśmy mieć ich filmiki u siebie:

  • Znaleźliśmy filmik, który bardzo nam się podoba, ale może niedługo zniknąć.

    W przypadku YouTube’a to nagminne. Znikają amatorskie teledyski ze scenami z komercyjnych produkcji. Filmiki o kontrowersyjnych (ale nie foliarskich) tematach. A czasem po prostu losowe rzeczy, kiedy automat okaże się nadgorliwy.

  • Nie chcemy być zależni od łączności z internetem.

    Być może wyruszamy w podróż? Dostęp do internetu może być niepewny albo drogi, jeśli korzystamy z danych mobilnych. Dlatego jest nam na rękę, żeby skompletować biblioteczkę przed wyjazdem.

  • Nie chcemy karmić Google’a historią tego, ile razy coś oglądaliśmy, kiedy robiliśmy pauzy i tak dalej. Już i tak za dobrze nas zna.
  • Chcemy być wierni przysłowiu „Lepszy wróbel w garści…”.

Niezależnie od naszych powodów, rozwiązaniem jest youtube-dl.
Bardzo wszechstronny program konsolowy do pobierania materiałów z YouTube’a (i wielu innych stron).

A ponieważ konsola może być dla wielu osób czymś nowym, napisałem ten przyjazny samouczek pokazujący, jak się z tym programikiem obchodzić.

Logo Ciemnej Strony Uwaga

Jeśli na konsolę reagujemy alergicznie i za żadną cenę nie chcemy z niej skorzystać, to istnieją również programy z graficznym interfejsem. Dobrze oceniany jest na przykład ten od użytkownika jely2002.
Warto jednak pamiętać, że będzie aktualny tylko dopóty, dopóki twórcy się chce. Nie mamy gwarancji, że będzie na bieżąco ze zmianami w „podstawce”.

Poza tym youtube-dl nieco przycina szybkość pobierania, do poziomu kilkudziesięciu kB/s. Jeśli chcemy pozbyć się ograniczeń, warto rozważyć yt-dlp. Zastrzeżenia jak wyżej: może być do tyłu względem wersji podstawowej.

Instalacja

Ogólne instrukcje znajdziecie na oficjalnej stronie projektu.

Ale oprócz tego naszykowałem ten nieco bardziej przyjazny poradnik dla użytkowników Windowsa.

Logo Ciemnej Strony Porada

Tutaj opisuję sposób instalacji najbardziej intuicyjny dla zwykłego użytkownika. Wystarczy pobrać plik i umieścić go w odpowiednim miejscu. To dobra i działająca metoda.
Ale, gdybyście chcieli jeszcze szybciej i łatwiej aktualizować Wasz program, to gorąco polecam instalację przez pip, również opisaną na stronie youtube-dl.

Najpierw pobieramy z podlinkowanej wyżej strony najbardziej aktualny plik EXE. Link podali blisko początku instrukcji.

Włączamy konsolę PowerShell. Możemy to zrobić na kilka sposobów:

  • Przez menu start.
  • Z klawiatury.

    Naciskamy jednocześnie klawisz z ikoną Windowsa w lewym dolnym rogu oraz przycisk X. Następnie naciskamy I (jak Irena).

  • Przez Eksplorator Plików.

    Możemy przejść do dowolnego folderu i wybrać z górnego paska Plik, a następnie Otwórz program Windows PowerShell.

Wpisujemy w konsolę i potwierdzamy Enterem:

$env:path -split ";"

W ten sposób wyświetlą nam się, jeden pod drugim, foldery z kategorii PATH.
To coś w rodzaju przegródek szybkiego dostępu. Kiedy mamy w tych folderach jakieś pliki EXE, to możemy je łatwo uruchamiać, wpisując w PowerShella samą ich nazwę zamiast pełnej ścieżki.

Zatem otwieramy Eksploratora, bierzemy nasz pobrany wyżej plik EXE i przenosimy go do któregoś z folderów z listy (za wyjątkiem System32! Odradzają to na stronie projektu).

Od teraz, kiedy wpiszemy w PowerShella youtube-dl, powinno nam wyświetlać, że działa (ale potrzebuje linka):

Okno konsoli z wpisanym tekstem 'youtube-dl'. Pod spodem widać informację, że trzeba podać co najmniej jeden adres uRL.

Korzystanie

Gdy już mamy konsolę i wiemy że działa, możemy pobierać do woli.

Najpierw musimy odwiedzić YouTube’a, żeby zdobyć link do filmu. Jako przykładu użyję satyrycznej reklamy GmailMan sprzed 10 lat.
Wykonał ją Microsoft, żeby reklamować swoje usługi, a przy tym dać prztyczka w nos Google’owi i jego zwyczajowi zbierania danych z maili.

Zgadzam się z jej sednem; ale jest w tym pewna ironia losu, patrząc na to, że sami od teraz wymagają posiadania u siebie konta, żebyśmy mogli w ogóle używać Windowsa.

Wracając do rzeczy! Po wejściu na stronkę kopiujemy link z paska:

Zrzut ekranu z YouTube'a. Widoczna stopklatka z filmiku pokazuje uśmiechniętego mężczyznę trzymającego koperty w kształcie ikony Gmaila. Adres strony z górnego paska wyróżniono czerwoną ramką, a pod spodem dodano napis 'Control plus C'.

Następnie w konsoli wystarczy wpisać youtube-dl, potem spację, a potem wkleić link do filmu. Zostanie pobrany do tego samego folderu, w którym odpaliliśmy PowerShella, w najlepszej dostępnej jakości.

youtube-dl https://www.youtube.com/watch?v=9x4_dozWkq0

Czasem jednak nie potrzebujemy najbardziej odpicowanej wersji. W tej sytuacji możemy sobie wyświetlić listę dostępnych formatów, dopisując -F:

youtube-dl -F https://www.youtube.com/watch?v=9x4_dozWkq0

Pokaże nam się coś w tym stylu:

Lista formatów wyświetlonych jeden pod drugim

Po lewej stronie mamy liczby odpowiadające poszczególnym formatom, a po prawej stronie ich opisy. Żeby pobrać któryś z nich, wpisujemy -f, a potem liczbę odpowiadającą danej wersji. Czyli na przykład:

youtube-dl -f 242 https://www.youtube.com/watch?v=9x4_dozWkq0

Uwaga: Zwracajmy uwagę na opisy plików. Czasem, szczególnie w górnej części listy, mamy pliki będące samym dźwiękiem albo obrazem (audio onlyvideo only). Gotowe kombinacje znajdziemy na końcu listy.

Oprócz liczb mamy też parę gotowych komend. Chcemy sam dźwięk (przydatne przy piosenkach)? Żaden problem, nie trzeba nawet wyświetlać listy formatów! Wpisujemy -f bestaudio.

youtube-dl -f bestaudio https://www.youtube.com/watch?v=9x4_dozWkq0

A jeśli chcemy jakieś nietypowe połączenie? Na przykład najniższą jakość obrazu i najwyższą dźwięku? Wpisujemy -f, liczbę odpowiadającą plikowi wideo, plusa i liczbę odpowiadającą plikowi audio (kolejność ważna!).

Patrzę na listę szczegółów i widzę, że najmniejszy obraz ma rozdzielczość 256x144, odpowiada mu liczba 278. A pliku audio nie wypatruję, tylko wpisuję gotowca:

youtube-dl -f 278+bestaudio https://www.youtube.com/watch?v=9x4_dozWkq0

To tylko ułamek możliwości tego programiku. Pozwala m.in. na pobieranie całych playlist. Ale z tej funkcji akurat nie miałem potrzeby korzystać, więc na jej temat się nie wypowiem.

Logo Ciemnej Strony Porada

Program youtube-dl zapisuje pobierane filmiki do aktywnego folderu. Dlatego, jeśli chcemy je na przykład zapisać do folderu Wideo, to musimy właśnie tam otworzyć naszą konsolę.
W przypadku Windowsa wystarczy włączyć Eksploratora, przejść do tego folderu, a potem uruchomić tam PowerShella przez menu Plik z górnego paska.
„Hakierzy” mogą też poruszać się po folderach, korzystając z komendy konsolowej cd.

Rozwiązywanie błędów

Zawieszenie programu

Jeśli zerwie nam połączenie, to youtube-dl może się zawiesić. Licznik stoi w miejscu, niczego nie pobiera.

W takiej sytuacji otwieramy okno naszej konsoli i:

  • najpierw naciskamy Ctrl+C, żeby przerwać aktualną komendę;
  • następnie strzałkę do góry, żeby ponownie wyświetliła się poprzednia komenda (youtube-dl...);
  • potwierdzamy wciskając Enter.

I voila! Jeśli już mamy łączność, to zacznie nam pobierać od miejsca, w którym poprzednio się zatrzymało.

Odmowa dostępu

Wyświetla się jako HTTP Error 403: Forbidden.

Czasami to chwilowy zgrzyt i wystarczy spróbować ponownie. Strzałka w górę, żeby ponownie wyświetlić komendę. Enter, żeby ją wykonać. Zazwyczaj mi wtedy działa.

Innym razem sam filmik ma jakieś ograniczenia. Na przykład te wprowadzone przez Google, żeby wyciągnąć od nas zdjęcie dowodu albo numer konta. Zwykle omijam je szerokim łukiem, więc chwilowo nie wiem, czy jest jakieś proste obejście.

Film niedostępny/usunięty

W takim przypadku youtube-dl wyświetli Video unavailable.
Oznacza to zapewne, że film został usunięty między momentem wejścia na jego stronę a momentem skopiowania linka do konsoli.
Może usunął go autor, może YouTube’owa automatyczna moderacja.

Wyjątkowy pech. Zdarzyło mi się to dosłownie raz, niedawno.

A Wasz film? Jeśli macie nadal otwartą stronę YouTube’a, to zapewne jesteście w stanie go nadal oglądać (serwis jeszcze będzie przez chwilę podtrzymywał połączenie, zanim usunie sam plik). Być może możecie go nawet odzyskać z pamięci podręcznej.

W każdym razie w takiej sytuacji gra się toczy o wysoką stawkę – gdy zamkniecie okno YouTube’a z tym filmem, to możecie już go nie zobaczyć. Jeśli jest fajny, a nie wiecie jak wyłuskać z pamięci podręcznej, to może warto nawet odpalić jakieś OBS Studio i nagrać ekran wraz z dźwiękiem :wink:

Inne błędy

Z czasem trafi się jakiś nieoczekiwany błąd. Może wynikać z tego, że co jakiś czas YouTube wprowadza większe zmiany za kulisami, przez co psuje youtube-dl.

Ale jego autorzy zwykle szybko nadganiają. Wtedy po prostu bierzemy od nich najnowszą wersję i zastępujemy nią poprzednią.

To równocześnie jeden z argumentów przemawiających za tym, żeby korzystać z wersji konsolowej, a nie graficznej. Łatwiej być na bieżąco.

Wszelkie nakładki graficzne może i są przyjaźniejsze, ale nadal zależą od podstawowego youtube-dl. Gdy Google coś popsuje, to najpierw źródło musi naprawić to u siebie, a potem autorzy wersji graficznej (którzy mogą np. być akurat na wakacjach) po swojej stronie.