Как скачать субтитры к видео с Youtube на английском языке с помощью Youtube-dl в программе

Я попытался загрузить субтитры вместе с видео. Это просто не работает. Вот мой код:

from __future__ import unicode_literals
import youtube_dl
ydl_opts = {
'outtmpl': '/PATH/%(title)s'+'.mp4',
'format':' (bestvideo[width>=?1080]/bestvideo)+bestaudio/best',
'subtitle': '--write-srt --sub-lang en',
}
url = input("Enter your URL: ")
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])
print("Downloaded!")

0 ответов

Вам нужно установить 'writesubtitles': Trueдля youtube-dl для загрузки субтитров. Также следует указать [ext=mp4]или программа может загружать файлы.webm, несовместимые с форматом mp4. Следующий код решает эти проблемы:

from __future__ import unicode_literals
import youtube_dl
ydl_opts = {
'outtmpl': '/Downloads/%(title)s_%(ext)s.mp4',
'format': '(bestvideo[width>=1080][ext=mp4]/bestvideo)+bestaudio/best',
'writesubtitles': True,
'subtitle': '--write-sub --sub-lang en',
}
url = input("Enter your URL: ")
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])
print("Download Successful!")

Кроме того, не забудьте сохранить ffmpeg.exeв папке youtube-dl для слияния видео и аудио файлов. Вы можете получить его здесь.

Другие вопросы по тегам