Вопрос Загрузка нескольких файлов с помощью youtube-dl


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

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


29
2017-08-18 10:15


происхождения


Не ответ на ваш вопрос, но другие могут наткнуться на это. Если видео связано каким-то образом, помните, что youtube-dl может загружать все видео из списка воспроизведения, пользователя или канала. - Dennis
см. ответ ниже (не самый популярный в настоящее время), предлагающий просто добавить пространство между url, и вы закончили. - gota


ответы:


Ярлыки

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

Playlist

youtube-dl -f FORMAT -ci <url-of-playlist>

...где <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-of-playlist> заменяется URL-адресом плейлиста, заменяет FORMAT с любым доступным видеоформатом, например 18, а также NUMBER это номер видео в плейлисте для начала / окончания загрузки.

канал

youtube-dl -f FORMAT -citw -v <url-of-channel>

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

Видео не в том же плейлисте или канале

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

lynx --dump -listonly "URL-of-YouTube-webpage" > 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'

Если видеоформат недоступен, вы получите сообщение об ошибке: requested format not available, Если видеоформат доступен, вы не получите сообщение об ошибке, если используете --simulate вариант. Вы также можете добавить опцию -F, чтобы увидеть все допустимые форматы:

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

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

youtube-dl -cit -f 35 --batch-file='/path/to/batch-file.txt'

Заметки: 

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


37
2017-08-18 11:40





Вы можете поместить URL-адреса один за другим с промежутком между ними. Youtube-dl будет загружать их последовательно. Это немного проще, чем создание пакетного файла.

Обратите внимание, что -help говорит youtube-dl --help Usage: youtube-dl [options] url [url...]

Пример ввода:

    corey in /media/Media/Videos$ youtube-dl http://www.youtube.com/watch?v=fqULJBBEVQE http://www.youtube.com/watch?v=vDbbz-BdyYc http://www.youtube.com/watch?v=OrIFaWJ9Glo

Пример вывода:

    [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

9
2017-11-13 15:23



Лучший ответ на мой взгляд! Очень просто! - gota


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

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

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

Опция --yes-playlist загрузит список воспроизведения, если URL-адрес относится к видео и списку воспроизведения.

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


3
2018-03-24 17:29



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


Чтобы загрузить несколько видеороликов, вы можете использовать эту структуру. Это похоже на ответ @ coreyb с добавлением, что вы можете использовать его в другом месте в bash, например, с эхом. Вот два способа:

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

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

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

youtube-dl -f FORMAT url1; !:- url2; !:-url...

2
2018-06-26 11:51





самым простым решением будет создание сценария 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"

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


2
2018-06-26 12:07





шаг 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 сохраняйте видео на диске после завершения последующей обработки.
  • --format mp4 сохраните видеофайлы в виде файлов MP4.
  • --yes-playlist подтверждает, что следующий URL-адрес указывает на список воспроизведения видео.

2
2017-08-19 03:32



-citk очень вводит в заблуждение и может привести к ошибкам. -c силы возобновляются, даже если это не имеет большого смысла. Значение по умолчанию уже продолжено. -i может быть в порядке, но будьте осторожны, что вы можете пропустить ошибки в некоторых видео. -t уже по умолчанию и устарел. -k не имеет смысла с -f mp4, См. Вопросы по youtube-dl Больше подробностей. - phihag


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

youtube-dl--add-metadata -xic http://(the url) && youtube-dl--add-metadata -xic http://(the url) 

1
2017-08-12 04:07