跳到正文
cinemaOS

操作指南

如何在 Mac 上把字幕压制进视频

用 HandBrake、Final Cut Pro、Resolve、Premiere 或 cinemaOS 在 Mac 上压制硬字幕:何时该压制、易读的字幕样式,以及上传前的 QC 检查。

在 Mac 上把字幕压制进视频,就是在导出时把字幕文字渲染进画面本身,这样它在任何播放器上都会显示,也无法关闭。免费的做法是用 HandBrake:打开视频,在 Subtitles 标签页添加 SRT 文件,然后勾选 Burn In。如果你已经在用 Final Cut Pro、DaVinci Resolve、Premiere Pro 或 cinemaOS 剪辑,它们在导出时都有压制字幕的选项。真正难的是另外几件事:判断到底要不要压制,让文字在手机上也看得清,以及在公开发布前检查文件。

压制硬字幕,还是交付外挂字幕文件?

压制进画面的字幕通常叫硬字幕,也叫开放式字幕。外挂字幕文件(比如 SRT 或 WebVTT)随视频一起分发,文字由播放器绘制,也就是常说的软字幕。

以下情况适合压制:

  • 平台或播放器会忽略字幕文件。 很多短视频应用、即时通讯应用、演示软件和场馆放映系统只显示画面。
  • 大多数人静音观看。 社交平台的信息流默认静音自动播放,需要点一下才能打开字幕的话,很多观众根本不会去点。
  • 字幕是故事的一部分。 一场用另一种语言进行的戏的译文,或者观众必须看懂的标牌文字,都属于影片本身。
  • 样片必须在任何地方看起来都一样。 发给影展或客户、可能在任何设备上打开的链接,把文字固定在画面里更稳妥。

以下情况更适合外挂字幕:

  • 观众需要自己控制。 无障碍观看取决于能否打开字幕、调整字号或选择语言。硬字幕会拿走这些选择。
  • 你要交付多种语言。 一个母版加几个字幕文件,比每种语言各渲染一版轻便得多。
  • 接收方有交付规范。 电视台、流媒体平台和发行方通常要求字幕文件加无字幕母版,而不是硬字幕。
  • 文字可能还会改。 SRT 里的错字一分钟就能改好。硬字幕里的错字意味着重新渲染、重新上传。

最稳妥的习惯是让字幕尽可能长时间保持为数据,只在确实需要的交付物里压制。如果你不确定平台要哪种文件格式,我们的字幕格式指南讲解了 SRT、WebVTT、EBU-STL 等格式。

压制之前,先把字幕文件定稿

压制会把每一个错误都固定下来,所以先改好文字。

  • 用词和人名。 检查专有名词、数字,以及任何可能是语音模型猜出来的内容。
  • 时间轴。 每行字幕应在说话人开口时出现,在说完后稍过片刻消失,不要一闪而过。
  • 行长和阅读速度。 最多两行,在自然的语义停顿处断行。专业的字幕风格指南会限制每行字数和每秒字数。Netflix 英语定时文本风格指南是常用的参考,具体数值请以其最新版本为准。
  • 镜头切换。 字幕跨过剪切点拖了几帧,压制后会显得很粗糙。要么对齐剪切点,要么明显地延续到剪切点之后。

如果字幕是译文,现在就请一位熟练掌握该语言的人通读一遍。我们的如何在 Mac 本地翻译字幕一文介绍了这个审校步骤。

经得起压缩的易读样式

硬字幕要在亮画面和暗画面上、在小小的手机屏幕上、在平台自己的二次转码之后都能看清。

  • 字体。 字形清楚的简洁黑体在小字号下最易读。避免过细的字重和压扁的窄体。
  • 字号。 以观众会用的最小屏幕来判断。在手机上看的竖屏视频,通常比在笔记本电脑上看的横屏文件需要更大的字。
  • 对比度。 白色或略偏暖的白色文字,加深色描边或柔和阴影,能应付大多数画面。在画面很杂的镜头上,在文字后面加一块半透明的深色底框最可靠。
  • 位置。 文字要放在字幕安全框内。发 9:16 的内容时,要在底部和两侧给应用的按钮、文案和进度条留出空间,这往往意味着字幕要比横屏影片放得更高。
  • 避让。 如果画面底部已经有屏幕文字或人名条,这一行字幕就移到画面顶部,不要叠在一起。
  • 字符。 确认字体覆盖文件里的所有重音符号和文字系统。缺失的字形会显示成空方框。中文字幕尤其要确认生僻字也在字库里。
  • 一致性。 只在有明确理由时才用斜体,比如画外音,并在整部作品中保持同一种样式。

在最终交付的分辨率和画幅下压制。如果要把 16:9 的影片重新构图成 9:16,一定要在重新构图之后再加字幕,绝不能在之前,否则字幕会被裁掉。我们的横屏视频转竖屏重新构图指南介绍了这个流程的其余部分。最后,从你最好的母版导出,而不是从已经压缩过的文件导出,并给编码器足够的码率。码率一低,最先受损的就是文字的细边缘。

在 Mac 上压制字幕的几种方法

