硬字幕和软字幕区别是什么,提取文字时该用哪种方法

常见问题 6 分钟阅读 1 次浏览

硬字幕和软字幕区别是什么,提取文字时该用哪种方法

硬字幕和软字幕区别在于字幕是不是画面的一部分。硬字幕是压进画面里的,和人物、背景一样是一张张图像,关不掉,也选不中;软字幕是单独的文字数据,可以开关、切换语言,能直接导出成文件。所以「提取不出字幕」时,先判断是哪一种:软字幕直接导出就行,硬字幕要么用识别画面文字的工具,要么干脆按声音重新转写,后者是我更常用的办法。

(官方说明)提词匠有 iPhone、安卓 App 和微信小程序三个入口,同一个微信账号登录,积分和会员三端互通。

先判断:你手里的是哪种字幕

判断硬字幕和软字幕区别,不用任何专业工具,用播放器试一下就知道:

  • 能关掉、能换语言:在播放器的字幕菜单里能关闭,或者能切换中文、英文,这是软字幕。
  • 旁边有同名的 .srt、.ass 文件:这是外挂软字幕,文件本身就是字幕。
  • MKV 视频里能选字幕轨:这是内嵌软字幕,字幕作为一条轨道封装在视频文件里。
  • 怎么都关不掉,放大画面字也跟着变模糊:这是硬字幕,已经烧进画面了。

短视频平台上的视频,字幕大多是剪辑时直接压进去的硬字幕;电影、剧集的下载文件,常见内嵌或外挂的软字幕;在线平台的 CC 字幕,则是播放时单独加载的软字幕。

硬字幕和软字幕区别,放在一张表里看

对比项硬字幕软字幕
本质画面里的图像单独的文字数据
能否关闭不能能,也能切换语言
能否修改只能重新压制视频改字幕文件即可
播放兼容任何播放器都显示要播放器支持
提取文字要识别画面或转写声音直接导出文件

做视频的人常常偏爱硬字幕,因为发到哪个平台都能显示;但对要提取文字的人来说,硬字幕就麻烦多了。

软字幕怎么提取

软字幕提取是两种里简单的一种,因为文字本来就单独存着,只是放的位置不同。

外挂字幕:文件就是答案

视频旁边有 .srt、.ass、.vtt 文件的,直接用记事本打开。SRT 删掉序号和时间就是文稿;ASS 还要删掉样式和特效代码。

内嵌字幕提取:从视频里拆出来

MKV、MP4 里封装的字幕轨,可以用 MKVToolNix 这类工具拆出来,会用命令行的话,ffmpeg 一行命令也能导出:

ffmpeg -i 视频.mkv -map 0:s:0 字幕.srt

其中 0:s:0 表示第一条字幕轨,有多条字幕时把最后的 0 换成 1、2 依次试。导出来的就是标准的 SRT 文件。

内嵌字幕提取偶尔会失败,常见原因是字幕轨不是文字而是图片格式,比如光盘转出来的 PGS、VobSub 字幕。这种字幕本质上是一张张图片,导不成 SRT,只能像硬字幕一样识别画面文字,或者转写声音。用 MKVToolNix 打开视频,看字幕轨的格式名就能提前判断。

在线平台的 CC 字幕

平台播放时单独加载的字幕,通常能在浏览器开发者工具的网络面板里找到字幕数据,保存下来再转成 SRT。只处理自己上传的视频,或者已经拿到作者授权的视频。

硬字幕怎么提取:两条路

硬字幕已经是画面的一部分,提取文字只有两种思路:识别画面上的字,或者干脆不管字幕、去听声音。

路线一:识别画面文字

原理是每隔一段时间截一帧,用文字识别把字幕区域的字读出来,再按时间拼成字幕。这类工具一般要先框选字幕所在的区域,识别效果受字体、背景、分辨率影响很大:

  • 字幕在纯色背景上、字体清楚,识别比较准;
  • 背景花哨、字幕带描边或动画,错字和漏字会明显增多;
  • 分辨率低的视频,字本身就糊,识别出来也难用。

