Проблемы с загрузкой плейлиста с использованием youtube-dl
Я получил сообщение, что youtube-dl необходимо обновить, когда я пытаюсь загрузить список воспроизведения с youtube, когда я пытаюсь обновить, у меня появляется это сообщение об ошибке:
elshahen@elshahen-LAB:~$ youtube-dl -cit https://www.youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2
[youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Downloading page #1
WARNING: [youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Playlist page is missing OpenGraph title, falling back ...
ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.
4 ответа
У меня была эта проблема.. Попробуйте вот так...
Удалить старую версию youtube-dl
sudo apt-get remove -y youtube-dl
Загрузите последнюю версию с официального сайта
sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
Изменить разрешение загружаемого файла
sudo chmod a+x /usr/local/bin/youtube-dl
Проверьте эту ссылку для более подробной информации.
Надеюсь, это поможет вам..
Используйте ppa webUpd8: ppa:nilarimogard/webupd8
Он всегда содержит самую последнюю версию.
sudo apt-get remove youtube-dl
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl
Я попытался загрузить плейлист по вашему вопросу, и я получил то же сообщение об ошибке, что и вы. Вместо того, чтобы обновить youtube-dl, который работает нормально, я перешел на страницу вашего плейлиста, скопировал URL-адрес и выполнил следующие команды из терминала:
sudo apt install jq # command-line JSON processor
cd Desktop/
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt
Результатом этих команд был список всех ссылок на этой веб-странице. Я создал пакетный файл со списком URL-адресов всех видео в нем (только видео, а не других ссылок), каждый видео-URL в новой строке. После этого я мог скачать все видео одной командой, следуя этим инструкциям.
Создайте пакетный файл, который представляет собой текстовый файл, содержащий список URL-адресов видео с YouTube, которые вы хотите загрузить. URL-адреса должны быть расположены в списке, содержащем только один URL-адрес и ничего больше в каждой строке, с новой строкой для каждого URL-адреса в списке. Сохраните командный файл с именем, которое легко запомнить, например, batch-file.txt. Если все файлы находятся на одной веб-странице пользователя, канала или списка воспроизведения на YouTube, вы можете создать текстовый файл со списком, содержащим все ссылки на этой странице, выполнив следующую команду:
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | 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'
Если формат видео недоступен, вы получите сообщение об ошибке:
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 -f 35 -ciw -o "%(title)s.%(ext)s" --batch-file='/path/to/batch-file.txt'
Я не добавил
--simulate
вариант последней команды, поэтому эта команда будет выполнена по-настоящему.
Я использовал код ниже
youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
Даже после обновления я получил похожую ошибку. Итак, вместо "-cit" я использовал "-citv", и это сработало.
youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz