SSA动态字幕制作技术讲座

字幕最常见的是idx/sub(直接从DVD光盘上提取的字幕格式)和文本格式的srt,ssa/ass几种格式

SRT和SSA两种格式的字幕均为文本格式字幕,其共同的优点是:
* 只需要单独一个文件即可使用,不象SUB字幕还需要一个idx定义文件
* 字幕文件很小,都在几十KB以内,便于传播以及刻碟 :-)
* 用任何文本编辑工具都能够打开,非常便于对字幕内容进行细节修改和调整
* 使用者能够随心所欲定制观看影片时字幕的字体、大小、颜色等等
* 都被VobSub直接支持

用记事本打开ass(ssa)文件,格式说明如下://ass可以理解为ssa的加强版,建议使用,红色部分为ass特有

[Script Info]
关于此脚本的常规信息,无须修改。(分号是单行注释符)
ScriptType:v4.00 ssa为v4.00,ass为v4.00+,无须修改。
Collisions:Normal 默认值Normal,无须修改。
PlayResY:384 视频Y方向像素值。//视频大小为640×480,即填480。
PlayResX:288 视频X方向像素值。//视频大小为640×480,即填640。
Timer:100.00 默认值100.00,脚本的速度为100%。(一般无须修改)

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
[V4+ Styles](ssa为[V4 Styles])//预定义脚本用到的字体,以逗号间隔各段

各段解释:
Name. 字体名称
Fontname. Windows字体名 //注意文件用Unicode存盘,否则中文字体名无效
Fontsize. 字体大小
PrimaryColour. 主要色。(蓝-绿-红,用工具配色如ps,注意RGB次序,十六进制用&H开头)
SecondaryColour. 次要色。//卡拉OK效果时先显示
OutlineColor (TertiaryColour). 外框色。
BackColour. 背景色。
Bold. 粗体,-1为真,0为假。
Italic. 斜体,-1为真,0为假。
Underline. 下划线,-1为真,0为假。
Strikeout. 删除线,-1为真,0为假。
ScaleX. 横向缩放(百分比)。
ScaleY. 纵向缩放(百分比)。
Spacing. 间距(象素)。
Angle. 角度(度)。
BorderStyle. 边框类型,1为轮廓线加阴影,3不透明框?
Outline. 轮廓线线宽(取值 0-4)。
Shadow. 阴影深度(取值0-4)。
Alignment. 对齐方式。从上到下,从左到右(ass 7-8-9-4-5-6-1-2-3,ssa 5-6-7-9-10-11-1-2-3)。
(ssa)
左 中 右
上 5 6 7
中 9 10 11
下 1 2 3

(ASS)
左 中 右
上 7 8 9
中 4 5 6
下 1 2 3

MarginL. 左边距。
MarginR. 右边距。
MarginV. 垂直边距,由Alignment决定参照。
AlphaLevel. 透明度(取值0-255)。
Encoding. 语言代码,134为简体,136为繁体,0为英语。

[Events] //字幕正文,一句一行,参数以逗号间隔
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
各段解释:
Layer(Marked). 层号,字体在相交时,高层覆盖低层(整数值)。
Start. 开时时间。
End. 结束时间。
Style. 字体类型名,在[V4+ Styles]定义的。
Actor(Name). 特性名,仅为方便修改。
MarginL. 左边距。
MarginR. 右边距。
MarginV. 垂直边距,由Alignment决定参照线。

Effect
//[…]内为可选参数,下同。
命令1:Karaoke 已废弃,可用/k指令代替。
命令2:Scroll up;y1;y2;delay[;fadeawayheight] 字幕自下往上滚动。
参数解释:y1和y2定义滚动区域(上边界和下边界),满屏取0。delay为滚动速度,取值1-100,越小越快。fadeawayheight为渐隐褪色宽度。
范例:Dialogue: …(略)…,Scroll up;20;250;10;50,“字幕-从Y250移到Y20-速度10-渐隐褪色宽度50。”
命令3:Banner;delay[;lefttoright;fadeawaywidth]"字幕左右滚动。
参数解释:delay为滚动速度,取值1-100,越小越快。lefttoright取值0(右移到左)或1(左移到右)。fadeawaywidth为渐隐褪色宽度。
范例:Dialogue: …(略)…,Banner;20;1;10,“字幕-速度20-左移到右-渐隐褪色宽度10。”

