Как увеличить объем видео загрузки и переименовать их одновременно использование youtube-dl?

Я использую Ubuntu 16.04 LTS. Я хочу загрузить некоторые видео YouTube. Я узнал об инструменте командной строки youtube-dl от этого вопроса. Как упомянуто Yasser, с помощью команды,

youtube-dl youtube.com/videolink --format mp4

Я могу загрузить те видеофайлы в mp4 формате.

Теперь я хочу загрузить десять видео с различных каналов. У меня есть текстовый файл со ссылками YouTube и именами, которыми я хочу сохранить их. Текстовый файл с именем data.txt похож,

http://youtube.com/link1    name1
http://youtube.com/link2    name2
http://youtube.com/link3    name3 
.........                   ......
.........                   ......
http://youtube.com/link10    name10

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

Если у меня есть только ссылки в data.txt, т.е.

http://youtube.com/link1
http://youtube.com/link2
http://youtube.com/link3 
.........
.........
http://youtube.com/link10

Я могу загрузить видео с помощью команды только однажды с опцией -a,

youtube-dl --format mp4 -a data.txt

Но я не мог переименовать их одновременно. От man страница youtube-dl Я нашел, что существует опция --output установить имя файла.

Как я мог сделать это?

1
задан 13 April 2017 в 15:25

2 ответа

Если Вы только переименовываете файлы, потому что Вам не нравится стиль, которым youtube-dl называет их, то можно использовать --output (или -o) с шаблоном для настройки способа, которым он называет все файлы от метаданных YouTube.

, Например, -o %(title)s.%(ext)s заставит это не учитывать идентификаторы YouTube от всех имен файлов.

существует много опций, которые могут зависеть от Вашей версии youtube-dl, таким образом, полное изложение на этом может быть найдено на терминале путем ввода:

man youtube-dl
/OUTPUT
<час>

Однако, если Вы действительно хотите назвать каждый файл индивидуально, Вы могли бы вместо этого работать youtube-dl однажды за каждой строкой в текстовом файле как это:

(while read URL NAME; do [ "$URL" ] && youtube-dl --format mp4 -o "$NAME" "$URL"; done) < data.txt

Для каждой строки, разделение это на первом показе одной или нескольких вкладок и пробелов в URL и ИМЯ, затем если строка не является пробелом, передает их youtube-dl. Если строка просто будет иметь URL, то файл не будет переименован.

1
ответ дан 7 December 2019 в 15:38

Ваше решение состоит в том, чтобы использовать config файл. На Linux и OS X, конфигурационный файл в масштабе всей системы расположен в /etc/youtube-dl.conf и пользователь широкий конфигурационный файл в ~/.config/youtube-dl/config. Обратите внимание, что конфигурационным файлом по умолчанию может не существовать так, Вы, возможно, должны создать его сами. У меня не было никого в моем ~/.config, таким образом, я должен был создать свой конфигурационный файл. Там можно передать любой аргумент, который Вы обычно использовали бы со встроенной командой в youtube-dl. Хороший вариант использования является аутентификацией с .netrc файл и общее использование являются выходным форматом. Здесь является демонстрационным config файл:

#Authentication with .netrc file
--netrc

# Save all videos in a directory named vimeo in your home directory
-o "~/Vimeo/%(title)s %(upload_date)s i%(id)s.%(ext)s"


# Download best format available via direct link over HTTP/HTTPS protocol
-f '(bestvideo+bestaudio/best)[protocol^=http]'

# Simple file name
--restrict-filenames

Можно использовать --ignore-config если Вы хотите отключить конфигурационный файл для конкретного выполненного youtube-dl. В сущности, точно так же, как Вы используете -a переключитесь на пакетную загрузку, можно использовать config файл для пакетной обработки переименовывает загрузки и тонны других настроек, если Вы желаете. Все документируется с хорошими примерами в документации чиновника youtube-dl, особенно прочитайте КОНФИГУРАЦИЮ и ПРОИЗВЕДИТЕ ШАБЛОННЫЕ разделы.

0
ответ дан 7 December 2019 в 15:38

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

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