Jak pobrać filmy online z linii polecenia Linux za pomocą YouTube-DL

Jak pobrać filmy online z linii polecenia Linux za pomocą YouTube-DL

W dzisiejszych czasach wiele platform udostępniania wideo istnieje online. Niektóre są bardzo popularne, jak YouTube, a inne są trochę „niejasne”. Różne typy treści można znaleźć na tych platformach, ale nie zawsze można je pobrać za pośrednictwem natywnego interfejsu internetowego. W tym samouczku zobaczymy, jak użyć małego narzędzia wiersza poleceń: YouTube-DL. To narzędzie wiersza poleceń jest w stanie pobrać wspomniane filmy dla nas za pomocą bardzo prostej składni. Poniższy samouczek ma na celu wykazanie możliwości programu, jednak należy go używać tylko w stosownych przypadkach, aby szanować prawa autorskie.

W tym samouczku się nauczysz:

  • Jak zainstalować YouTube-DL
  • Jak pobrać filmy za pomocą YouTube-DL
  • Jak wymienić dostępne formaty wideo
  • Jak pobrać określony format
  • Jak przesyłać strumieniowo wideo bezpośrednio do odtwarzacza multimedialnego
  • Jak zapisać pobrane pliki za pomocą wzorów szablonów
  • Jak określić opcje w pliku konfiguracyjnym YouTube-DL
Jak pobrać filmy online z wiersza poleceń za pomocą YouTube-DL

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Niezależny dystrybucja
Oprogramowanie YouTube-DL
Inny Nic
Konwencje # - Wymaga, aby podane Linux -commands były wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$-wymaga wykonania Linux-commands jako zwykłego niewidzianego użytkownika

Instalacja

YouTube-DL to małe narzędzie wiersza poleceń napisanych w Pythonie. Oprogramowanie obsługuje wiele internetowych platform udostępniania wideo (oto pełna lista obsługiwanych witryn) i jest dostępna w repozytorium najczęściej używanych dystrybucji Linuksa, takich jak Fedora, Debian (i jej pochodne) i archlinux). Zainstalowanie go to tylko kwestia wywołania menedżera opakowania naszego ulubionego dystrybucji. Na przykład na Fedorze uruchomilibyśmy:

$ sudo dnf instaluj youtube-dl 

Zamiast tego w Debian uruchomimy następujące polecenie:

$ sudo apt-get aktualizacja && sudo apt-get instaluj youtube-dl 

Na archlinux pakiet jest zawarty w wspólnota magazyn. Aby go zainstalować za pośrednictwem Pacman Bieglibyśmy:

$ sudo pacman -sy youtube -dl 

Bycie oprogramowaniem opracowanym w Python jest również możliwe, aby uzyskać je za pośrednictwem Menedżera opakowań językowych programowania, pypeć. Aby na przykład zainstalować aplikację tylko dla bieżącego użytkownika, możemy uruchomić następujące polecenie (nie potrzebne uprawnienia administracyjne):

$ pip instaluj youtube-dl --user 

Podstawowe użycie

Korzystanie z YouTube-DL jest bardzo proste. Jego podstawowa składnia jest następująca:

YouTube-DL [opcje] URL 


Powiedzmy na przykład chcemy pobrać wideo z Air Mozilla platforma. Wszystko, co musimy zrobić, to wywołać program i przekazać adres URL wideo jako argument:

$ youtube-dl https: // mozilla.hostowane.Panopto.com/panopto/strony/przeglądarka.ASPX?ID = EF87C31E-B5B9-45A7-99AD-ACA801514379 [Ogólny] Przeglądarka: żądanie ostrzeżenia nagłówka: Wrócenie na ogólny wyciąg z informacji. [Ogólny] przeglądarka: Pobieranie strony internetowej [ogólna] przeglądarka: Wyodrębnienie informacji [Pobierz] miejsce docelowe:/home/egdoc/filmy/Radość kodowania - odcinek 237 - 13 stycznia 2021.MP4 [Pobierz] 100% z 1.84gib w 06:08 

Po uruchomieniu powyższego polecenia powinniśmy znaleźć plik wideo w naszym katalogu roboczym.

Wymień dostępne formaty wideo

Domyślnie YouTube-DL próbuje pobrać najlepszy dostępny format dla określonego filmu. W niektórych przypadkach jednak możemy chcieć uzyskać listę wszystkich dostępnych. Wszystko, co musimy zrobić, aby wykonać wspomniane zadanie, to wywołać wniosek z -F opcja (skrót --Formaty listy). Zobaczmy przykład za pomocą adresu URL YouTube (wideo
pochodzi z Linuxconfig.kanał org):

