Używam youtube-dl do pobierania plików z YouTube. Próbowałem pobrać wiele plików, ale to nie działa. Muszę otworzyć wiele terminali i zacząć od nowa za każdym razem, gdy chcę pobrać film.
Czy możesz mi pomóc pobrać wiele plików za pomocą jednego okna terminala, wymieniając tylko wszystkie adresy URL jednocześnie? Używam Ubuntu 12.04 64-bit.
Odpowiedzi:
Skróty
Jeśli wszystkie filmy są na tej samej liście odtwarzania lub na tym samym kanale, możesz zaoszczędzić czas, korzystając z następujących skrótów.
Lista odtwarzania
... gdzie
<url-of-playlist>
jest zastąpiony adresem URL listy odtwarzania iFORMAT
na przykład dowolnym dostępnym formatem wideo18
. Możesz użyć tej-F
opcji, aby wyświetlić wszystkie prawidłowe formaty takie jak to:Pobierz część listy odtwarzania od początku partii do końca partii
... gdzie
<url-of-playlist>
jest zastąpiony adresem URL listy odtwarzania,FORMAT
na przykład dowolnym dostępnym formatem wideo18
iNUMBER
jest numerem filmu na liście odtwarzania, od którego można rozpocząć / zakończyć pobieranie.Kanał
... gdzie
<url-of-channel>
jest zastąpiony adresem URL kanału iFORMAT
na przykład dowolnym dostępnym formatem wideo18
.Filmy spoza tej samej listy odtwarzania lub kanału
Najpierw utwórz plik wsadowy, który jest plikiem tekstowym zawierającym listę adresów URL filmów z YouTube, które chcesz pobrać. Adresy URL powinny być ułożone na liście zawierającej tylko jeden adres URL i nic więcej w każdym wierszu, z nową linią dla każdego adresu URL na liście. Zapisz plik wsadowy z łatwą do zapamiętania nazwą, jak plik wsadowy.txt. Jeśli wszystkie pliki znajdują się na tej samej liście odtwarzania, kanale lub stronie użytkownika w YouTube, możesz wygenerować plik tekstowy z listą zawierającą wszystkie linki na tej stronie, uruchamiając następujące polecenie:
Z terminalu:
Jest to podstawowe polecenie, ale musisz również dodać formaty filmów, które chcesz pobrać, w przeciwnym razie możesz pobrać filmy w formatach, których nie chcesz. Najpierw symuluj pobieranie, aby sprawdzić, czy żądany format jest dostępny:
Jeśli format wideo nie jest dostępne otrzymasz komunikat o błędzie:
requested format not available
. Jeśli format wideo jest dostępny, nie pojawi się komunikat o błędzie podczas korzystania z tej--simulate
opcji. Możesz także dodać opcję -F, aby wyświetlić wszystkie prawidłowe formaty takie jak to:W trzeciej komendzie Użyłem wspólnej flv 360p format wideo:
-f 34
. Możesz wypróbować format wideo flv 480p przy użyciu-f 35
. Więc po dodaniu formatu wideo, który chcesz do polecenia, polecenie staje się mniej więcej takie:Uwagi:
Nie dodałem tej
--simulate
opcji do ostatniego polecenia, więc to polecenie zostanie wykonane naprawdę.źródło
Możesz umieszczać adresy URL jeden po drugim, z odstępem pomiędzy nimi. Youtube-dl pobierze je sekwencyjnie. Jest to nieco prostsze niż tworzenie pliku wsadowego.
Zauważ, że --help mówi
youtube-dl --help Usage: youtube-dl [options] url [url...]
Przykładowe dane wejściowe:
Przykładowe dane wyjściowe:
źródło
krok 1: przejdź na pulpit i utwórz dokument tekstowy o nazwie
list
(lub innej nazwie). Skopiuj i wklej adresy URL, jeśli pliki chcesz pobrać do pliku, jeden adres URL w wierszukrok 2: otwórz terminal i przejdź do pulpitu
krok 3: aby pobrać pliki z listy, wpisz (zamień
list
odpowiednio, jeśli nazwa twojego pliku jest inna)Aby pobrać kanał YouTube
Uruchom to polecenie
-c
wznowić częściowo pobrane pliki-i
zignoruj wszelkie błędy.-t
użyj tytułu wideo jako nazwy pliku.-k
zachowaj wideo na dysku po zakończeniu przetwarzania końcowego.--format mp4
zapisz pliki wideo jako pliki MP4.--yes-playlist
potwierdza, że następujący adres URL wskazuje na listę odtwarzania wideo.źródło
-citk
jest bardzo mylące i może prowadzić do błędów.-c
zmusza wznowienie, nawet jeśli nie ma to większego sensu. Domyślne jest już kontynuowane.-i
może być w porządku, ale pamiętaj, że możesz przegapić błędy w niektórych filmach.-t
jest już wartością domyślną i jest przestarzała.-k
nie ma sensu z-f mp4
. Aby uzyskać więcej informacji, zobacz często zadawane pytania dotyczące youtube-dl .Jeśli masz wiele adresów URL filmów, po prostu dodaj je do jednej listy odtwarzania do listy odtwarzania YouTube, tworząc nową lub używając istniejącej.
Następnie użyj polecenia poniżej.
Opcja
--yes-playlist
pobierze listę odtwarzania, jeśli adres URL odnosi się do filmu i listy odtwarzania.Jest to najprostsza i najszybsza opcja, jaką znalazłem, aby pobrać setki filmów ze strony internetowej, do której były połączone filmy z YouTube.
źródło
Aby pobrać wiele filmów, możesz użyć tej struktury. Jest podobny do odpowiedzi @ coreyb z tym, że możesz użyć go w bashu gdzie indziej, na przykład za pomocą echa. Oto dwa sposoby:
Szelki
Powtórz ostatnie polecenie bez ostatniego argumentu
źródło
najprostszym rozwiązaniem byłoby wykonanie takiego skryptu bash
po prostu skopiuj i wklej linki wideo w tym pliku txt w folderze dokumentów z każdym adresem URL wideo w nowej linii i uruchom ten skrypt , pobierze filmy jeden po drugim Domyślnie
-f 18
opcja dotyczy filmów 360pźródło
Wpisz polecenie, a następnie wpisz
&&
i wpisz następne polecenie, takie jak:źródło
Spróbuj ze skryptem bash:
źródło
Temat jest nadal aktualny, więc:
?
użyj w ten sposób :-)
To działa dla mnie.
źródło