Я использую 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.
Как я могу это сделать?
Ваше решение - использовать файл config. В Linux и OS X файл конфигурации системы находится в папке /etc/youtube-dl.conf и в файле конфигурации пользователя в ~/.config/youtube-dl/config. Обратите внимание, что файл конфигурации по умолчанию может не существовать, поэтому вам может понадобиться его создать самостоятельно. У меня не было в моем ~/.config, поэтому мне пришлось создать свой файл конфигурации. Там вы можете передать любой аргумент, который вы обычно используете с командой inline в 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, специально прочитав CONFIGURATION & amp; OUTPUT TEMPLATE.