Timothy Robert Asked: 2021-05-18 08:13:45 +0800 CST2021-05-18 08:13:45 +0800 CST 2021-05-18 08:13:45 +0800 CST 如何下载带有两个或更多字幕的 Youtube 视频 Youtube-DL [重复] 772 我想知道有没有办法使用 Youtube-DL 下载带有 2 个或更多字幕的 Youtube 视频并忽略自动生成的字幕? youtube-dl 1 个回答 Voted Best Answer Anaksunaman 2021-05-27T20:59:48+08:002021-05-27T20:59:48+08:00 TL;博士 youtuble-dl有没有办法使用并忽略自动生成的字幕来下载带有 2 个或更多字幕的 Youtube 视频? 是的。使用该--sub-lang选项来指定您感兴趣的字幕语言,正如对此超级用户问题的所选答案所暗示的那样。或者,您也可以使用该--all-subs选项。 我正在尝试获取 2 个以上的 YouTube 视频,该教程仅适用于 1 个字幕。 参考youtube-dl 的官方文档,该--sub-lang选项采用: 要下载的字幕语言(可选),以逗号分隔,使用 --list-subs 获取可用语言标签 实际例子 以这个历史性的 K-Drama 剧集为例,我们可以看到有 6 种可能的字幕语言可用(YouTube Player > Settings > Subtitles/CC): 阿拉伯 英语 韩国人 西班牙语 土耳其 韩语(自动生成) 使用例如: youtube-dl --list-subs https://www.youtube.com/watch?v=B6xGVEXcj3k 将生成一个字幕选项列表,包括特定于给定视频的选项列表: ... hmn vtt, ttml, srv3, srv2, srv1 Available subtitles for B6xGVEXcj3k: Language formats ko vtt, ttml, srv3, srv2, srv1 es vtt, ttml, srv3, srv2, srv1 tr vtt, ttml, srv3, srv2, srv1 en vtt, ttml, srv3, srv2, srv1 ar vtt, ttml, srv3, srv2, srv1 Korean (auto-generated)请注意,由于省略了字幕,因此仅列出了 5 个相关选项。 然后,您可以使用以下方式下载例如英语和西班牙语字幕(连同视频): youtube-dl --sub-lang en,es --write-sub https://www.youtube.com/watch?v=B6xGVEXcj3k 要跳过下载视频并仅获取字幕,请添加--skip-download选项,例如: youtube-dl --sub-lang en,es --write-sub --skip-download https://www.youtube.com/watch?v=B6xGVEXcj3k --all-subs您甚至可以使用以下选项一次获取所有 5 个可用的字幕文件: youtube-dl --all-subs --skip-download https://www.youtube.com/watch?v=B6xGVEXcj3k 转换字幕 请注意,YouTube 字幕默认为.vtt(WEBVTT) 格式。如果你不想让你的字幕.vtt格式,你可以使用ffmpeg手动转换它们,例如: ffmpeg -i input.vtt output.srt 还有一个选项可以--convert-subs自动使用 youtube-dl/FFmpeg,例如: youtube-dl --sub-lang en,es --write-sub --convert-subs srt https://www.youtube.com/watch?v=B6xGVEXcj3k 但是,转换字幕有几个注意事项: 无论哪种情况,ffmpeg都必须驻留在系统的某个位置。您可以从第三方获取 FFmpeg 的 Windows 构建,例如gyan.dev 提供的构建。 第二个自动选项(显然)目前不适用于--skip-download例如: # Fail! Subtitles will be downloaded but remain in their original e.g. # .vtt format. Confirmed with youtube-dl.exe v2021.05.16. youtube-dl --sub-lang en,es --write-sub --convert-subs srt --skip-download https://www.youtube.com/watch?v=B6xGVEXcj3k 最后,虽然我不知道这个问题的根源,但youtube-dl.exeWindows 10 21H1(2021 年 5 月)上的(2021.05.16)似乎并没有ffmpeg在我的系统路径中识别。相反,必须将 的副本ffmpeg.exe直接放在同一个文件夹中,以便在后处理过程中将其识别为存在(如果您想节省一些空间youtube-dl.exe,也可以使用具有适当文件扩展名 [ie ] 的符号链接) ffmpeg.exe.
TL;博士
是的。使用该
--sub-lang
选项来指定您感兴趣的字幕语言,正如对此超级用户问题的所选答案所暗示的那样。或者,您也可以使用该--all-subs
选项。参考youtube-dl 的官方文档,该
--sub-lang
选项采用:实际例子
以这个历史性的 K-Drama 剧集为例,我们可以看到有 6 种可能的字幕语言可用(YouTube Player > Settings > Subtitles/CC):
阿拉伯
英语
韩国人
西班牙语
土耳其
韩语(自动生成)
使用例如:
将生成一个字幕选项列表,包括特定于给定视频的选项列表:
Korean (auto-generated)
请注意,由于省略了字幕,因此仅列出了 5 个相关选项。然后,您可以使用以下方式下载例如英语和西班牙语字幕(连同视频):
要跳过下载视频并仅获取字幕,请添加
--skip-download
选项,例如:--all-subs
您甚至可以使用以下选项一次获取所有 5 个可用的字幕文件:转换字幕
请注意,YouTube 字幕默认为
.vtt
(WEBVTT) 格式。如果你不想让你的字幕.vtt
格式,你可以使用ffmpeg
手动转换它们,例如:还有一个选项可以
--convert-subs
自动使用 youtube-dl/FFmpeg,例如:但是,转换字幕有几个注意事项:
无论哪种情况,
ffmpeg
都必须驻留在系统的某个位置。您可以从第三方获取 FFmpeg 的 Windows 构建,例如gyan.dev 提供的构建。第二个自动选项(显然)目前不适用于
--skip-download
例如:最后,虽然我不知道这个问题的根源,但
youtube-dl.exe
Windows 10 21H1(2021 年 5 月)上的(2021.05.16)似乎并没有ffmpeg
在我的系统路径中识别。相反,必须将 的副本ffmpeg.exe
直接放在同一个文件夹中,以便在后处理过程中将其识别为存在(如果您想节省一些空间youtube-dl.exe
,也可以使用具有适当文件扩展名 [ie ] 的符号链接)ffmpeg.exe
.