$ youtube -dl -f https: // www.youtube.Com/Watch?v = iyocjk3pa4w [youtube] iyocjk3pa4w: Pobieranie strony internetowej [YouTube] iyocjk3pa4w: Pobieranie manifestów mpd [Informacje] Dostępne formaty dla Iyocjk3pa4w: Format rozszerzający rozszerzenie Rozdzielczość rozszerzenia Note 251 WebM Audio Audio 3K, WebM_Dash Containt, Opus @160K (48000HZ) 139 M4A) Audio Dash Audio 49K, kontener M4A_DASH, MP4A.40.5@ 48K (22050 Hz) 140 M4A Audio Dash Audio 130K, kontener M4A_DASH, MP4A.40.2@128K (44100 Hz) 134 MP4 570x360 Dash Video 15K, kontener MP4_DASH, AVC1.4d401e, 30 fps, wideo tylko 136 MP4 1142x720 Dash Video 54K, kontener MP4_DASH, AVC1.64ką.4D400B, 30fps, wideo tylko 242 Webm 380x240 Dash Video 220K, WebM_Dash Container, VP9, ​​30FP, wideo tylko 133 MP4 380x240 Dash Video 242k, MP4_DASH Container, AVC1.4D400C, 30fps, wideo tylko 243 webm 570x360 Dash Video 405k, WebM_Dash Container, VP9, ​​30FP, wideo tylko 244 Webm 760x480 Dash Video 752K, WebM_Dash Container, VP9, ​​30fps, Tylko wideo 135 MP4 760x480 Dash 1155K, MP4_Dash Container, AVC1.4D400A, 30fps, wideo tylko 247 Webm 1142x720 Dash Video 1505K, WebM_Dash Container, VP9, ​​30FP, wideo tylko 18 MP4 570x360 360P 110K, AVC1.42001e, 30fps, MP4A.40.2@ 96k (44100 Hz), 280.25Kib 22 MP4 1142x720 720p 169K, AVC1.64001F, 30fps, MP4A.40.2@192k (44100 Hz) (najlepsze) 

Wyjście polecenia jest bardzo dobrze sformatowane. Możemy łatwo dostrzec rozszerzenie wideo, rozdzielczość wideo, użyte kodowanie, a także rozmiar pliku.

Jak możemy określić format, który chcemy pobrać? Wszystko, co musimy zrobić, to wywołać YouTube-DL znowu, ale tym razem my -F opcja (małe litery), która jest krótka dla --format, i odwołać się do formatu, który chcemy pobrać, podając Kod formatu zgłoszone w pierwszej kolumnie powyższego wyjścia jako jego argument. Powiedzmy na przykład chcemy pobrać 570x360 wersja filmu z MP4 rozszerzenie; Bieglibyśmy:

$ youtube -dl -f 18 https: // www.youtube.Com/Watch?v = iyocjk3pa4w [youtube] iyocjk3pa4w: Pobieranie strony internetowej [youtube] iyocjk3pa4w: Pobieranie manifestu MPD [Pobierz] Desting: Drukowanie wiadomości na ekranie za pomocą nazwy rur i powłoki bash - Przykład 01 -iyocjk3pa4w.MP4 [Pobierz] 100% z 280.25Kib w 00:00 

Możliwe jest również pobranie wszystkich dostępnych formatów, wywołując YouTube-DL z --WSZYSTKO FORMATS opcje lub instruuj aplikację, aby preferować darmowe formaty za pomocą --preferowane formaty.

Uzyskanie tylko ścieżki audio

Czasami możemy chcieć uzyskać tylko ścieżkę audio dla określonego źródła wideo. W takich przypadkach możemy zrobić dwie rzeczy: pierwsze jest pobranie formatu tylko audio, jeśli jest dostępny. Trzymanie się wyjścia z poprzedniego przykładu, aby pobrać opus Ścieżka audio, uruchomimy:

$ youtube -dl -f 251 https: // www.youtube.Com/Watch?v = iyocjk3pa4w 

Drugim, bardziej ogólnym rozwiązaniem, jest wyodrębnienie dźwięku ze ścieżki wideo. Aby wykonać wspomnianą operację, musimy wywołać YouTube-DL z -X opcja (--Extract-Audio). Aby ekstrakcja działała poprawnie, powinniśmy mieć FFMPEG I ffprobe (Lub Avconv I Avprobe) Zainstalowane w naszym systemie. Aby wyodrębnić dźwięk dla adresu URL, którego używamy jako przykład, uruchomimy:

$ youtube -dl -x https: // www.youtube.Com/Watch?v = iyocjk3pa4w 


Co jeśli chcemy określić format audio dla wyodrębnionej ścieżki? Wszystko, co musimy zrobić, to użyć --Audio-format opcja. Ta opcja ma sens tylko wtedy, gdy jest używana z -X. Możemy wybrać format audio wśród: „Best” (domyślny), „aac”, „flac”, „mp3”, „m4a”, „opus”, „vorbis”, „wav”. Aby uzyskać na przykład plik „FLAC”, uruchomimy:

$ youtube-dl -x --audio-format flac https: // www.youtube.Com/Watch?v = iyocjk3pa4w 

Kiedy używamy -X opcja, plik wideo jest pobierany, a następnie konwersja jest wykonywana w celu uzyskania ścieżki audio. Po zakończeniu konwersji plik wideo jest automatycznie usuwany. Jeśli chcemy to zachować, możemy użyć -k opcja (skrót --Keep-video).

