Проблемы с загрузкой плейлиста с использованием youtube-dl


19

Я получил сообщение, что 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.

Итак ... ты сделал что-нибудь, что он предложил?
Nattgew

1
Я столкнулся с проблемой, описанной в названии, но по другой причине. Если кто-то столкнется с этим (но сообщение об ошибке будет другим), не забудьте указать свой URL-адрес между кавычками, например youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh", потому что оболочка Windows cmd.exe и Linux интерпретируют амперсанд &как специальный символ.
f.ardelian

Ответы:


31

У меня была эта проблема .. Попробуйте вот так ...

Удалить старую версию 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

Проверьте эту ссылку для более подробной информации.

Надеюсь, это поможет вам ..


6

Используйте 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

5

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


Я должен был добавить | grep index = чтобы получить только список файлов lynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2 " | awk '/ http / {print $ 2}' | uniq | grep index =
Талсибони

0

Я использовал код ниже

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz

Даже после обновления я получил похожую ошибку. Итак, вместо «-cit» я использовал «-citv», и это сработало.

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.