导出与字幕文件
怎么把 SRT 字幕文件加到视频里?
简短回答
先决定观众能不能关掉字幕。想让字幕可开关,就在 YouTube、LinkedIn 或 Facebook 上把 SRT 和视频一起上传,或者在播放器、视频文件里把它加成字幕轨。想让字幕永久显示,就用 HandBrake、FFmpeg 或剪辑软件把 SRT 烧录进画面。TikTok 和 Instagram 不接受字幕文件,发这两个平台就要把字幕烧录进去。
1 分钟阅读
字幕要做成单独的轨道,还是烧录进视频?
| 单独的字幕轨 | 烧录字幕 | |
|---|---|---|
| 观众能关掉 | 能 | 不能 |
| 能用在 TikTok 和 Instagram | 不能 | 能 |
| 自定义字体和颜色 | 不能,由播放器决定 | 能 |
| 之后好不好改 | 换个文件就行 | 要重新导出视频 |
怎么把 SRT 加成单独的字幕轨?
- 在平台上,把文件和视频一起上传。YouTube、LinkedIn 和 Facebook 接受 SRT,TikTok 和 Instagram 不接受。详见哪些平台接受 SRT 文件。
- 在视频文件里,把它加成软字幕轨,比如用 HandBrake,它可以把字幕作为可选择的独立轨道放进输出文件(HandBrake 文档)。不是每个播放器都能显示 MP4 里的字幕轨。
- 在媒体播放器里,看视频时把 SRT 一起加载。
怎么免费把 SRT 烧录进视频?
- HandBrake: 打开视频,在“字幕”标签页导入 SRT,开始编码前勾选“烧录”。烧录的字幕会永久写在画面上(HandBrake 文档)。
- FFmpeg: 用 subtitles 滤镜(FFmpeg 滤镜文档):
ffmpeg -i input.mp4 -vf "subtitles=captions.srt" -c:a copy output.mp4
- 剪辑软件: Premiere Pro 和 DaVinci Resolve 可以把 SRT 导入为字幕轨,设置样式后烧录导出。详见怎么把字幕导入 Premiere Pro、DaVinci Resolve 和 Final Cut Pro。
怎么改 SRT 字幕的字体或颜色?
SRT 带不了各软件都认的样式,比如 YouTube 就会忽略 SRT 里的样式。要在烧录时设置样式:在剪辑软件里设,或者用 FFmpeg 的 force_style 选项,或者把 SRT 转成 ASS 再改它的样式行。详见怎么用 FFmpeg 烧录带样式的 ASS 字幕。
在 CaptionBolt 里怎么做
CaptionBolt 不导入 SRT 文件,它根据视频的音频生成带样式的字幕。如果你想要的是视频上带样式、逐词对时的字幕,就直接上传视频:CaptionBolt 会转写语音,让你在“文本编辑”里改字,然后用 338 种字幕样式中的任意一种烧录进视频。
如果必须原样保留一份现有的 SRT,CaptionBolt 的免费工具 Subtitle Converter 可以在浏览器里把它转成带简单白色样式的 ASS 文件。改好样式行里的字体和颜色,再用 FFmpeg 或 HandBrake 烧录进去。
什么时候换别的做法更好
- 这份 SRT 是译文或已经审定的文稿。 用 HandBrake 或 FFmpeg 原样烧录这个文件;从音频重新生成字幕会改变内容。
- 你需要多种语言的带样式字幕。 CaptionBolt 只为视频中说的语言生成字幕。
相关问题
怎么把 SRT 文件转成 VTT,或者把 VTT 转成 SRT?
改三处就行:VTT 文件以 WEBVTT 一行开头,毫秒前用点而不是逗号,还可以带 SRT 不支持的 cue 设置和注释。转换工具几秒钟就能完成,而且不改动文字和时间轴。只改文件后缀是不够的。网页播放器和 HTML5 视频用 VTT;LinkedIn、Facebook 和大多数剪辑软件用 SRT。
怎么编辑 SRT 文件又不把它弄坏?
只改文字,保留结构:每条字幕由一个编号、一行形如 00:00:01,000 --> 00:00:03,500 的时间和一到两行文字组成,字幕之间空一行。不要改箭头和逗号,每条的开始时间要早于结束时间,并以纯 UTF-8 保存。字幕编辑器会帮你检查这些,这样文件依然能导入 YouTube、LinkedIn 或剪辑软件。
怎么从视频生成 SRT 字幕文件?
先让语音识别生成初稿,再校对并导出 SRT。如果视频在你自己的 YouTube 频道上,可以在 YouTube 工作室免费下载字幕文件。否则就用能导出 SRT 的字幕或转写工具,比如 CaptionBolt 的 Pro 套餐,或者在字幕编辑器里自己打字幕。使用前一定要检查人名、数字和时间轴。
怎样把字幕导入 Premiere Pro、DaVinci Resolve 或 Final Cut Pro?
导出一个 SRT 文件,作为字幕轨导入:Premiere Pro、DaVinci Resolve 和 Final Cut Pro 都能读取 SRT,你还可以在软件里重新设置样式。SRT 只保留文字和时间,这些软件也不读取带样式的 ASS 文件,所以想要逐词弹出的动态字幕,就给剪好的成片加字幕,再发布带字幕的 MP4。