Проблемы с загрузкой плейлиста с использованием 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 в новой строке. После этого я мог скачать все видео одной командой, следуя этим инструкциям.

  1. Создайте пакетный файл, который представляет собой текстовый файл, содержащий список 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 
    
  2. Из терминала запустить:

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. Это основная команда, однако вам также необходимо добавить форматы видео, которые вы хотите загрузить, иначе вы можете загружать видео в тех форматах, которые вам не нужны. Поэтому сначала смоделируйте загрузку, чтобы увидеть, доступен ли нужный формат:

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. Если формат видео недоступен, вы получите сообщение об ошибке: requested format not available, Если видео формат доступен, вы не получите сообщение об ошибке при использовании --simulate вариант. Вы также можете добавить -F возможность увидеть все допустимые форматы, как это:

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. В приведенной выше команде я использовал общий формат видео 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
Другие вопросы по тегам