Text. 正文部分。
下面介绍控制代码://嵌入正文用{},可连用如

代码符号:
或N
功能及参数:换行。
范例:ABCD
EEEE

代码:<0 or 1>
功能及参数:粗体。1为真,0为假。
范例:There is a bold word her

代码:i<0 or 1>
功能及参数:斜体。1为真,0为假。
范例:There is an italicised word here

代码:u<0 or 1>
功能及参数:下划线。1为真,0为假。

代码:s<0 or 1>
功能及参数:删除线。1为真,0为假。

代码:ord<width>
功能及参数:外框宽度

代码:shad<depth>
功能及参数:阴影深度

代码:e<0 or 1>
功能及参数:模糊边缘。1为真,0为假。

代码:fn<font name>
功能及参数:指定字体(windows字体名)
范例:Here is some {fnCourier New}fixed space text

代码:fs<font size>
功能及参数:字幕字体大小
范例:小字大字

代码:fsc<x or y><percent>
功能及参数:字体的X向及Y向缩放
范例:胖胖的字幕

代码:fsp<pixels >
功能及参数:字幕间隔
范例:字间隔加宽

代码:fr[<x/y/z>]<degrees>
功能及参数:字幕角度
范例:此处字侧翻

代码:fe<charset>
功能及参数:语言代码,详见前文字体信息-Encoding。
范例:

代码:c&H<bbggrr>&
功能及参数:设定颜色,1c到4c代表主色、次色等四种设定,详见前文字体信息-PrimaryColour。
范例:主色设为红色

代码:a<alignment>
功能及参数:对齐方式,详见前文字体信息-Alignment。
范例:文字在左上角

代码:an<alignment>
功能及参数:层号。

代码:k<duration>
功能及参数:卡拉OK效果,duration为持续时间,单位1/100秒。另有参数kf和ko,自行研究。
范例:This is a karaoke line

代码:q<num>
功能及参数:缠绕类型?

代码:
[<style>]
功能及参数:字幕风格恢复到字体信息栏的设定值。

代码: ([<t1>, <t2>, ] [<accel>,] <style modifiers>)
功能:风格渐变效果,如放大缩小,转动等。
参数:<t1><t2>开始、结束时间偏移,单位ms。<accel>默认值为1即变化速度恒定,取值0到1变化越来越慢,取值大于1变化越来越快。<style modifiers>渐变终态,可用(c,-4c,alpha,-4a,fs,fr,fscx,fscy,fsp,ord,shad)。
范例1:字幕绕z轴转一圈(初态0度到终态360度),效果与alignment也有关。
范例1:字幕放大(初态24到终态60),变化渐慢。

代码:move(<x1>, <y1>, <x2>, <y2>[, <t1>, <t2>])
功能及参数:移动字幕。<x1><y1>起点坐标,<x2><y2>终点坐标,<t1><t2>移动开始时间和结束时间,不填为整个时间段。
范例:(0,0)移到(100,100)

代码:pos(<x>, <y>)
功能及参数:设定字幕位置
范例:定位100,100

代码:fade(<a1>, <a2>, <a3>, <t1>, <t2>, <t3>, <t4>)
功能及参数:复式渐隐效果。a1、a2、a3为透明度。t1-t4为4个时间点,单位ms,t1->t2(a1变到a2),t2->t3(保持a2),t3->t4(a2变到a3)。

代码:fad(<t1>, <t2>)
功能及参数:简单渐隐效果。t1和t2分别为开始和结束时间,单位ms。
范例:fad(50,50)渐隐字幕

p<0/1/2…> 绘图,参数1/2…表示绘图比例,0表示绘图结束
p<1/2…><绘图命令>p0 绘制图形,绘制出的图形作为一个字符来处理,可以近行旋转,缩放等

绘图命令:
m <x> <y> 移动到x,y并开始绘制
绘图开始时必须使用一次
n <x> <y> 移动到x,y并开始绘制,但不关闭上一个绘图
l <x> <y> 画直线到x,y
可以用l <x1> <y2> <x2> <y2> … <xn> <yn>的方式画连续直线
b <x1> <y1> <x2> <y2> <x3> <y3> 画曲线
s <x1> <y1> <x2> <y2> <x3> <y3> … <xn> <yn> 画封闭曲线
p <x> <y> 延伸封闭曲线
c 关闭封闭曲线
绘制的图形是实心的,在前面添加a&Hff&可以得到空心的图形

