youtube-dl 保留自动生成的字幕和预写的字幕

big*_*ard 6 youtube youtube-dl

当我使用 youtube-dl 和 --all-subs、--write-sub、--write-auto-sub 下载视频时,我得到了预写字幕和自动生成字幕的混合

例如,这个视频:https : //www.youtube.com/watch?v= kHYZDveT46c 已经预先编写了英文字幕和自动生成的字幕。使用上述开关时,我只得到了预先编写的开关。我也想要自动生成的。我有什么办法可以做到这一点吗?谢谢

小智 2

另一个答案是错误的,实际上用这个“最新版本”的东西误导和浪费了人们的时间,这是他的问题,与问题无关......

实际的答案是 youtube-dl 仅使用其中的语言命名其字幕文件(例如:file.en.vtt),这意味着潜在的字幕auto-en将以与 相同的方式命名en,因此产生的规则是真实字幕始终优先于自动字幕如果命令中要求两者都要求。如果我们想单独完成这件事,就需要向开发人员询问这一点youtube-dl

来源 :

https://github.com/ytdl-org/youtube-dl/issues/1412

完成,但目前 --write-sub --write-auto-sub --all-sub 将下载 en、fr、auto-es。下载 en 和 auto-en 需要在信息字典中创建一个新字段以用于自动字幕。


Moj*_*ali 1

我对你的视频也有同样的问题。当我使用 --write-auto-sub 开关(写入自动生成的字幕文件)时,我得到了以下结果:

[youtube] kHYZDveT46c: Looking for automatic captions
WARNING: Couldn't find automatic captions for kHYZDveT46c
Run Code Online (Sandbox Code Playgroud)

然后我将 youtube-dl 更新到最新版本,问题解决了!

sudo pip install -U youtube-dl
Run Code Online (Sandbox Code Playgroud)

所以请确保您使用的是最新版本。

[编辑]

如之前所讨论的手动创建的字幕优于自动字幕,因为自动字幕来自翻译手动字幕或翻译音频源的音频/语音识别。

例如,如果可用的字幕为 en、fr、automatic-caption-en、automatic-caption-es:

--write-sub --sub-lang en: Download en
--write-sub --write-auto-sub --sub-lang en: Download en
--write-sub --all-sub: Download en, fr
--write-sub --write-auto-sub --all-sub: Download en, fr, automatic-caption-es
Run Code Online (Sandbox Code Playgroud)