Скачивание нескольких файлов с помощью youtube-dl

Я использую youtube-dl для загрузки файлов с YouTube. Я пытался загрузить несколько файлов, но у меня ничего не вышло. Мне нужно открывать несколько терминалов и начинать заново каждый раз, когда я хочу скачать видео.

Можете ли вы помочь мне загрузить несколько файлов в одном окне терминала, просто упомянув все URL-адреса одновременно? Я использую Ubuntu 12.04 64-bit.

59
задан 19 August 2017 в 07:30

10 ответов

Ярлыки

Если все видео находятся в одном плейлисте или на одном канале, вы можете сэкономить время, используя следующие ярлыки.

Плейлист

youtube-dl -f FORMAT -ciw -o "%(title)s.%(ext)s" -v <url-of-playlist>

... где заменяется URL-адресом списка воспроизведения, а FORMAT заменяется любым доступным видеоформатом, например 18 . Вы можете использовать опцию -F , чтобы увидеть все допустимые форматы, например:

youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'

Загрузить часть списка воспроизведения от начала пакета до конца пакета

youtube-dl -f FORMAT -ci --playlist-start NUMBER --playlist-end NUMBER <url-of-playlist>  

... где заменяется URL-адресом списка воспроизведения, замените FORMAT любым доступным видеоформатом, например 18 , а НОМЕР - это номер видео в плейлисте для начала / завершения загрузки.

Канал

youtube-dl -f FORMAT -ciw -o "%(title)s.%(ext)s" -v <url-of-channel>

... где заменяется URL-адресом канала и заменяется FORMAT с любым доступным форматом видео, например 18 .

Видео не в том же списке воспроизведения или канале

Сначала создайте пакетный файл, который представляет собой текстовый файл, содержащий список URL-адресов. видео с YouTube, которые вы хотите скачать. URL-адреса должны быть расположены в списке, имеющем только один URL-адрес и ничего больше в каждой строке, с новой строкой для каждого URL-адреса в списке. Сохраните командный файл с легко запоминающимся именем, например, batch-file.txt. Если несколько файлов находятся в одном плейлисте, канале или пользовательской веб-странице на YouTube, вы можете создать текстовый файл со списком, содержащим все ссылки на этой странице, выполнив следующую команду:

sudo apt install jq  
youtube-dl -j --flat-playlist "https://<yourYoutubeWebpage>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt

Из терминала запустите:

youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'

Это основная команда, однако вам также необходимо добавить форматы видео, которые вы хотите загрузить, иначе вы можете обнаружить, что загружаете видео в форматах, которые вам не нужны. Итак, сначала смоделируйте загрузку, чтобы увидеть, доступен ли нужный формат:

youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'

Если формат видео недоступен, вы получите сообщение об ошибке: запрошенный формат недоступен . Если формат видео доступен, вы не получите никакого сообщения об ошибке при использовании опции - моделировать . Вы также можете добавить параметр -F, чтобы увидеть все допустимые форматы, например:

youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'

В третьей команде я использовал общий видеоформат FLV 360p:
-f 34 . Вы можете предпочесть попробовать видеоформат flv 480p, используя -f 35 . Итак, после того, как вы добавили видеоформат, который вы хотите в команду, команда будет выглядеть примерно так:

youtube-dl -ciw -o "%(title)s.%(ext)s" --batch-file='/path/to/batch-file.txt'

Примечания:

Я не добавил параметр - simulate к последней команде , так что эта команда будет выполнена по-настоящему.

64
ответ дан 19 August 2017 в 07:30

Azonao atao tsirairay ny mametraka ny url, misy elanelana eo anelanelany. Youtube-dl dia hampidina azy ireo misesy. Somary tsotra kokoa io noho ny fanaovana rakitra maromaro.

Mariho ny lazain'ny --help youtube-dl --help Fampiasana: youtube-dl [options] url [url ...]

Fampidihana santionany:

youtube-dl http://www.youtube.com/watch?v=fqULJBBEVQE http://www.youtube.com/watch?v=vDbbz-BdyYc http://www.youtube.com/watch?v=OrIFaWJ9Glo

Famoahana santionany:

    [youtube] Setting language
    [youtube] fqULJBBEVQE: Downloading video webpage
    [youtube] fqULJBBEVQE: Downloading video info webpage
    [youtube] fqULJBBEVQE: Extracting video information
    [download] Destination: Web Components - A Tectonic Shift for Web Development - Google I_O 2013-fqULJBBEVQE.mp4
    [download] 100% of 238.14MiB in 36:54
    [youtube] vDbbz-BdyYc: Downloading video webpage
    [youtube] vDbbz-BdyYc: Downloading video info webpage
    [youtube] vDbbz-BdyYc: Extracting video information
    [download] Paul Irish on Web Application Development Workflow-vDbbz-BdyYc.mp4 has already been downloaded
    [youtube] OrIFaWJ9Glo: Downloading video webpage
    [youtube] OrIFaWJ9Glo: Downloading video info webpage
    [youtube] OrIFaWJ9Glo: Extracting video information
    [download] Got server HTTP error. Retrying (attempt 1 of 20)...
    [download] Destination: Single Page Web Applications - JavaScript End-to-End (The Hard Stuff)-OrIFaWJ9Glo.mp4
    [download] 100% of 553.10MiB in 42:17