举例说明以下:
几个最简单的特效,代码格式是 {命令}
1.{fs15}
强制字体大小,用于水印的话,应该限制字体大小。水印字体大小一般为15。各种动态水印字体大小可以千变万化!
2.{pos(315,20)}
位置设置,如JRvS的水印出现在右上角。 (x,y)x相当于水平位置,从左到右增大。y是垂直位置,从上到下增大。 数值范围根据ssa字慕[Script Info]内定义的范围,即
PlayResX: 384
PlayResY: 288
3.N
断行,注意,这个代码没有花括号
如:Dialogue: Marked=0,0:00:01.35,0:00:15.34,Default,,0000,0000,0000,,{pos(315,20)}{fs15}极速JRvS工作室出品N copd 制作
注意用空格来保持对齐
4.{fn华文彩云fe134fs15c&H80FF00&}
这里实际定义了字体、字体名称、字体大小和颜色其中fe134是定义简体中文编码,只要在开头定义的地方设定了134,这里可以省略
如:
淡紫 Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{fn华文彩云fe134c&HFF8080&}copd 制作(默认的方位和大小)
浅蓝 Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{pos(315,20)}{fn华文彩云fe134fs15c&HFF8000&}copd 制作
下面再给出几个颜色吧:
亮绿 {c&H80FF00&}
灰蓝 {c&H808000&}
土蓝 {c&HFFFF00&}
土黄 {c&H8CE8EA&}
草黄 {c&H67DCB9&}
粉红 {c&HFF80FF&}
颜色特效的代码就是{c&RRGGBB&}
Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{pos(315,20)}{fnComic Sans MS}{c&H80FF00&}www.speedmovie.net
5.{ (frx1440)}、{ (fry1440)}、{ (frz1440)}
转动的效果,frx是绕X轴转动,fry是绕Y轴转动,frz是绕Z轴转动,就像风车转动一样(注意都是小写)
如:
Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{fs15}{pos(330,40)}{ (fry1440)}copd 制作
Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{fs15}{pos(230,140)}{ (frz1440)}copd 制作
Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{fs15}{pos(230,40)}{ (frx1440)}copd 制作
该效果就是:在具体位置出现转动效果,持续5秒,至于1440是角度,如180表示转动180度,根据时间轴的长度来控制快慢
6.{fad(20,2000)}和{fad(2000,20)}
淡入淡出最简单的效果,前者表示逐渐消失,后者是逐渐出现。
如:
Dialogue: Marked=0,0:00:15.34,0:00:25.35,Default,,0000,0000,0000,,{fs15}{ (15,fs2)}{fad(20,2000)}{pos(330,40)}copd制作
该效果就是:右上角“**制作”逐渐消失
2000是表示淡入淡出的时间为2秒,即2000毫秒!,20是淡,数值为0-255
7.{move(195,150,330,40)}
任意位置移动的效果,前两位是初始位置,后两位是移动到的位置,配合转动可以实现很好的效果,移动的时间尽量小,那么效果就好。如:
Dialogue: Marked=0,0:00:08.02,0:00:09.02,Default,,0000,0000,0000,,{move(195,150,330,40)}{fs15}{ (frx2400)}copd制作
该效果就是:“**制作”从中间水平转动地移到右上角水印的位置
主要是滚动特效和涉及ssa中的嵌套、控制性变化以及常用的组合特效
8.滚动特效
横幅滚动:Banner;
Dialogue: Marked=0,0:00:01.30,0:01:28.90,Default,,0000,0000,0000,Banner;28;0;60,郑重声明:本作品之片源、字幕均来自互联网,版权归原电影公司所有。任何组织和个人不得公开传播或用于任何商业盈利用途,否则一切后果由该组织或个人承担!本站和制作者不承担任何法律及连带责任!请自觉于下载后24小时内删除。如果喜欢本片,请购买正版!{move(20, 20,20,20}
Dialogue: Marked=0,0:00:01.34,0:00:50.35,mine,,20,20,260,Banner;28;0;60,本作品来自互联网,仅供个人影视制作学习交流之用,任何组织和个人不得公开传播或用于任何商业盈利用途……
这2个的效果都是在影片的顶部从右到左的滚动出现免责信息。Banner之前的260是方位,表示显示在顶部,改成10或者下面的那个{move(20, 20,20,20}去掉即显示在屏幕的底部,根据爱好确定部位好了。Banner之后的3个参数分别表示:28是滚动的速度,越小速度越快;0是从右到左,改成1就是从左到右;60是淡出,你将这个数值改成100再看看效果即可明白!
从下往上,如:
Dialogue: Marked=0,0:00:00.20,0:00:10.10,Default,,0000,0000,0000,Scroll up;0;300;40;70,往上滚动
从上往下,如:
Dialogue: Marked=0,0:00:00.20,0:00:10.10,Default,,0000,0000,0000,Scroll down;0;300;40;70,往下滚动
0;300表示移动的距离 40;是移动的速度,越小就越快 70是淡出,具体效果看附件里的样本
9.字体变化
字体变化组合本身就可以实现很漂亮的效果
9.1 字体排版
{fe134fn方正舒体fs24frz30}极速
{fe130fnComic Sans MS}{frx60}www.speedmovie.net
{fe}是语种编码,简体中文134,繁体136,英文的是130。有些操作系统在style里定义格式后可以省略编码的命令
{frx},{fry},{frx}是字体分别按x轴,y轴,z轴倾斜一个角度,如特效中“极”“速”的排版
完整的代码如下:
Dialogue: Marked=0,0:00:01.00,0:00:04.30,Default,,0000,0000,0000,,{frx50}X轴心旋转字体50度
Dialogue: Marked=0,0:00:01.00,0:00:04.30,Default,,0000,0000,0000,,{pos(150,150)}{fry60}Y轴心旋转字体60度
Dialogue: Marked=0,0:00:01.00,0:00:04.30,Default,,0000,0000,0000,,{fs15}{pos(140,90)}{frz30}Z轴心旋转字体30度
9.2 字变形
{ (fscy300)}字变高
{ (80,500,fscy300)}字变高
{ (fscy300)}字拉长
{ (80,500,fscx300)}字拉长
{ (80,500,fscx200fscy400)}字体变形
出现 的命令都可以进行时间控制,也就是里面的80,500。表示在定义的时间轴里出现和完成这个特效的时间。时间控制和嵌套是ssa特效里变化最多、亦是不好掌握的一个内容。
完整的代码如下:
Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{ (80,500,fscy300)}{pos(190,200)}字变高
Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{ (80,500,fscx300)}{pos(190,240)}字拉长
Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{ (80,500,fscx200fscy400)}{pos(190,140)}字变形
9.3 字体缩放
{fs1}{ (1,fs15)}1号字体放大到15号字体
{fs15}{ (15,fs5)}15号字体缩小到1号字体
{fscx500%}{fscy500%}{ (1,fscx100%,fscy100%)}缩小
100%是定义的style里的字体大小,这个缩放可以带字体变形,如:
{fscx500%}{fscy700%}{ (1,fscx100%,fscy200%)}变形缩小
{fs10}{ (0,900,fs50)}控制性放大
{fs50}{ (200,600,fs10)}控制性缩小
{fs50 (0,600,fs10 (800,1400,fs24))}控制性缩放 ?
这个嵌套有些难度,但拆分成最简单的{ fs}就容易理解了。
完整的代码如:(这里定义的style里是15号字体)
Dialogue: Marked=0,0:00:16.00,0:00:16.50,Default,,0000,0000,0000,,{pos(160,140)}{fscx500%}{fscy500%}{ (1,fscx100%,fscy100%)}{frz15}缩{frz345}放
Dialogue: Marked=0,0:00:16.00,0:00:16.50,Default,,0000,0000,0000,,{pos(160,250)}{fscx500%}{fscy700%}{ (1,fscx100%,fscy200%)}变形缩小
Dialogue: Marked=0,0:00:16.50,0:00:17.50,Default,,0000,0000,0000,,{pos(160,140)}{frz15}{ (1,fs50)}缩{frz345}放
Dialogue: Marked=0,0:00:20.00,0:00:22.50,Default,,0000,0000,0000,,{fs10}{ (0,900,fs50)}控制性放大
Dialogue: Marked=0,0:00:20.00,0:00:22.50,Default,,0000,0000,0000,,{pos(160,160)}{fs50}{ (200,600,fs10)}控制性缩小
Dialogue: Marked=0,0:00:23.00,0:00:25.50,Default,,0000,0000,0000,,{pos(160,190)}{fs10 (0,600,fs50 (1200,1800,fs10))}控制性缩放效果
9.4 字体旋转
{c&HFF80FF&}{ (30,1500,fry720)}JRvS(转动) { 0,(frz3600)}
{c&HFF80FF&}{ (30,1500,1,fry720)}JRvS(转动)
{ (frx360)}、{ (fry360)}、{ (frz360)}是字体分别绕x轴,y轴,z轴旋转360度。一般使用{ (fry360)}出现沿y轴转动的特效为多数。同样里面的30和1500表示时间的控制
{fs30fry90}{ (0,1500,2,fs20fry0)}字体Y轴旋转变小
完整代码如下:
Dialogue: Marked=0,0:00:31.51,0:00:35.50,Default,,0000,0000,0000,,{pos(160,140)}{ (fry1440)}copd 制作-X轴
Dialogue: Marked=0,0:00:35.49,0:00:40.50,Default,,0000,0000,0000,,{pos(160,140)}copd 制作-X轴
Dialogue: Marked=0,0:00:31.51,0:00:40.50,Default,,0000,0000,0000,,{pos(160,240)}{ (30,2500,fry1440)}copd 制作-X轴(控制性)
Dialogue: Marked=0,0:00:31.51,0:00:35.50,Default,,0000,0000,0000,,{pos(60,60)}{ (frz1440)}copd 制作-Z轴
Dialogue: Marked=0,0:00:35.49,0:00:40.50,Default,,0000,0000,0000,,{pos(60,60)}copd 制作-Z轴
Dialogue: Marked=0,0:00:31.51,0:00:35.50,Default,,0000,0000,0000,,{fs15}{pos(230,40)}{ (frx1440)}copd 制作-y轴
Dialogue: Marked=0,0:00:35.49,0:00:40.50,Default,,0000,0000,0000,,{fs15}{pos(230,40)}copd 制作-y轴
Dialogue: Marked=0,0:00:41.00,0:00:45.00,Default,,0000,0000,0000,,{pos(190,200)}{fs50frx90}{ (0,1500,fs18frx0)}字体X轴旋转变小
Dialogue: Marked=0,0:00:41.00,0:00:45.00,Default,,0000,0000,0000,,{pos(190,60)}{fs40frz360}{ (0,500,fs18frz0)}字体z轴旋转变小
Dialogue: Marked=0,0:00:41.00,0:00:45.00,Default,,0000,0000,0000,,{pos(190,260)}{fs64fry90}{ (0,1500,fs30fry0)}字体Y轴旋转变小
9.5 字体变色
{c&HFF8000& (0,500,c&H80FF00&)}从蓝色过度到绿色
至于什么搭配比较渐进,请看vobsub或者一些画图软件中的调色板,如“黄色到绿色”等。颜色代码,vobsub229以上的版本即可查看。
颜色代码进行层层嵌套,即可实现闪动的霓虹灯效果,如附件内JRvS的效果
完整代码;
Dialogue: Marked=0,0:00:45.30,0:00:48.00,Default,,0000,0000,0000,,{pos(190,100)}{c&HFF8000& (0,500,c&H80FF00&)}渐变颜色
9.6 淡入淡出
淡入{fad(400,80)}
淡出{fad(80,400)}
80是淡化效果的灰度,数值0-255
400是淡化效果完成的时间
10.移动
移动结合上述的各种字体特效可以实现更绚丽的效果
如:
Dialogue:Marked=0,0:00:47.00,0:00:55.00,Default,,0000,0000,0000,,{move(0,0,60,120[,100,500])}{fad(400,80)}{fs18 (130,500,fry360)}插
Dialogue:Marked=0,0:00:47.30,0:00:55.00,Default,,0000,0000,0000,,{move(0,0,60,160[,100,500])}{fad(400,80)}{fs18 (130,500,fry360)}入
Dialogue:Marked=0,0:00:48.00,0:00:55.00,Default,,0000,0000,0000,,{move(0,57,60,200[,100,500])}{fad(400,80)}{fs18 (130,500,fry360)}效
Dialogue:Marked=0,0:00:48.30,0:00:55.00,Default,,0000,0000,0000,,{move(0,57,60,240[,100,500])}{fad(400,80)}{fs18 (130,500,fry360)}果
从左边的(100,500)点飞出4个字。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部