有一种情况只能走这条路:视频里没有人说话,字幕是后来加的说明文字,或者画面上的字和语音内容不一样。

路线二:按声音重新转写

大多数视频的硬字幕,本来就是根据说话内容做出来的。这时候与其识别画面,不如直接把声音转成文字,效率高,结果还更完整,连字幕里省略掉的话也能拿到。

我用提词匠就是这个思路。它不识别画面上的字幕,而是转写视频里的声音:上传视频或者粘贴自己作品的链接,等几分钟,就能拿到逐句的文字,结果可以导出 TXT、Word,或者带时间轴的 SRT。

硬字幕和软字幕区别不影响转写:提词匠按声音转出的文字结果

提词匠的 iPhone App、安卓 App 和微信小程序都能这样用。几个实际限制要知道:转写要联网;一次处理一个视频;时长上限普通用户是 60 分钟、会员 120 分钟,文件大小分别是 500 MB 和 2 GB;积分按视频时长扣,每分钟 1 积分,零头按整分钟算。

两条路怎么选

  1. 视频有人说话,字幕内容就是说的话:按声音转写,快,而且不受字幕样式影响。
  2. 视频没有人声,字幕是说明文字:只能识别画面文字。
  3. 字幕和语音内容不同,比如外语视频配了中文翻译字幕,你要的是中文:识别画面文字;要的是原话:转写声音。
  4. 剪辑时想重新做一份软字幕:转写声音后导出 SRT,再导入剪辑软件。

做视频时怎么避免以后提取困难

如果你是做视频的一方,知道了硬字幕和软字幕区别,可以给自己留条后路:

  • 剪辑时字幕单独放一条轨道,导出成片前先导一份 SRT 留档;
  • 发到平台时,能上传字幕文件的就上传软字幕,不能的再压硬字幕;
  • 保留没有字幕的干净版本,以后做多语言版本时直接换字幕。

剪映里识别出来的字幕轨,就能在导出时单独存成字幕文件。

剪映智能字幕里识别字幕,生成可单独导出的字幕轨

一个实际例子

比如拿到一段培训视频,画面底部压着硬字幕,要整理成讲义。先用播放器确认字幕关不掉,再看内容:讲师全程口播,字幕就是他说的话。这种情况不用折腾画面识别,直接把视频交给提词匠转写,导出 Word,对照着视频改几个专业名词,讲义就成型了。如果当时去识别画面上的字,字幕里被删减的口语和举例反而会丢掉。

提取完以后的整理

不管是导出的软字幕,还是转写出的文字,拿来当文稿都要整理一下。SRT 先批量删掉序号和时间,再把短句合并成段落,统一改专有名词。

把提取出的SRT字幕合并成段落文稿

常见问题

硬字幕能去掉吗?

硬字幕是画面的一部分,只能用修复类工具把那块区域「抹掉」,效果取决于背景复杂程度,没法像软字幕那样直接关掉。

软字幕提取出来是乱码怎么办?

老片的字幕文件常用 GBK 之类的旧编码,用记事本打开另存为 UTF-8 就好。软字幕提取以后先确认编码,再导入剪辑软件或播放器。

为什么有的视频字幕能关、有的不能?

能关的是软字幕,不能关的是硬字幕,这就是硬字幕和软字幕区别在播放时直接的表现。

转写声音会不会和画面字幕对不上?

字幕制作时常会删减口语、改写句子,所以转写结果通常比字幕更完整、更口语化。要和画面字幕一字不差,只能识别画面文字。

最后

硬字幕和软字幕区别弄清楚了,提取方法就好选:软字幕直接导出,硬字幕看你要的是画面上的字还是说出来的话。我遇到的硬字幕视频,九成都是口播,直接用提词匠转写声音,导出 Word 或 SRT,比折腾画面识别省事得多。