Я спробував завантажити список відтворення у вашому запитанні, і я отримав те саме повідомлення про помилку, що і ви. Замість того, щоб оновити 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
параметр до останньої команди, тому ця команда буде виконуватися реально.