苹果自带的免费应用做不了这件事。QuickTime Player 和 iMovie 都没有导入 SRT 文件并压制的选项,在 iMovie 里你只能把每一行都手动重打成标题。只要超过几行,就用下面的某种方法。菜单名称对应各应用的近期版本,可能随版本更新而变动,如果找不到,请查看厂商的帮助页面。

HandBrake:免费,适合已完成的视频

HandBrake 是一款免费的开源转码工具。打开成片,进入 Subtitles 标签页,用 Tracks 菜单添加外部字幕文件。如果 SRT 里有带重音的字符或中文,先设置好字符编码,再为这条轨道勾选 Burn In。每次编码只能压制一条字幕轨。普通 SRT 文件会以简单的默认样式渲染,而 ASS 或 SSA 文件会保留自带的字体、颜色和位置,很多人就是靠它在 HandBrake 里做出自定义样式的。无论如何画面都会重新编码,所以请选择高质量的预设。

ffmpeg:适合脚本批量处理

如果你习惯用终端,ffmpeg 的 subtitles 滤镜可以把 SRT 或 ASS 文件压制进画面,它的 force_style 选项可以为 SRT 输入设置字体、字号和描边。这需要包含 libass 的 ffmpeg 版本。

Final Cut Pro

通过 File ▸ Import ▸ Captions 导入字幕文件,或者直接在时间线上创建字幕。在检查器里调整文字和位置,可调范围取决于各字幕格式的限制。共享时,可以在 Roles 标签页选择要压制哪个字幕角色。

DaVinci Resolve

把字幕文件导入媒体池,作为字幕轨道加到时间线上。轨道和字幕的样式,包括字体、字号、颜色、描边、阴影和背景,都在检查器里设置。在 Deliver 页面打开字幕设置,启用字幕导出,并选择把字幕压制进视频。

Premiere Pro

导入 SRT 会生成一条字幕轨道,然后用 Premiere 的字幕和图形工具设置样式。在导出设置的 Captions 部分,有把字幕压制进视频的选项。

cinemaOS

在 cinemaOS 中,字幕位于 Finisher(⌘2)▸ Localize ▸ Captions。你可以导入字幕文件,或者在本地转录对白,校正后,如需另一种语言就在 Mac 上翻译,再对着画面预览。交付前,QC 会检查字幕。之后你可以导出 SRT、WebVTT、ASS、SCC、EBU-STL 或 Apple iTT 等格式的外挂字幕文件,也可以选择 Burn In,把字幕渲染进画面,生成一个新的交付文件。导出不会悄悄覆盖已有文件:如果文件名已被占用,cinemaOS 会写入一个名称唯一的新文件,所以压制版会放在干净母版旁边,而不是替换它。离线字幕教程演示了从字幕到法语版本再到 Burn In 的完整流程。

坦白说说它的局限:cinemaOS 目前只能在 Apple 芯片的 Mac 上运行,Windows 版计划于 2027 年 11 月推出,而且它还是个年轻的应用,版本 0.2,Build 9。本地转录和翻译仍然需要人工做语言审校,各平台的字幕要求也仍需对照接收方当前的规范确认。如果你手上已经有成片和正确的 SRT,只做这一件事的话,HandBrake 更快。

上传前对压制好的文件做 QC

检查导出的文件,而不是时间线。

  1. 完整播放文件。 在观众使用的设备上全屏观看。如果是社交平台的剪辑,那就是手机。
  2. 在开头、中段和结尾检查同步。 第一分钟看不出的偏移,到最后可能很明显。
  3. 每一行都读一遍。 找错字、错误的断行、丢失的重音符号,以及缺字形导致的空方框。
  4. 看难处理的镜头。 明亮的天空、白墙、雪景和快速运动,是描边和底框最容易失效的地方。
  5. 看画面边缘。 确认没有内容被裁掉,平台按钮也不会挡住文字。
  6. 检查剪切和淡入淡出。 字幕不应在镜头切换时闪烁,也不应在叠化时消失。
  7. 确认是正确的版本。 语言、画幅、时长和音频都要和订单一致。
  8. 先私密上传。 先以私密或不公开方式发布,看过平台自己的二次转码效果后再公开。

交付后保留三样东西:无字幕母版、字幕文件和压制好的渲染文件。有了前两样,你就能修改或出新版本,而不用从头再来。

常见问题

压制进去的字幕以后还能去掉吗?

去不干净。文字已经是像素的一部分,要去掉只能遮盖或重绘那些区域。保留无字幕母版和字幕文件,你就永远不需要这么做。

上传 YouTube 需要压制硬字幕吗?

不需要。YouTube 支持上传字幕文件,观众可以自行开关,很多视频还能自动翻译。只有准备转发到会忽略字幕文件的平台的片段,才需要压制。

为什么压制后的字幕看起来模糊或有马赛克?

通常是码率太低、压制后又缩放了视频,或者源文件本身已经被严重压缩。请在交付分辨率下、用高质量母版、以足够保证文字边缘清晰的码率进行压制。

下一步

想清楚哪些交付物真的需要硬字幕,其余的都保留为字幕文件。如果你希望字幕、翻译和 Burn In 与剪辑在同一个项目里完成,可以试试 cinemaOS:每月 9.99 美元(不含增值税),60 天免费,无需绑卡,也不会自动扣费。