Przesyłać strumieniowo wideo bezpośrednio do odtwarzacza multimedialnego

Kolejną bardzo fajną funkcją YouTube-DL jest możliwość przesyłania wideo bezpośrednio do określonego odtwarzacza multimedialnego. Wszystko, co musimy zrobić, aby osiągnąć funkcjonalność, to pouczyć YouTube-DL, aby przesyłać strumieniowo media Stdout (standardowe wyjście) i niż wywołują odtwarzacz multimedialny, który może odczytać z stdin (Standardowe wejście). Możemy użyć rury skorupowej do wykonania operacji. Przypuśćmy, że używamy VLC, Bieglibyśmy:

$ youtube -dl -o -https: // www.youtube.Com/Watch?v = iyocjk3pa4w | VLC - 

Jeśli wszystko pójdzie zgodnie z oczekiwaniami, odtwarzacz wideo zostanie uruchomiony, a określony wideo zostanie przesyłane strumieniowo po małym czasie buforowania.

Zapisywanie filmów w określonym katalogu

Po pobraniu pliku może być konieczne określenie katalogu, w którym należy go pobrać, co nie jest naszym aktualnym katalogiem roboczym. Aby wykonać taką operację -o opcja. Na przykład, aby pobrać plik do ~/Filmy katalog, który moglibyśmy uruchomić:

$ youtube -dl -o '~/videos/%(tytuł) s.%(ext) s 'https: // mozilla.hostowane.Panopto.com/panopto/strony/przeglądarka.ASPX?ID = EF87C31E-B5B9-45A7-99AD-ACA801514379 

Zobaczmy, co zrobiliśmy w powyższym przykładzie. -o Opcja pozwól nam określić rodzaj systemu „szablonu”, aby określić, jak zapisać pobrany plik. W naszym przykładzie stwierdziliśmy, że plik należy pobrać w środku ~/Wideo katalog i plik powinny być nazwane na cześć tytułu wideo, a następnie kropka i rozszerzenie wideo. Każdy element szablonu musi być określony przez procentowy symbol (%), a następnie element w nawiasach i formatowanie operacji: W tym przypadku użyliśmy S Poinstruujemy więc, aby sformatować elementy jako ciąg. W takim przypadku plik zostanie zapisany jako:

'/home/egdoc/filmy/radość z kodowania - odcinek 237 - 13 stycznia 2021.MP4 ' 

Istnieją różne elementy, których można użyć do konstruowania nazwy pliku. Kilka przykładów:

Nazwy Oznaczający
ID Identyfikator filmu
tytuł Tytuł wideo
ext Rozszerzenie nazwy pliku wideo
przesyłanie Nazwa przesyłania wideo
kanał Nazwa kanału hostującego wideo


Korzystanie z pliku konfiguracyjnego

Zamiast określać poszukiwane opcje za każdym razem, gdy wywołujemy YouTube-DL, możemy je ustawić raz w jego pliku konfiguracyjnym, aby były one automatycznie używane. YouTube-DL szuka pliku konfiguracyjnego w całym systemie pod adresem /etc/youtube-dl.conf, i dla pliku dla użytkownika pod adresem ~/.Config/YouTube-DL.conf. Pliki mogą nie istnieć domyślnie, więc być może będziemy musieli je utworzyć.

Wewnątrz pliku linie zaczynające się na # Symbol są uważane za komentarze, a pożądane opcje muszą być określone po jednym na wiersz. Na przykład, aby zawsze przyjmować wzór pobierania, którego użyliśmy w poprzednim przykładzie, w pliku konfiguracyjnym możemy po prostu napisać:

# Pobierz za pomocą określonego wzoru -o '~/videos/%(tytuł) s.%(ext) s ' 

Wnioski

W tym samouczku nauczyliśmy się podstawowego użycia narzędzia wiersza poleceń YouTube-DL. Program może być używany do pobierania filmów z kilku platform udostępniania wideo. Widzieliśmy, jak go zainstalować za pomocą menedżerów opakowań najczęściej używanych dystrybucji Linux i za pośrednictwem pypeć. Widzieliśmy, jak pobrać wideo, jak wymienić wszystkie dostępne formaty i jak poinstruować aplikację do pobrania określonego. Widzieliśmy również, jak przesyłać strumieniowo wideo bezpośrednio do odtwarzacza multimedialnego i jak go pobrać i zapisać za pomocą serii elementów szablonów. Ponownie, jedną bardzo ważną rzeczą do zapamiętania jest to, że aplikacja powinna być używana tylko do pobierania filmów, gdzie jest dozwolona, ​​aby upewnić się, że nie naruszył żadnego prawa autorskiego.

Powiązane samouczki Linux:

  • Najlepsze oprogramowanie do edycji wideo w Linux
  • Jak zdobyć i zmienić metadane wideo w Linux
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • YT-DLP vs YouTube-DL
  • Najlepszy odtwarzacz wideo dla Linux
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Podstawowe polecenia Linux
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Hung Linux System? Jak uciec do wiersza poleceń i…
  • VIM Editor Basics w Linux