如何利用yt-dlp下载vimeo视频及其字幕(包括自动生成的字幕)
要下载 Vimeo 上的视频以及自动生成的 CC(Closed Captions)字幕,使用yt-dlp即可轻松实现。
yt-dlp 是一个非常强大的命令行工具,可以下载 Vimeo 视频以及其字幕,包括自动生成的字幕。它是 youtube-dl
的一个分支,功能更强大且更新频繁。
安装和使用 yt-dlp:
-
安装 yt-dlp:
-
如果你还没有安装
yt-dlp
,可以通过pip
安装:1
pip install yt-dlp
-
-
下载视频和字幕:
-
通过命令行执行以下命令来下载 Vimeo 视频及其字幕:
1
yt-dlp --write-auto-sub --sub-lang en --convert-subs srt https://vimeo.com/视频ID
--write-auto-sub
: 下载自动生成的字幕(如果有的话)。--sub-lang en
: 指定下载英语字幕。如果你需要其他语言,替换en
为相应的语言代码(如zh
表示中文)。--convert-subs srt
: 将字幕转换为.srt
格式。
-
下载的视频和字幕文件会保存在当前目录,字幕文件会与视频文件同名。
-
如果在使用 yt-dlp
下载 Vimeo 视频时,出现提示 “There are no subtitles for the requested languages”,这表明该视频并没有自动生成的字幕(即使有些 Vimeo 视频可能显示自动生成的字幕)。可能是以下原因导致没有字幕被下载:
1. 视频确实没有自动生成字幕
- 并不是所有 Vimeo 视频都启用了自动生成的字幕功能,尤其是那些没有公开字幕的私人或未完全发布的视频。
- 如果字幕不存在,你会看到类似的错误提示。
解决方案:
- 确保你下载的 Vimeo 视频确实有自动生成的字幕。你可以通过直接在 Vimeo 上观看该视频,查看是否有 CC(Closed Captions)字幕显示。
2. 检查是否有其他字幕格式
- 有些视频可能并没有自动生成字幕,但有手动上传的字幕文件,或者是嵌入式字幕(如 VTT 格式)。这种情况下,
yt-dlp
会下载这些手动上传的字幕,而不是自动生成的字幕。
解决方法:
-
尝试不指定字幕语言,直接下载所有字幕:
1
yt-dlp --write-sub --sub-lang all --convert-subs srt https://vimeo.com/视频ID
这会尝试下载所有可用的字幕,而不仅仅是自动生成的字幕。此法亲测有效,下载的srt字幕放入视频同一文件夹。
3. 视频语言设置问题
- 有时字幕的语言可能与视频本身的语言设置不同。你可以尝试指定不同的语言选项,或者下载所有可用的字幕。
解决方法:
-
尝试更广泛的语言代码:
1
yt-dlp --write-auto-sub --sub-lang "en,zh,fr" --convert-subs srt https://vimeo.com/视频ID
这里将同时尝试下载英文、中文和法文字幕(如果有的话)。如果有其他语言的自动生成字幕,
yt-dlp
会优先下载这些。
4. 检查视频源和权限
- 某些 Vimeo 视频(特别是私密视频)可能会限制字幕的下载权限。确保视频不是私密视频,或者你有正确的访问权限。
5. 更新 yt-dlp
-
有时
yt-dlp
可能需要更新,以便支持最新的视频格式和字幕获取方式。如果你没有更新过yt-dlp
,可以尝试通过以下命令更新:1
python -m pip install -U yt-dlp
6. 手动检查字幕链接
- 在某些情况下,视频的字幕链接可能会嵌入在视频播放页面的 HTML 中。你可以使用浏览器的开发者工具检查字幕文件是否存在。通过这种方式,可以确认是否有字幕可供下载。
Comment
WalineGiscus