31
ответ дан 19 August 2017 в 07:30

Для загрузки нескольких видео вы можете использовать эту структуру. Он похож на ответ @ coreyb с той лишь разницей, что вы можете использовать его где-нибудь в bash, например, с echo. Вот два способа:

Фигурные скобки

youtube-dl -f FORMAT {url1,url2,url...}

Повторить последнюю команду без последнего аргумента

youtube-dl -f FORMAT url1; !:- url2; !:-url...
3
ответ дан 19 August 2017 в 07:30

Чтобы загрузить несколько файлов с YouTube

  1. Перейдите на рабочий стол и создайте текстовый документ с именем list (или любым другим именем). Скопируйте и вставьте URL-адреса файлов, которые вы хотите загрузить, в файл, по одному URL-адресу в строке.

  2. Откройте терминал и перейдите на рабочий стол

     cd ~ / Desktop
     
  3. Чтобы загрузить файлы из вашего списка, введите (замените list соответствующим образом, если вы назвали свой файл другим именем)

     youtube-dl -a list
     

Чтобы загрузить список воспроизведения YouTube

Выполните эту команду

youtube-dl -citk -format mp4 -yes-playlist VIDEO_PLAYLIST_LINK
  • -c возобновите частично загруженные файлы
  • -i игнорируйте любые ошибки.
  • -t используйте заголовок видео в качестве имени файла.
  • -k сохранить видео на диске после завершения постобработки.
  • - формат mp4 сохраняет видеофайлы как файлы MP4.
  • - да-плейлист подтверждает, что следующий URL указывает на список воспроизведения видео.
10
ответ дан 19 August 2017 в 07:30

Если у вас несколько URL-адресов видео, просто добавьте их в один список воспроизведения плейлиста YouTube, создав новый или используя существующий.

Тогда используйте команду ниже.

youtube-dl -f FORMAT --yes-playlist [url-of-playlist]

Вариант --да-плейлист загрузит плейлист, если URL-адрес ссылается на видео и плейлист.

Это самый простой и быстрый вариант, который я нашел для своей цели, чтобы загрузить сотни видео с веб-сайта, на котором есть ссылки на видео с YouTube.

3
ответ дан 19 August 2017 в 07:30

Введите команду, затем введите && и введите следующую команду, например:

youtube-dl--add-metadata -xic http://(the url) && youtube-dl--add-metadata -xic http://(the url) 
1
ответ дан 19 August 2017 в 07:30

самым простым решением было бы создать сценарий bash, подобный этому

#!/bin/bash
terminal=`tty`
exec < ~/Documents/youtubevideolinks.txt

while read -r line
do
    cd ~/Desktop/TilakDa/
    youtube-dl -f 18 "$line"
done
exec < "$terminal"

, просто скопируйте и вставьте ссылки на видео в этот текстовый файл в папку документов с каждым URL видео в новой строке и запустите этот скрипт , он загрузит видео одно за другим По умолчанию параметр -f 18 предназначен для видео 360p

4
ответ дан 19 August 2017 в 07:30

Попробуйте использовать сценарий bash:

while read LL ; do youtube-dl "$LL" ; done < your_file
1
ответ дан 10 October 2019 в 13:46

Тема все еще актуальна, поэтому:

  • Получите ссылку на YouTube.
  • Удалить первый параметр видео, начинающийся с ?
  • использовать так :-)

     youtube-dl.exe --yes-playlist https://www.youtube.com/watch?list=  ваш список ссылка
     

У меня это работает.

1
ответ дан 22 November 2019 в 23:57

youtube-dl -cit --format = mp4 - batch-file =. / list-of-youtube-videos-link.txt - вот что сработало для меня, объединив https://askubuntu.com/a/947676/481688 и https : //askubuntu.com/a/334097/481688 решения. Я записываю его здесь отдельно, а не прокручиваю несколько ответов снова в будущем.

  • - batch-file =. / List-of-youtube-videos-link.txt файл со списком ссылок на YouTube
  • ] - format = mp4 желаемый вывод в формате mp4
  • -c возобновить частично загруженные файлы
  • -i игнорировать любые ошибки.
  • -t использовать заголовок видео как имя файла.
2
ответ дан 5 January 2021 в 23:20

Другие вопросы по тегам:

Похожие вопросы: