youtube-dl, загрузка файлов с субтитрами

#youtube #youtube-dl

#YouTube #youtube-dl

Вопрос:

Я пытаюсь загрузить видео с канала, у которого есть субтитры. Существует более тысячи файлов, но лишь немногие имеют субтитры.

youtube-dl --all-subs -ciw -o "./tmp/%(playlist_index)s - %(title)s.%(ext)s" https://www.youtube.com/watch?v=eVW0Xz85qSAamp;list=PLElG6fwk_0UmBgC02jKJePx

Если я могу запускать команду после каждой загрузки URL, этого может быть достаточно. В этом случае я проверю наличие любого файла субтитров и приму решение сохранить его или удалить.

может --exec быть, это и хорошо, но у меня это сработало не так, как я ожидал.

Ответ №1:

Вероятно, это можно было бы сделать более элегантным способом. Но у меня это работает.

Сначала извлеките URL-адреса с субтитрами (конечно, замените «playlist_url» фактическим URL-адресом списка воспроизведения).

 youtube-dl --write-sub -ij playlist_url | jq -r ".subtitles" 
| grep -Eo "v=[^amp;] " | sort -u > urls.txt 
amp;amp; sed -i -e s7^7https://www.youtube.com/watch?7 urls.txt
 

а затем загрузите эти файлы с помощью пакетного ввода

 youtube-dl -cia urls.txt
 

* обратите внимание, что правильный playlist_url для указанного вами адреса канала — «https://www.youtube.com/user/SonechkoProject/videos »

Комментарии:

1. у меня это не сработало. Я протестировал его для этого URL-адреса плейлиста //www.youtube.com/watch?v=iy9J81i-Y-kamp;list=PLElG6fwk_0UmBgC02jKJePxzFRne4OCHy . он включает в себя видео с субтитрами. Я вижу вывод json. он включает «.subtitles», но urls.txt пусто в конце. Я даже удалил команды grep, sort и sed. но результат тот же.

2. Ваш адрес — это отдельный видеоадрес с прикрепленным списком воспроизведения. Вам нужно заключить его в кавычки, поскольку в нем есть сущность.