字幕制作基础教程

发表于:4 天前 63
[table][tr][td]一般常见的字幕格式有set、ssa、ass、sub、sup等等。
下面开始逐一的进行说明。

【srt字幕】
srt字幕的格式非常简单,编辑只需要用txt就可以打开。
srt的格式为:
1
t1—>t2
<字幕内容>

2
t1—>t2
<字幕内容>

。。。。

1、2为字幕的标号
t1为字幕出现的时间,t2为消失的时间。
下方位字幕内容。
想要修改只需找到出问题的字幕然后改掉即可。
一定要注意每个字幕之间需要有一个空行。
例如:
1
00:00:00,200 --> 00:00:02,270

2
00:00:02,370 --> 00:00:09,200
在不久的将来——即便是企业网络
遍及全球,光与电子穿梭万物之间

3
00:00:09,200 --> 00:00:17,200
国家和民族却还远没到被信息情报化至消亡的地步

1句下面就只有时间,没有字幕内容。
2句会显示两行字幕
3句会显示一行字幕

【ass、ssa字幕】
ssa是也是一种文本字幕,同时也是动态字幕
ass为ssa的加强版。语法基本是一样的,就不过多介绍了。

ssa字幕相比srt字幕要复杂很多,因此也能做出来非常漂亮的动画效果,例如歌曲播放时候歌词有卡ok效果。
ssa字幕的大致结构如下:
[Script Info]
Synch Point:0
ScriptType:v4.00
Collisions:Normal
PlayResX:1920
PlayResY:1080
Timer:100.0000

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: CH,华文中宋,65,&HFFFFFF,&HFFFFFF,&HFF0080,&H800000,1,0,1,3,0,2,20,20,32,20,1
Style: title,黑体,40,&HFFFFFF,&HFFFFFF,&HFFFFFF,&H000000,1,0,1,3,0,1,20,20,32,20,1

[Events]
Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:07.67,0:00:14.45,title,,0000,0000,0000,,{\fad(050,050)}{\pos(960,1050)}字幕内容
Dialogue: 0,0:00:16.48,0:00:21.38,CH,,0000,0000,0000,,字幕内容

从上面可以看出ssa字幕共分为3个部分。
[Script Info]
Synch Point:0
ScriptType:v4.00
Collisions:Normal
PlayResX:1920
PlayResY:1080
Timer:100.0000
这个地方比较是脚本的设定,ScriptType:v4.00为ssa字幕,ScriptType:v4.00+为ass字幕
PlayResX、PlayResY为视频的尺寸,这个量比较重要,和字体大小以及后面的定位函数都有关系。
Timer位时间轴精度。

第二部分为字体定义
[V4 Styles]为ssa、[V4+ Styles]为ass
随后的各种量分别与上面对应,即:
Name CH 字体名称
Fontname 华文中宋 字体
Fontsize 65 字号
。。。。。
这里需要注意的一点,颜色上&HFFFFFF为一个3个16进制数,分别表示BGR三中颜色(不是RGB,要反过来)。
Bold:粗体 0为关闭,-1为开启
Italic:斜体 0为关闭,-1为开启
BorderStyle:字幕显示方式:1是字幕+围边,3是不透明显示
Outline:边框颜色的初细可以从0-4设置
Shadow:阴影颜色的初细可以从0-4设置
Alignment:字幕出现的位置

一个字幕,从视觉上来说,字体效果是最为重要的。通过上面的字体设置可以调整出自己喜欢的字体、颜色。
一般的字幕组提供外挂字幕时候都会有一个字体包,来对应系统中没有而字幕中涉及的字体。
只需将其嵌入视频内或者安装到系统即可。

最后第三部分就是字幕的内容了。
Dialogue: 0,0:00:07.67,0:00:14.45,title,,0000,0000,0000,,{\fad(050,050)}{\pos(960,1050)}字幕内容
Dialogue: 0,0:00:16.48,0:00:21.38,CH,,0000,0000,0000,,字幕内容
一行字幕要求对应上面的一种字体,不然播放器会报错。
例如上面的字幕,第一句字幕的字体位title、第二句位CH
在ssa、saa中{}里面的部分不会显示在字幕里面,这个是插入的函数。
例如上面的字幕:{\fad(050,050)}{\pos(960,1050)}表示字幕将在(960、1050)的坐标显示,并且有50毫秒的淡入50毫秒的淡出。
坐标位置是根据第一部分的视频尺寸得出的,如果第一个尺寸写的是1280、720的话,这句字幕在视频上就看不见了,因为位置超出了视频尺寸。

