我们要学好SSA主要从两个方面着手:一个是SSA文件的组成结构;一个是SSA代码。
-%K!Ra\W 一.SSA文件的组成结构
39pG-otJ SSA文件主要由三大部分组成:[Script Info]部分,[v4 Styles]部分和[Events]部分。
eim +oms 1.[Script Info]部分
:
!
ya&o PlayResX: 384
Ucj?$= PlayResY: 288
Bf_$BCyGW 384×288是标准的4:3画面分辨率之一。ssa字幕里的坐标(字幕的位置)即根据这2个数值的范围来定义。16:9宽银幕的片子略做调整即可。
@[$_cGR7 这里主要介绍文件本身和制作者的信息,这里面最重要的两项是PlayResX和PlayResY,它实际上是按给定的PlayResX和PlayResY数值将屏幕按比例化分,屏幕的左上角坐标为(0,0),右下角坐标为(PlayResX数值,PlayResY数值).这两个值最好是和视频文件的长宽相同,这样在下面[Events]部分文本位置坐标的设定很方便而且准确.
Z 6jEj9?O 当然这两个值也可能和原视频文件的长宽不同,比如视频文件尺寸为640x360,而PlayResX:384,PlayResY: 288,如同前面所说的,它是将屏幕长宽按384:288来化分的.一旦这样划定,下面的各种坐标设定都要以384和288为根据.
1
I+9?fa 特别要注意的是:对于一个已经存在并且文本坐标都设置好的SSA文件,如果它的PlayResX和PlayResY数值和视频文件的长宽尺寸不符(包括成比例的情况,比如视频文件尺寸为640x360,而PlayResX:320,PlayResY: 180),我们不要简单的把PlayResX和PlayResY数值改成屏幕尺寸,这样将导致字幕失真,是因为文本部分的尺寸并没有改,仍按照原来的PlayResX和PlayResY数值设定.如果有较多的坐标设定,就不要改原来的PlayResX和PlayResY数值,在原基础上编辑.
[3%
mNNk 2.[V4 Styles]部分
+Y\:Q<eMFg 这是个存放[Events]部分里所用到的各种字体信息的地方.可以存在多种字体,每种字体有多种特征.当[Events]部分的Name项引用到这里的某种字体时,则意味这该字体的各种特征也被引用.字体的特征还可以在文本行中修改,这将在[Events]部分讨论.
1GY2aZ@ 常见的字体属性有Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
`]Bb0h1![ 我们可以再定义一个Style,并命名为mine,如Style: mine,华文新魏,18,&HFF0000,&HFF80FF0,&Hffffff,&Hffffff,0,0,1,2,1,2,20,20,20,0,134
Fsx?(?tCMo 即可以这样:
6CJMQi,kn [V4 Styles]
>}5?`.K~Q* Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle,Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
rg/{5f Style: Default,华文彩云,18,&Hff0000,&Hff8080,&Hffffff,&Hffffff,0,0,1,2,1,2,20,20,20,0,134
4s\spvJ Style: mine,华文新魏,18,&HFF0000,&HFF80FF0,&Hffffff,&Hffffff,0,0,1,2,1,2,20,20,20,0,134
Cs $5Of( 有了具体经验后,一般可以不作调整,需要改动的可以是“Fontname”,如改成黑体, “Fontsize”,做字幕字号24比较合适。至于最后的“Encoding”,134表示简体中文的编码,繁体中文的编码为136。
_z5/&tm_H 下面对各项作一说明,并列出属性的取值及范围
%36x'Dn? Name ---字体名称---[Events]部分将引用该项,比如Default,Font1等
:_{8amO Fontname ---所使用的字型---比如黑体,楷体_GB2312等.对新载入的SSA文件,VOBSUB不会识别出宋体以外的字型,都按宋体输出.但可以在DirectVobSub中重新定义
tDByOml8Ix Fontsize ---字体大小---常用范围8-72
lU
WXXuO] PrimaryColour ---主体颜色---颜色格式为&HXXXXXX,十六进制,X取值为0-f
qHtQ4_Zn; SecondaryColour ---次要颜色---格式同上,卡拉OK中使用,即变色前的颜,变色后显示主体颜色
<}a?<):S TertiaryColour ---边框颜色---格式同上
\0$+*ejz BackColour ---阴影颜色---格式同上
"CJVtO 下面是一些常用颜色的代码,以便在文件中直接添加和编辑:
J~~\0 u &Hffffff 白 &H8080ff 浅红
r924!zdbR &H000000 黑 &H80ffff 浅黄
T^bAO-d# &H0000ff 深红 &HFF8000 亮蓝
=C
%)(| &H00ffff 深黄 &H80ff00 浅绿
>KKWhJ &Hff0000 深蓝 &H00ff00 亮绿
)'shpRB;1 &H008000 深绿 &Hff00ff 紫红(偏紫)
5#Er& 6s &H0080ff 橙 &H8000ff 紫红(偏红)
X+vKY &Hff0080 紫 &Hffff00 浅蓝
'u,|*o Bold ---粗体---0关闭,-1开启
rxCzPF Italic ---斜体---0关闭,-1开启
!V|{(>+< BorderStyle ---边框样式---取值1:正常,取值3:有一覆盖区域
w OL,L U Outline ---边框宽度---取值范围1-4,数字越大边框越宽
A;AQw Shadow ---阴影距离---取值范围0-4,数字越大阴影越厚
mc{z Alignment ---对齐方式---这是重中之重,学懂对齐方式等于学懂了一半的SSA,其用法将在下面的代码部分作详细的介绍,这里只作简单的说明(下面各位置的数字就是Alignment的取值,很好记:从1-11,没有4和8这两个数,其余都是连续排列):
Hv6h7- 左 中 右
F^,:p.ihm< 上 5 6 7
8SRR)O[)} 中 9 10 11
@ @[xTyA 下 1 2 3
0U42QEG2 MarginL ---字幕距左边的距离---取值范围0-PlayResX的数值
M7#!Y= MarginR ---字幕距右边的距离---取值范围0-PlayResX的数值
}[0nTd MarginV ---字幕高度---取值范围0-PlayResY的数值
zB
.cOMx 2|pTw5z~ AlphaLevel---字体透明度---透明度格式为&HXX,十六进制,X取值为0-f
m*^)# Encoding ---编码---简体134,繁体138
17hoX4T 3.[Events]
(\\;A? Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
ki1(b]rf 从这里开始就是字幕部分了,以“Dialogue: Marked=0,0:00:01.34,0:00:02.05,Default,,0000,0000,0000,,”定义开头。如果只是单纯做字幕用,那么这句后面就是字幕部分了,而字幕的格式根据[V4 Styles]里设置的来显示。Default可以换用上面设置的mine,那么显示的格式是按照mine里面设定!
c^}G=Z1@ 这里是将[v4 Styles]部分中已定义的字体提供给字幕,并能对字体的各属性重新定义;通过特定的SSA代码实现特效.
x*OdMr\n8? Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
161P%sGx2 Marked---标记---一般都设为0
U>tR :) Start ---字幕开始时间---格式0:00:00.00最小单位0.01秒
AVT% AS End ---字幕结束时间---格式同上
JFv70rBe Style ---字体名称---引用的是[v4 Styles]部分中的Name项
EP:`l Name ---名字---注意这个Name和[v4 Styles]部分中的Name完全不同,相当于注释,一般省略,省略后只留一逗号.
<4rnOQ: MarginL---是对[v4 Styles]部分MarginL值的重新设定,0000表示采用原值;若不为零,则代替原值(此时原值不再起作用)
L0w6K0J4 MarginR---是对[v4 Styles]部分MarginR值的重新设定,用法同上
[f+wP|NKL MarginV---是对[v4 Styles]部分MarginV值的重新设定,用法同上
n#!c!EfG Effect---这里是SSA为编辑人员方便使用动态效果而自定义的代码,有Scroll up,Scroll down,Banner和Karaoke四种形式.为集中学习这里就不作介绍将其放到SSA代码部分说明.
}rQ Qe:{]B Text---字幕区---在这里可以添加代码改变字体属性,实现多种特效
FjCGD4x1N 其实[v4 Styles]部分就是一个存放各种字体以及该字体属性初始值的一个场所,它的大小,颜色,字幕所在的位置等信息都放在这里;而[Events]部分则是把[v4 Styles]部分中的各个字体应用到文本中去,并且能够对已定义的字体的各种属性进行修改以达到需要的效果.打个比方,几种不同类型的木材,具有各自的原始尺寸颜色,经过加工改变大小涂上新的颜色(或者直接使用原料),从而做成各种家俱材料.[v4 Styles]部分就相当于放置这些原始木材的仓库,而[Events]部分则是执行怎样加工木材并将其安装到家俱上
)>@S8v,( 二.下面介绍SSA代码的用法
9'MGv*Ho SSA代码
8Lgt 首先对下面代码中用到的符号说明一下:
v3"6'.f;bY <..>---参数
Y0(4]X \ey [..]---可选项
o~$O$
<../..>---任选其中一项
kk
fWiPO^ 规定:所有代码之前加\
T)P)B6q 所有代码放在括号{}内,\N,\n,\h例外。
y:)^*2GA-B \N---换行---换行后两行之间没有空隙
N.*)-O
\n---空格---或直接按空格键,超出范围自动换行
36.,:!%p \h---空格---或直接按空格键\b<0/1>---粗体---0关闭,1开启
!hVbx#bXl \i<0/1>---斜体---0关闭,1开启\bord<width>---边框宽度---width取值范围1-4,数字越大边框越宽
>YI Vi4'' \shad<depth>---阴影距离---depth取值范围0-4,数字越大阴影越厚\r<style>---改变字体---比如Default,Font1等
n])#
<0 \r\r---恢复成最初的字体
"Z&.m..gc \fn<font name>---改变字型---比如黑体,楷体_GB2312等
-
lX4; \fs<font size>---改变字号---常用范围8-72
g}MUfl-L \fsc<x/y><percent>---字符缩放---x代表水平方向,y代表垂直方向,perecet取不小于0的数(小数也可以).默认大小为100(即100%)
}AS?q?4? \fsp<pixels>---调整字间距---pixels取值在实数范围内,可以是正数,零,负数.默认值为0
qfsPX6] \fr[<x/y/z>]<degrees>---旋转---x代表水平方向,y代表垂直方向,z是垂直于屏幕的坐标轴.degrees为正数时是逆时针旋转,为负数时是顺时针旋转.\c&H<XXXXXX>---改变颜色---颜色格式为&HXXXXXX,十六进制,X取值为0-f,作用相当于\1c&H<XXXXXX>
\%<M[r= \1c&H<XXXXXX>---改变主体颜色---格式同上
,l~<|\4,wv \2c&H<XXXXXX>---改变次要颜色---格式同上
Z3]I^i
FI \3c&H<XXXXXX>---改变边框颜色---格式同上
`X<B+:>v- \4c&H<XXXXXX>---改变阴影颜色---格式同上 \alpha&H<XX>---改变透明度---透明度格式为\alpha&HXX,十六进制,X取值为0-f,同时改变字幕所有部分的透明度,取值越大,透明度越强
JP4DV=}L \1a&H<XX>---改变主体透明度---格式同上
`XxnQng \2a&H<XX>---改变次要透明度---格式同上
JmCMFqB9 \3a&H<XX>---改变边框透明度---格式同上
mG
S4W; \4a&H<XX>---改变阴影透明度---格式同上\move(<x1>, <y1>, <x2>, <y2>[, <t1>, <t2>])---移动效果
$z=%e#(!I x1,y1---移动开始的位置
-leX|U}k x2,y2---移动结束的位置
xFF!)k # t1,t2---移动开始和结束时间,省略后以字幕开始和结束时间为准
529b. | \pos(<x>, <y> )---位置改变---x和y是是改变位置后的坐标\t([<t1>, <t2> ], [<accel>], <style modifiers> )---动态效果---可同时使用多个效果
2j+w5KvU t1,t2---动态效果开始和结束时间,单位为1毫秒,省略后以字幕开始和结束时间为准
"0HUaU,e accel---控制动态效果的运动速度,它的作用范围较大,能影响多行文本的动态速度. 默认值为1.当0<accel<1时,速度从快到慢减速运动;accel>1时,速度从慢到快加速运动
(fpz",[ style modifiers可以使用的效果有\bord,\shad,\fsc<x/y>,\fsp,\fs,\fr[<x/y/z>],\move, \c,\<1/2/3/4>c,\alpha,\<1/2/3/4>a \fad(<t1>, <t2> )---淡出淡入效果---单位为1毫秒,如2000就是2秒
_V$'nz#>e t1---显示使用的时间,是时间段
WJq>%<# t2---消失使用的时间,是时间段
necY/&Ld- \fade(<a1>, <a2>, <a3>, <t1>, <t2>, <t3>, <t4> )---淡出淡入效果---透明度必须用十进制表示,范围0-255
"'CvB0> a1---显示开始时的透明度
@6UtnX'd a2---显示结束到消失开始时的透明度
]c>@RXY' a3---消失结束时的透明度
>W> rhxU t1,t2---显示的开始和结束时间,是时间点
[e><^R*u t3,t4---消失的开始和结束时间,是时间点
_ ^FC9
+@ChZ Scroll up;<y1>;<y2>;<delay>;[<range>]---字幕从下向上移动
=d8Rij- Scroll down;<y1>;<y2>;<delay>[;<range>]---字幕从上向下移动
5qrD~D' y1---字幕出发处的垂直坐标
Wx0i_HFR y2---字幕终止处的垂直坐标
=n,;S W delay---速度,表示移动一象素所用的时间,单位为0.001秒/1象素,delay=20表示1秒移动50象素的距离.由此可计算出头字幕从初始坐标到达终点坐标所用的时间为: (y1-y2的绝对值)*(delay/1000)(秒),delay越小移动速度越快.
h8(#\E range---上下淡出淡入范围 Banner;<delay>;[<lefttoright>;[<range>]]---字幕横向移动,移动从屏幕边线出发到边线终止
^/#+0/Bn delay用法同上
StJb-K/_cL lefttoright---0从右向左移动,1从左向右移动
X
H%pV range---左右的淡出淡入范围 Karaoke---卡拉OK,下面是代码表示
4r
$#- \K<duration> 卡拉OK,有平滑效果,时间单位是0.01秒,{\K200}XXX表示用2秒来显示歌词XXX,后面没有字符表示停顿一段时间
]~;*9`: \a<alignment>---设置对齐方式,不同的位置alignment取以下相应的值
,g?ny<#o 左 中 右
1
NP 上 5 6 7
]\yB,
中 9 10 11
N[
=I 下 1 2 3
wKpGJ&
{ 举例说明以下:
k5< n:dS 几个最简单的特效,代码格式是 {\命令}
r $S9/ 1.{\fs15}
l-w4E"n3 强制字体大小,用于水印的话,应该限制字体大小。水印字体大小一般为15。各种动态水印字体大小可以千变万化!
\>S.nW 2.{\pos(315,20)}
^x&x|ckR! 位置设置,如JRvS的水印出现在右上角。 (x,y)x相当于水平位置,从左到右增大。y是垂直位置,从上到下增大。 数值范围根据ssa字慕[Script Info]内定义的范围,即
ZJ{DW4#t PlayResX: 384
v.W! PlayResY: 288
),{3LIr 3.\N
Q3>qT84 断行,注意,这个代码没有花括号
$MasYi 如:Dialogue: Marked=0,0:00:01.35,0:00:15.34,Default,,0000,0000,0000,,{\pos(315,20)}{\fs15}极速JRvS工作室出品\N copd 制作
AkW,Fp1e 注意用空格来保持对齐
ybJa: 4.{\fn华文彩云\fe134\fs15\c&H80FF00&}
fp||<B 这里实际定义了字体、字体名称、字体大小和颜色其中\fe134是定义简体中文编码,只要在开头定义的地方设定了134,这里可以省略
nxN("$'cq 如:
<=uO*s>% 淡紫 Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\fn华文彩云\fe134\c&HFF8080&}copd 制作(默认的方位和大小)
Q\X_JZ 浅蓝 Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\pos(315,20)}{\fn华文彩云\fe134\fs15\c&HFF8000&}copd 制作
w32F?78] 下面再给出几个颜色吧:
@uC-dXA" 亮绿 {\c&H80FF00&}
f~d=1 灰蓝 {\c&H808000&}
iP7KM*ks 土蓝 {\c&HFFFF00&}
Q
m9b:U~ 土黄 {\c&H8CE8EA&}
9F,XjPK= 草黄 {\c&H67DCB9&}
^?%ThPo_ 粉红 {\c&HFF80FF&}
m$Tt y[0 颜色特效的代码就是{\c&RRGGBB&}
^R\5'9K! 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 (`n*d3 5.{\t(\frx1440)}、{\t(\fry1440)}、{\t(\frz1440)}
X pXhg*}K 转动的效果,frx是绕X轴转动,fry是绕Y轴转动,frz是绕Z轴转动,就像风车转动一样(注意都是小写)
TuMZHB7h; 如:
[u3^R] Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\fs15}{\pos(330,40)}{\t(\fry1440)}copd 制作
#l2WRw_t Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\fs15}{\pos(230,140)}{\t(\frz1440)}copd 制作
<.7W:s,f= Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\fs15}{\pos(230,40)}{\t(\frx1440)}copd 制作
/7*qa G 该效果就是:在具体位置出现转动效果,持续5秒,至于1440是角度,如180表示转动180度,根据时间轴的长度来控制快慢
0@f7`D 6.{\fad(20,2000)}和{\fad(2000,20)}
qmnCa&C9 淡入淡出最简单的效果,前者表示逐渐消失,后者是逐渐出现。
,/L_9wV
-\ 如:
Q~*3Z4)j Dialogue: Marked=0,0:00:15.34,0:00:25.35,Default,,0000,0000,0000,,{\fs15}{\t(15,\fs2)}{\fad(20,2000)}{\pos(330,40)}copd制作
_Q;M$.[zyR 该效果就是:右上角“**制作”逐渐消失
qf]OSd 2000是表示淡入淡出的时间为2秒,即2000毫秒!,20是淡,数值为0-255
8<^6<c 7.{\move(195,150,330,40)}
PzTTL=G + 任意位置移动的效果,前两位是初始位置,后两位是移动到的位置,配合转动可以实现很好的效果,移动的时间尽量小,那么效果就好。如:
B<'V7#L_ Dialogue: Marked=0,0:00:08.02,0:00:09.02,Default,,0000,0000,0000,,{\move(195,150,330,40)}{\fs15}{\t(\frx2400)}copd制作
[dL?N 该效果就是:“**制作”从中间水平转动地移到右上角水印的位置
*DoEDw 主要是滚动特效和涉及ssa中的嵌套、控制性变化以及常用的组合特效
U7fE6&g 8.滚动特效
;/{Q4X{ 横幅滚动:Banner;
-+I! (? 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}
s_h< Dialogue: Marked=0,0:00:01.34,0:00:50.35,mine,,20,20,260,Banner;28;0;60,本作品来自互联网,仅供个人影视制作学习交流之用,任何组织和个人不得公开传播或用于任何商业盈利用途……
lB\j>.c 这2个的效果都是在影片的顶部从右到左的滚动出现免责信息。Banner之前的260是方位,表示显示在顶部,改成10或者下面的那个{\move(20, 20,20,20}去掉即显示在屏幕的底部,根据爱好确定部位好了。Banner之后的3个参数分别表示:28是滚动的速度,越小速度越快;0是从右到左,改成1就是从左到右;60是淡出,你将这个数值改成100再看看效果即可明白!
RBgkC+2 从下往上,如:
s3kEux^ Dialogue: Marked=0,0:00:00.20,0:00:10.10,Default,,0000,0000,0000,Scroll up;0;300;40;70,往上滚动
>qUO_> 从上往下,如:
17Gdu[E Dialogue: Marked=0,0:00:00.20,0:00:10.10,Default,,0000,0000,0000,Scroll down;0;300;40;70,往下滚动
tw3d>H` 0;300表示移动的距离 40;是移动的速度,越小就越快 70是淡出,具体效果看附件里的样本
yRi/YR# 9.字体变化
OB^2NL~Q~ 字体变化组合本身就可以实现很漂亮的效果
?RzT0HRd 9.1 字体排版
EIEq[`h {\fe134\fn方正舒体\fs24\frz30}极速
7ER 2h* {\fe130\fnComic Sans MS}{\frx60}
www.speedmovie.net |8`;55G {\fe}是语种编码,简体中文134,繁体136,英文的是130。有些操作系统在style里定义格式后可以省略编码的命令
A7RX2
{\frx},{\fry},{\frx}是字体分别按x轴,y轴,z轴倾斜一个角度,如特效中“极”“速”的排版
h{xERIV1u 完整的代码如下:
t5Mo'*j
= Dialogue: Marked=0,0:00:01.00,0:00:04.30,Default,,0000,0000,0000,,{\frx50}X轴心旋转字体50度
TxCQGzqe Dialogue: Marked=0,0:00:01.00,0:00:04.30,Default,,0000,0000,0000,,{\pos(150,150)}{\fry60}Y轴心旋转字体60度
:{
T#M$T Dialogue: Marked=0,0:00:01.00,0:00:04.30,Default,,0000,0000,0000,,{fs15}{\pos(140,90)}{\frz30}Z轴心旋转字体30度
#
|I@`#O 9.2 字变形
PC_4#6^5 {\t(\fscy300)}字变高
$B?7u@>, {\t(80,500,\fscy300)}字变高
6qJB"_. {\t(\fscy300)}字拉长
g&vEc1LNo {\t(80,500,\fscx300)}字拉长
f,a %@WT {\t(80,500,\fscx200\fscy400)}字体变形
%Nn'p" 出现\t的命令都可以进行时间控制,也就是里面的80,500。表示在定义的时间轴里出现和完成这个特效的时间。时间控制和嵌套是ssa特效里变化最多、亦是不好掌握的一个内容。
ibc/x v2 完整的代码如下:
,7g;r_qwA Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{\t(80,500,\fscy300)}{\pos(190,200)}字变高
bN&da
[K Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{\t(80,500,\fscx300)}{\pos(190,240)}字拉长
r*wKYb Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{\t(80,500,\fscx200\fscy400)}{\pos(190,140)}字变形
a&