1

我尝试使用以下 Python 3.x 代码下载字幕和视频。它只是不工作。

这是我的代码:

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!")
4

1 回答 1

1

您需要设置'writesubtitles': Trueyoutube-dl 才能下载字幕。此外,您应该指定[ext=mp4]否则程序可能会下载与 mp4 格式不兼容的 .webm 文件。下面的代码解决了这些问题:

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 文件夹中。你可以从这里得到它。

于 2020-11-04T23:06:20.033 回答