字幕(subtitles of motion picture)是指以文字形式显示电视、电影、舞台作品中的对话等非影像内容,也泛指影视作品后期加工的文字。在电影银幕或电视机荧光屏下方出现的解说文字以及种种文字,如影片的片名、演职员表、唱词、对白、说明词以有人物介绍、地名和年代等都称为字幕。影视作品的对话字幕,一般出现在屏幕下方,而戏剧作品的字幕,则可能显示于舞台两旁或上方。
优秀的字幕须遵循5大特性:
- 准确性- 成品无错别字等低级错误。
- 一致性- 字幕在形式和陈述时的一致性对观众的理解至关重要。
- 清晰性- 音频的完整陈述,包括说话者识别以及非谈话内容,均需用字幕清晰呈现。
- 可读性- 字幕出现的时间要足够观众阅读,和音频同步且字幕不遮盖画面本身有效内容。
- 同等性- 字幕应完整传达视频素材的内容和意图,二者内容同等。
内嵌字幕和外挂字幕
字幕从存放位置分为内嵌字幕和外挂字幕,内嵌字幕就是将字幕文件封装在封装格式(容器)文件内,外挂字幕是以独立文件形式存在电脑中,独立文件可以直接编辑修改,内嵌字幕不能直接编辑,但是可以使用专用工具提取出来。
特效字幕
字幕的特效一般指字幕反光、闪烁、移动、翻滚、漂移、颜色、二维、三维、分裂、组合等等的一些变化。需要专业软件制作,例如After Effect
最经典的特效字幕是星球大战的开头,一个梯形变形制作出来的电报传送到的效果
字幕分为图形格式和文本格式两类
- 图形格式字幕由 idx 和 sub 文件组成,idx 相当于索引文件,里面包括了字幕出现的时间码和字幕显示的属性,sub 文件就是字幕数据本身,由于是图片格式,所以比较大。idx+sub 的图形化最先解决了多种语言的字幕的字体和显示问题。至今仍有大量作品采用图形字幕格式。
- 文本格式字幕的扩展名通常是 ass、srt、smi、ssa 或 sub (和上面图形格式后缀一样,但数据格式不同),因为是文本格式,所以尺寸很小,通常不过百十来 KB。其中 srt 文本字幕是最流行的,因为其制作和修改非常简单。
文本字幕需要在视频播放时同步使用对应字体实时渲染在画面表面,但是在一些非智能设备例如电视,DVD中以及不支持的语言环境下可能会造成缺字白字甚至乱码。并且在不同的设备上显示的效果可能不同。
字幕的内容结构
从内容上分根据题材的不同字幕的内容略有区别
例如电影字幕包括出品发行方 正片 演员表 彩蛋等
而电视剧字幕一般是前情提要,片头曲,演员表,正片,下集预告等
动画片还要加上声优的名字
文本字幕的结构
文本字幕的结构基本上分为时间和文字两个部分,一部分结构表示时间码,一部分结构表示文字
常见字幕格式简要说明
SMI
SAMI Captioning SMI是WMP专用字幕文件格式,使用类似HTML的格式记录
字幕文本
Driver On
变身
SRT
SubRip SRT文本字幕最为流行,因为其制作规范简单,可以实现简单样式
SDL Trados Studio直接支持
依次是:
序号
时间码
字幕文本
[空行]
1
00:00:00,000 --> 00:00:05,000
Driver On
2
00:00:05,000 --> 00:00:07,000
变身
LRC
LRC常见于显示歌词,硬件支持广泛
[时间码]字幕文本
[00:00.00]Driver On
[00:05.00]变身
SST
Sonic Scenarist 和SRT类似
序号 开始时间 结束时间 字幕文本
1 00:00:00:00 00:00:05:00 Driver On
2 00:00:05:00 00:00:07:00 へんしん
SSA & ASS
SubStation Alpha (.ssa)
Advanced SubStation Alpha (.ass)
SSA是[V4 Styles]而ASS是[V4+ Styles]
V4+的代码是基于V4 的先进版本
而且2个字幕文件内的格式有一定差别
[Script Info]
[V4+ Styles]
[Events]
Format:
Dialogue: 时间码 样式 字幕文本
[Script Info]
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0.00,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,NTP,0000,0000,0000,Driver On
Dialogue: 0,0:00:05.00,0:00:07.00,Default,NTP,0000,0000,0000,变身
WebVTT
WebVTT (Web Video Text Tracks)格式和SRT类似但是没有序号
用于HTML5
WEBVTT
[空行]
时间码
字幕文本
[空行]
第一行必须是WEBVTT
UTF-8编码
WEBVTT
00:00:01.878 --> 00:00:05.334
曾经有一份真诚的爱情放在我面前,
00:00:08.608 --> 00:00:15.296
我没有珍惜,等我失去的时候我才后悔莫及,
人世间最痛苦的事莫过于此
TTML(IMSC)
TTML 全称是 Timed Text Markup Language,是一种基于 XML 的时序文本标记语言。它旨在用于全球范围内的跨字幕和字幕传递应用程序,从而简化互操作性并保持与其他字幕文件格式的一致性和兼容性。
TTML是xml格式的文件
根节点是 和HTML类似
但是由于谷歌的去XML计划,浏览器的支持性不是很好
曾经有一份真诚的爱情放在我面前,
我没有珍惜,等我失去的时候我才后悔莫及,
人世间最痛苦的事莫过于此。
字幕编辑工具
因为字幕文件是基于文本的因此能够进行字幕编辑的软件非常多
Aegisub是一个开源的跨平台字幕工具,可以在不同平台电脑得到一致的体验
http://www.aegisub.org/
字幕通 YeeCaption
中译语通的一站式智能字幕翻译软件,界面易懂,云端识别,自动切轴,智能翻译,使字幕翻译事半功倍,部分功能收费
https://www.yeekit.com
人人译世界
武汉译满天下原人人字幕组工作平台
http://www.1sj.tv/
网易见外
https://sight.youdao.com/
网易见外由人工智能事业部研发,是一个集视频听翻、直播听翻、语音转写、文档直翻功能为一体的AI智能语音转写听翻平台,致力于用语音识别转写文字、机器翻译等技术
TimeMachine
人人字幕组字幕软件
SubtitleEdit
https://www.nikse.dk/SubtitleEdit/
https://github.com/SubtitleEdit/subtitleedit/releases
一款开源的免费字幕编辑工具
SubtitleWorkshop
一款知名的Windows平台免费字幕编辑工具
http://subworkshop.sourceforge.net/
Arctime
ArcTime是一款基于Java的跨平台字幕编辑软件
https://arctime.org/
多语言语字幕的处理
通常多语言字幕有两种常见的处理方法
第一种是在一个字幕文件中同时写入两个语言
Dialogue: 0,0:04:16.38,0:04:18.82,Default,0,0,0,就是乐于助人性格温柔的人\N親切な性格の人を助けることが好きです。
用\N分隔两个语言
这种方法的缺点,不便于设置双语言复合字体,显示效果不佳
不便于本地化处理,对齐翻译记忆库,重用资源
第二种方法是分别建立各自语言的字幕文件,例如zh-CN.ass和en-US.ass
两个文件时间轴部分完全相同,字幕文字不同,拥有各自的样式和字体设置,位置,大小
这种方法更符合本地化流程操作,对齐,制作翻译记忆库,提取术语,重用翻译等。
最后输出的时候可以由播放器(例如PotPlayer)加载主要和次要字幕,也可以使用MeGUI将两个字幕都描绘渲染画面本身
WebM格式以Matroska(MKV)容器格式为基础开发的新容器格式,里面包括VP8视频和Ogg Vorbis音轨
MKV容器格式从技术上来说是对国际化支持最好的一种格式,也是本地化的首选格式。MKV支持多音轨和多字幕轨,多达16条以上(TS也支持多音轨)。
字幕的渲染
DirectVobSub也叫做VSFilter,是最流行的显示字幕工具,可以在影片的播放同时显示中文字幕,并且还有调整字幕时间码、字幕格式转换等功能,可以支援很多种字幕。
https://www.free-codecs.com/download/directvobsub.htm
MeGUI就是通过VSFilter实现将字幕描绘到图像上的。
XY-SubFilter
XySubFilter(XySubFilter.dll)是一种新的高质量字幕插件,它需要兼容的解码器程序来支持新的字幕界面。一般建议madVR 0.87.5+或MPC-HC 1.7.2+(EVR-CP)。
它是在VSFilter2.39版本基础上的一个改进项目,为高清视频设计,效率很高功能强大
https://code.google.com/archive/p/xy-vsfilter/