下面简单说几个比较有用的函数(需要什么特效可以自己查找一下)
\c&H<bbggrr>&
\1c&H<bbggrr>& 这两个都是改变主字幕颜色
\2c&H<bbggrr>& 改变次要颜色
\3c&H<bbggrr>& 改变边框颜色
\4c&H<bbggrr>& 改变阴影颜色
\K<t> 卡OK效果过度
\move(x1,y1,x2,y2) 字幕从x1y1坐标移动到x2y2
\t(t1,t2,f(x)) 字幕在t1、t2时候执行f(x)这个函数,例如\t(t1,t2,\c&H<bbggrr>&)
\r 撤销上一个动画效果
(动画效果能否播放出来,完全取决于硬件配置和播放器的能力)

下面举个例子:
{\move(900,75,962,75)}{\r\K20}震{\r\K20}え{\r\K60}届{\r\K30}く{\r\K20}风
刨除掉函数后可以得到的文本为:震え届く风
整体会在字幕出现时间内从900、75坐标移动到962、75,也就是水平移动62的单位。
同时“震”字有20毫秒的卡OK效果(字体颜色变换根据前面定义颜色SecondaryColour)
然后遇到\r停止变换,也就是后面的字幕与前面这个\k无关了。
前面的\r因为的move函数,所以并不起作用,为了看起来整齐而加上的。
然后“え”字也是执行前面的\k20,依次类推。

【sub、sup字幕】
这两种字幕都是图层字幕,要是修改里面的文字就很困难了。
用过PS都知道,文本和图像是不同的。
sub字幕大致的原理是从t1到t2时间内,显示一张bmp位图。
因而时间轴是可以修改的。
时间轴类似srt打开后一看就明白了,就不过多的介绍了。
对于文本字幕转换成图层字幕,文字转换是肯定完全正确的了。
但是字体能不能全部配套上就不好说了。
图层字幕转换成文本字幕,就看转换软件的识别率了。

PS:
个人比较喜欢ssa、ass字幕,特效多,基本可以满足任何要求。
srt字幕比较适合电影,因为不需要什么额外的特效。
sub、sup字幕的话,因为是图层字幕,自己做起来也费劲,还需要文本转换,别人改起来也费劲,还需要文本识别。
字幕里面难免会有个什么翻译错误这些的,生成sub后后期也不方便修改。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
收藏
送赞
分享

发表回复

评论列表(9)

[table][tr][td]用字幕软件不是更加一目了然嘛!!!
4 天前 回复
[table][tr][td]
字幕加载软件有些时候会产生很多没用的代码,有些时候有些代码还看不到,底层能控制的地方更多一点。
而且我是强迫症,要求不光字幕看起来一样,内部代码都要整齐漂亮~
一般用软件我都是大规模的调整时间轴。
记事本文本编辑比较方便,适合字幕的轻微修改,比较适合不是专业字幕组的人去修改字幕。
所以是基础教程嘛~
4 天前 回复
[table][tr][td]就是这么写就可以用记事本写字幕?
表示不懂
4 天前 回复
[table][tr][td]用记事本吗?

那用AE会有多余的东西出来吗?
4 天前 回复
[table][tr][td]
是的,可以用记事本写,保存后改扩展名就可以。

丫的我鲁鲁修字幕还没改完……
4 天前 回复
[table][tr][td]
文本自己是可以使用记事本打开的,刨除部分加密的文本字幕,例如mks这种。
图层字幕只能用软件打开了,修改的话,需要修改图像,就比较恶心了。


lyc64于2016-3-3 14:24补充以下内容:
AE应该是内嵌字幕吧?AE不是很熟悉。
内嵌字幕不能算在字幕的范围内了。
字幕和视频、音频一样也是一个单独的轨道。
内嵌字幕因为是和画面融合了,所以其实本质是无字幕的。
内挂字幕是内部视频封装,播放时候播放器也需要解析字幕轨道。
4 天前 回复
[table][tr][td]多个字幕同时显示txt怎么编→_→
4 天前 回复
[table][tr][td]
srt的话,必须要写在同一个编号下面,例如:
1
00:00:00,000 --> 00:00:01,000
字幕
subtitle

ass、ssa的话,不用在乎字幕和时间的关系。
第一行字幕先出现,第二行后出现,前后互换后,只要时间轴不改变,出现顺序还是一样。
而且同一个时间点有多少字幕也都可以一起显示出来的,
例如一般双语字幕都是中文一部分,外文一部分,因为中文外文对应的时间轴是一样的。
所以放出来就直接是两行中外对称的字幕了。
4 天前 回复
[table][tr][td]感谢楼主哇 又学到东西了,这么一看瞬间懂了一些 1.gif
4 天前 回复