Проблеми із завантаженням списку відтворення за допомогою 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 |
греп

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.