[影视技术]SSA动态字幕制作技术讲座

转自点点 14 年前 回复

, , , ,

此文章是我和我网上的朋友学习的心得其中有些借鉴的是COPD的经验。
介绍字幕和字幕软件vobsub及其简单设置。字幕最常见的是idx/sub(直接从DVD光盘上提取的字幕格式)和文本格式的srt,ssa/ass几种格式。
vobsub目前的版本2.32,根据目前操作系统的情况,建议安装2.23,2.29和2.32这3个版本。2.23比较稳定,适合各种操作系 统,2.29以上的版本尽管功能更强大,但兼容性不是很好。Easy Realmedia Producer就内置了完整的2.23版本。建议使用这个软件压制rmvb,同时使用它内置的vobsub2.23版本
SRT和SSA两种格式的字幕均为文本格式字幕,其共同的优点是:
* 只需要单独一个文件即可使用,不象SUB字幕还需要一个idx定义文件
* 字幕文件很小,都在几十KB以内,便于传播以及刻碟 🙂
* 用任何文本编辑工具都能够打开,非常便于对字幕内容进行细节修改和调整
* 使用者能够随心所欲定制观看影片时字幕的字体、大小、颜色等等
* 都被VobSub直接支持
而在SRT和SSA两者之间比较,SRT格式只有时间码和文本,太过于简单,很容易因设置等问题导致在看影片时产生乱码,新手使用起来会感觉麻烦;而 SSA格式可以在字幕内附带作者信息、修订信息、字幕参数等,更可以预先即定义好字幕播放时使用的字体、大小、风格等多种内容,兼有SRT字幕和SUB等 图形字幕的优点。所以,SSA字幕比SRT字幕应该更有优势,笔者也想在这里大力提倡使用SSA格式字幕。总之,对于稍有经验的玩家,文本格式的字幕肯定 是最好的选择。
我们要学好SSA主要从两个方面着手:一个是SSA文件的组成结构;一个是SSA代码。
一.SSA文件的组成结构
SSA文件主要由三大部分组成:[Script Info]部分,[v4 Styles]部分和[Events]部分。
1.[Script Info]部分
PlayResX: 384
PlayResY: 288
384×288是标准的4:3画面分辨率之一。ssa字幕里的坐标(字幕的位置)即根据这2个数值的范围来定义。16:9宽银幕的片子略做调整即可。
这里主要介绍文件本身和制作者的信息,这里面最重要的两项是PlayResX和PlayResY,它实际上是按给定的PlayResX和PlayResY 数值将屏幕按比例化分,屏幕的左上角坐标为(0,0),右下角坐标为(PlayResX数值,PlayResY数值).这两个值最好是和视频文件的长宽相 同,这样在下面[Events]部分文本位置坐标的设定很方便而且准确.
当然这两个值也可能和原视频文件的长宽不同,比如视频文件尺寸为640x360,而PlayResX:384,PlayResY: 288,如同前面所说的,它是将屏幕长宽按384:288来化分的.一旦这样划定,下面的各种坐标设定都要以384和288为根据.
特别要注意的是:对于一个已经存在并且文本坐标都设置好的SSA文件,如果它的PlayResX和PlayResY数值和视频文件的长宽尺寸不符(包括成 比例的情况,比如视频文件尺寸为640x360,而PlayResX:320,PlayResY: 180),我们不要简单的把PlayResX和PlayResY数值改成屏幕尺寸,这样将导致字幕失真,是因为文本部分的尺寸并没有改,仍按照原来的 PlayResX和PlayResY数值设定.如果有较多的坐标设定,就不要改原来的PlayResX和PlayResY数值,在原基础上编辑.
2.[V4 Styles]部分
这是个存放[Events]部分里所用到的各种字体信息的地方.可以存在多种字体,每种字体有多种特征.当[Events]部分的Name项引用到这里的 某种字体时,则意味这该字体的各种特征也被引用.字体的特征还可以在文本行中修改,这将在[Events]部分讨论.
常见的字体属性有Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
我们可以再定义一个Style,并命名为mine,如Style: mine,华文新 魏,18,&HFF0000,&HFF80FF0,&Hffffff,&Hffffff,0,0,1,2,1,2,20,20,20,0,134
即可以这样:
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle,Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,华文彩云,18,&Hff0000,&Hff8080,&Hffffff,&Hffffff,0,0,1,2,1,2,20,20,20,0,134
Style: mine,华文新魏,18,&HFF0000,&HFF80FF0,&Hffffff,&Hffffff,0,0,1,2,1,2,20,20,20,0,134
有了具体经验后,一般可以不作调整,需要改动的可以是“Fontname”,如改成黑体, “Fontsize”,做字幕字号24比较合适。至于最后的“Encoding”,134表示简体中文的编码,繁体中文的编码为136。
下面对各项作一说明,并列出属性的取值及范围
Name ---字体名称---[Events]部分将引用该项,比如Default,Font1等
Fontname ---所使用的字型---比如黑体,楷体_GB2312等.对新载入的SSA文件,VOBSUB不会识别出宋体以外的字型,都按宋体输出.但可以在DirectVobSub中重新定义
Fontsize ---字体大小---常用范围8-72
PrimaryColour ---主体颜色---颜色格式为&HXXXXXX,十六进制,X取值为0-f
SecondaryColour ---次要颜色---格式同上,卡拉OK中使用,即变色前的颜,变色后显示主体颜色
TertiaryColour ---边框颜色---格式同上
BackColour ---阴影颜色---格式同上
下面是一些常用颜色的代码,以便在文件中直接添加和编辑:
&Hffffff     白         &H8080ff     浅红
&H000000     黑         &H80ffff     浅黄
&H0000ff     深红       &HFF8000     亮蓝
&H00ffff     深黄       &H80ff00     浅绿
&Hff0000     深蓝       &H00ff00     亮绿
&H008000     深绿       &Hff00ff     紫红(偏紫)
&H0080ff     橙         &H8000ff     紫红(偏红)
&Hff0080     紫         &Hffff00     浅蓝
Bold ---粗体---0关闭,-1开启
Italic ---斜体---0关闭,-1开启
BorderStyle ---边框样式---取值1:正常,取值3:有一覆盖区域
Outline ---边框宽度---取值范围1-4,数字越大边框越宽
Shadow ---阴影距离---取值范围0-4,数字越大阴影越厚
Alignment ---对齐方式---这是重中之重,学懂对齐方式等于学懂了一半的SSA,其用法将在下面的代码部分作详细的介绍,这里只作简单的说明(下面各位置的数字就是Alignment的取值,很好记:从1-11,没有4和8这两个数,其余都是连续排列):
左   中    右
上 5    6     7
中 9   10    11
下 1    2     3
MarginL ---字幕距左边的距离---取值范围0-PlayResX的数值
MarginR ---字幕距右边的距离---取值范围0-PlayResX的数值
MarginV ---字幕高度---取值范围0-PlayResY的数值
AlphaLevel---字体透明度---透明度格式为&HXX,十六进制,X取值为0-f
Encoding ---编码---简体134,繁体138
3.[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
从这里开始就是字幕部分了,以“Dialogue: Marked=0,0:00:01.34,0:00:02.05,Default,,0000,0000,0000,,”定义开头。如果只是单纯做字幕 用,那么这句后面就是字幕部分了,而字幕的格式根据[V4 Styles]里设置的来显示。Default可以换用上面设置的mine,那么显示的格式是按照mine里面设定!
这里是将[v4 Styles]部分中已定义的字体提供给字幕,并能对字体的各属性重新定义;通过特定的SSA代码实现特效.
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Marked---标记---一般都设为0
Start ---字幕开始时间---格式0:00:00.00最小单位0.01秒
End ---字幕结束时间---格式同上
Style ---字体名称---引用的是[v4 Styles]部分中的Name项
Name ---名字---注意这个Name和[v4 Styles]部分中的Name完全不同,相当于注释,一般省略,省略后只留一逗号.
MarginL---是对[v4 Styles]部分MarginL值的重新设定,0000表示采用原值;若不为零,则代替原值(此时原值不再起作用)
MarginR---是对[v4 Styles]部分MarginR值的重新设定,用法同上
MarginV---是对[v4 Styles]部分MarginV值的重新设定,用法同上
Effect---这里是SSA为编辑人员方便使用动态效果而自定义的代码,有Scroll up,Scroll down,Banner和Karaoke四种形式.为集中学习这里就不作介绍将其放到SSA代码部分说明.
Text---字幕区---在这里可以添加代码改变字体属性,实现多种特效
其实[v4 Styles]部分就是一个存放各种字体以及该字体属性初始值的一个场所,它的大小,颜色,字幕所在的位置等信息都放在这里;而[Events]部分则是 把[v4 Styles]部分中的各个字体应用到文本中去,并且能够对已定义的字体的各种属性进行修改以达到需要的效果.打个比方,几种不同类型的木材,具有各自的 原始尺寸颜色,经过加工改变大小涂上新的颜色(或者直接使用原料),从而做成各种家俱材料.[v4 Styles]部分就相当于放置这些原始木材的仓库,而[Events]部分则是执行怎样加工木材并将其安装到家俱上
二.下面介绍SSA代码的用法
SSA代码
首先对下面代码中用到的符号说明一下:
<..>---参数
[..]---可选项
<../..>---任选其中一项
规定:所有代码之前加\
所有代码放在括号{}内,\N,\n,\h例外。
\N---换行---换行后两行之间没有空隙
\n---空格---或直接按空格键,超出范围自动换行
\h---空格---或直接按空格键\b<0/1>---粗体---0关闭,1开启
\i<0/1>---斜体---0关闭,1开启\bord<width>---边框宽度---width取值范围1-4,数字越大边框越宽
\shad<depth>---阴影距离---depth取值范围0-4,数字越大阴影越厚\r<style>---改变字体---比如Default,Font1等
\r\r---恢复成最初的字体
\fn<font name>---改变字型---比如黑体,楷体_GB2312等
\fs<font size>---改变字号---常用范围8-72
\fsc<x/y><percent>---字符缩放---x代表水平方向,y代表垂直方向,perecet取不小于0的数(小数也可以).默认大小为100(即100%)
\fsp<pixels>---调整字间距---pixels取值在实数范围内,可以是正数,零,负数.默认值为0
\fr[<x/y/z>]<degrees>---旋转---x代表水平方向,y代表垂直方 向,z是垂直于屏幕的坐标轴.degrees为正数时是逆时针旋转,为负数时是顺时针旋 转.\c&H<XXXXXX>---改变颜色---颜色格式为&HXXXXXX,十六进制,X取值为0- f,作用相当于\1c&H<XXXXXX>
\1c&H<XXXXXX>---改变主体颜色---格式同上
\2c&H<XXXXXX>---改变次要颜色---格式同上
\3c&H<XXXXXX>---改变边框颜色---格式同上
\4c&H<XXXXXX>---改变阴影颜色---格式同上 \alpha&H<XX>---改变透明度---透明度格式为\alpha&HXX,十六进制,X取值为 0-f,同时改变字幕所有部分的透明度,取值越大,透明度越强
\1a&H<XX>---改变主体透明度---格式同上
\2a&H<XX>---改变次要透明度---格式同上
\3a&H<XX>---改变边框透明度---格式同上
\4a&H<XX>---改变阴影透明度---格式同上\move(<x1>, <y1>, <x2>, <y2>[, <t1>, <t2>])---移动效果
x1,y1---移动开始的位置
x2,y2---移动结束的位置
t1,t2---移动开始和结束时间,省略后以字幕开始和结束时间为准
\pos(<x>, <y> )---位置改变---x和y是是改变位置后的坐标\t([<t1>, <t2> ], [<accel>], <style modifiers> )---动态效果---可同时使用多个效果
t1,t2---动态效果开始和结束时间,单位为1毫秒,省略后以字幕开始和结束时间为准
accel---控制动态效果的运动速度,它的作用范围较大,能影响多行文本的动态速度. 默认值为1.当0<accel<1时,速度从快到慢减速运动;accel>1时,速度从慢到快加速运动
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秒
t1---显示使用的时间,是时间段
t2---消失使用的时间,是时间段
\fade(<a1>, <a2>, <a3>, <t1>, <t2>, <t3>, <t4> )---淡出淡入效果---透明度必须用十进制表示,范围0-255
a1---显示开始时的透明度
a2---显示结束到消失开始时的透明度
a3---消失结束时的透明度
t1,t2---显示的开始和结束时间,是时间点
t3,t4---消失的开始和结束时间,是时间点
Scroll up;<y1>;<y2>;<delay>;[<range>]---字幕从下向上移动
Scroll down;<y1>;<y2>;<delay>[;<range>]---字幕从上向下移动
y1---字幕出发处的垂直坐标
y2---字幕终止处的垂直坐标
delay---速度,表示移动一象素所用的时间,单位为0.001秒/1象素,delay=20表示1秒移动50象素的距离.由此可计算出头字幕从初始 坐标到达终点坐标所用的时间为: (y1-y2的绝对值)*(delay/1000)(秒),delay越小移动速度越快.
range---上下淡出淡入范围 Banner;<delay>;[<lefttoright>;[<range>]]---字幕横向移动,移动从屏幕边线出发到边线终止
delay用法同上
lefttoright---0从右向左移动,1从左向右移动
range---左右的淡出淡入范围 Karaoke---卡拉OK,下面是代码表示
\K<duration> 卡拉OK,有平滑效果,时间单位是0.01秒,{\K200}XXX表示用2秒来显示歌词XXX,后面没有字符表示停顿一段时间
\a<alignment>---设置对齐方式,不同的位置alignment取以下相应的值
左  中  右
上 5      6     7
中 9     10   11
下 1      2     3
举例说明以下:
几个最简单的特效,代码格式是 {\命令}
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华文彩云\fe134\fs15\c&H80FF00&}
这里实际定义了字体、字体名称、字体大小和颜色其中\fe134是定义简体中文编码,只要在开头定义的地方设定了134,这里可以省略
如:
淡紫 Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\fn华文彩云\fe134\c&HFF8080&}copd 制作(默认的方位和大小)
浅蓝 Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\pos(315,20)} {\fn华文彩云\fe134\fs15\c&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.{\t(\frx1440)}、{\t(\fry1440)}、{\t(\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)}{\t(\fry1440)}copd 制作
Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\fs15}{\pos(230,140)}{\t(\frz1440)}copd 制作
Dialogue: Marked=0,0:00:01.35,0:00:05.34,Default,,0000,0000,0000,,{\fs15}{\pos(230,40)}{\t(\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}{\t(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}{\t(\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 字体排版
{\fe134\fn方正舒体\fs24\frz30}极速
{\fe130\fnComic 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 字变形
{\t(\fscy300)}字变高
{\t(80,500,\fscy300)}字变高
{\t(\fscy300)}字拉长
{\t(80,500,\fscx300)}字拉长
{\t(80,500,\fscx200\fscy400)}字体变形
出现\t的命令都可以进行时间控制,也就是里面的80,500。表示在定义的时间轴里出现和完成这个特效的时间。时间控制和嵌套是ssa特效里变化最多、亦是不好掌握的一个内容。
完整的代码如下:
Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{\t(80,500,\fscy300)}{\pos(190,200)}字变高
Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{\t(80,500,\fscx300)}{\pos(190,240)}字拉长
Dialogue: Marked=0,0:00:04.35,0:00:07.10,Default,,0000,0000,0000,,{\t(80,500,\fscx200\fscy400)}{\pos(190,140)}字变形
9.3 字体缩放
{\fs1}{\t(1,\fs15)}1号字体放大到15号字体
{\fs15}{\t(15,\fs5)}15号字体缩小到1号字体
{\fscx500%}{\fscy500%}{\t(1,\fscx100%,\fscy100%)}缩小
100%是定义的style里的字体大小,这个缩放可以带字体变形,如:
{\fscx500%}{\fscy700%}{\t(1,\fscx100%,\fscy200%)}变形缩小
{\fs10}{\t(0,900,\fs50)}控制性放大
{\fs50}{\t(200,600,\fs10)}控制性缩小
{\fs50\t(0,600,\fs10\t(800,1400,\fs24))}控制性缩放 ?
这个嵌套有些难度,但拆分成最简单的{\t\fs}就容易理解了。
完整的代码如:(这里定义的style里是15号字体)
Dialogue: Marked=0,0:00:16.00,0:00:16.50,Default,,0000,0000,0000,,{\pos(160,140)} {\fscx500%}{\fscy500%}{\t(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%}{\t(1,\fscx100%,\fscy200%)}变形缩小
Dialogue: Marked=0,0:00:16.50,0:00:17.50,Default,,0000,0000,0000,,{\pos(160,140)}{\frz15}{\t(1,\fs50)}缩{\frz345}放
Dialogue: Marked=0,0:00:20.00,0:00:22.50,Default,,0000,0000,0000,,{\fs10}{\t(0,900,\fs50)}控制性放大
Dialogue: Marked=0,0:00:20.00,0:00:22.50,Default,,0000,0000,0000,,{\pos(160,160)}{\fs50}{\t(200,600,\fs10)}控制性缩小
Dialogue: Marked=0,0:00:23.00,0:00:25.50,Default,,0000,0000,0000,,{\pos(160,190)} {\fs10\t(0,600,\fs50\t(1200,1800,\fs10))}控制性缩放效果
9.4 字体旋转
{\c&HFF80FF&}{\t(30,1500,\fry720)}JRvS(转动) {\t0,(\frz3600)}
{\c&HFF80FF&}{\t(30,1500,1,\fry720)}JRvS(转动)
{\t(\frx360)}、{\t(\fry360)}、{\t(\frz360)}是字体分别绕x轴,y轴,z轴旋转360度。一般使用{\t(\fry360)}出现沿y轴转动的特效为多数。同样里面的30和1500表示时间的控制
{\fs30\fry90}{\t(0,1500,2,\fs20\fry0)}字体Y轴旋转变小
完整代码如下:
Dialogue: Marked=0,0:00:31.51,0:00:35.50,Default,,0000,0000,0000,,{\pos(160,140)}{\t(\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)}{\t(30,2500,\fry1440)}copd 制作-X轴(控制性)
Dialogue: Marked=0,0:00:31.51,0:00:35.50,Default,,0000,0000,0000,,{\pos(60,60)}{\t(\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)}{\t(\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)}{\fs50\frx90}{\t(0,1500,\fs18\frx0)}字体X轴旋转变小
Dialogue: Marked=0,0:00:41.00,0:00:45.00,Default,,0000,0000,0000,,{\pos(190,60)}{\fs40\frz360}{\t(0,500,\fs18\frz0)}字体z轴旋转变小
Dialogue: Marked=0,0:00:41.00,0:00:45.00,Default,,0000,0000,0000,,{\pos(190,260)}{\fs64\fry90}{\t(0,1500,\fs30\fry0)}字体Y轴旋转变小
9.5 字体变色
{\c&HFF8000&\t(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&\t(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\t(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\t(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\t(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\t(130,500,\fry360)}果
从左边的(100,500)点飞出4个字。
学习SSA代码注意事项:
1. 在不同的对齐方式下,位置参数即坐标值的说明(括号内的数字是不同对齐方式的ssa代码):
上对齐: MarginV的值是上端字幕到顶部的距离
上左对齐时(5): MarginL是左端字幕到左边的距离
MarginR无效
上中对齐时(6): MarginL不是实际距离(文本中心在水平方向上向左到屏幕中线的实际距离=(1/2)MarginL)    (注:为了定位方便,此时不要同时设置MarginL和MarginR的值)
MarginR不是实际距离(文本中心在水平方向上向右到屏幕中线的实际距离=(1/2)MarginR)
上右对齐时(7): MarginR是右端字幕到右边的距离
MarginL无效
下对齐: MarginV的值是下端字幕到底部的距离
对MarginR和MarginL的分析同上
左对齐: MarginL是左端字幕到左边的距离
MarginR无效
左上对齐时(5): MarginV的值是上端字幕到顶部的距离
左中对齐时(9): MarginV无效(文本中心在垂直方向上位于屏幕一半的地方)
左下对齐时(1): MarginV的值是下端字幕到底部的距离
右对齐: MarginR是右端字幕到右边的距离
MarginL无效
对MarginV的分析同上
中心对齐(10): MarginL不是实际距离(文本中心在水平方向上向左到屏幕中线的实际距离=(1/2)MarginL)    (注:为了定位方便,此时不要同时设置MarginL和MarginR的值)
MarginR不是实际距离(文本中心在水平方向上向右到屏幕中线的实际距离=(1/2)MarginR)
MarginV无效(文本中心在垂直方向上位于屏幕的一半处)
准确设置字幕位置的步骤:
第一步:确定当前文本的对齐方式(对字幕位置的初步设定)
第二步:可用两种方法最终确定字幕位置:
a调节MarginL,MarginR,MarginV参数来设置(一般只调[Events]部分中的MarginL,MarginR,MarginV值)
b不调节MarginL,MarginR,MarginV参数,而是用某些代码(比如\move,\pos代码)对字幕初始位置重新设定
1)一般来说,在使用1,2,3,5,6,7这六种对齐方式的条件下可以通过调节[Events]部分的MarginL, MarginR, MarginV值来准确控制字幕在屏幕中的位置,而用9,10,11这三种对齐方式时则不能用改变MarginL, MarginR, MarginV数值的方法来调节字幕在垂直方向上的位置,此时文本中心在垂直方向上始终位于屏幕的一半处.
2)对齐方式也会影响到Text中某些代码(比如\move,\pos代码)对字幕初始位置的重新设定:
A.采用上中对齐或下中对齐方式时,代码中水平坐标值是文本水平中心的坐标值;
上中对齐时,代码中垂直坐标值是上端字幕到顶部的距离
下中对齐时,代码中垂直坐标值是下端字幕到顶部的距离(注:这一点和MarginV值不同)
B.采用上左对齐时,代码中水平坐标值是左端字幕到左边的距离
代码中垂直坐标值是上端字幕到顶部的距离
其余类推
C.采用中心对齐时,代码中水平坐标值是文本水平中心的坐标值
代码中垂直坐标值是文本垂直中心的坐标值
3)另外,由于[V4 Styles]部分和[Events]部分中的MarginL,MarginR,MarginV值的设定都会影响到\move代码对字幕初始位置的重新设 定(对\pos代码没有影响),因此[V4 Styles]部分的MarginL,MarginR,MarginV值要设定的相对小一些(最好在0-30这个范围),而此时也不再设定 [Events]部分的MarginL,MarginR,MarginV值,即都为0000.
4)特效Scroll up,Scroll down中的坐标值则是文本起点和终点在屏幕中的位置.
5)对齐方式也对决定了代码\fr中旋转所围绕的中心
2.{}内可以有多个代码,比如:{\fs25\fad(300,500)}和{\fs25}{\fad(300,500)}作用一样
3.每一代码的有效范围从该代码之后到下一个相同代码出现之前的所有文本内容(在同一行内)
4.字幕淡入淡出时间包括在字幕的起始和终止时间之内
5.注意代码\move和特效Scroll,Banner的区别和联系:
当文本内容为单行或单列时,完全可以用\move代码代替Scroll或Banner,而多行多列则是不行的.这是因为在用\move时,当文本的头字幕 从起点坐标到达终点坐标时,该动作已完成,不管后面还有多少文本内容.而用Scroll或Banner则不一样,它要求在作用范围内的所有文本内容都必须 到达终点坐标才算完成动作.
在速度的控制方面\move中字幕移动的速度是由字幕的显示时间决定的,时间越短,速度越快;而Scroll或Banner中字幕移动的速度是由参数delay所决定的,delay的值越小,速度越快.
6.当使用多个动态效果的叠加时,字幕运动变化的时间往往超过代码中规定的时间(动态效果越多,速度越慢),以至总时间超过字幕的显示时间.为了便于大家更好的学习,下面将结合实例分析各代码的用法......
在这一部分,大家可以通过对一些简单例句的分析来熟悉SSA代码.
给出一些必需的信息:
[Script Info]
PlayResX: 640
PlayResY: 360
以下例句是以640x360的尺寸为依据设定的
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,楷体_GB2312,30,&Hffffff,&H0000ff,&H000000,&H000000,
-1,0,1,2,3,6,0,0,0,0,134
Style: Font1,华文新魏,39,&Hffffff,&H0000ff,&H000000,&H000000,-1,0,1,2,3,6,0,0,0,0,134
Style: Font2,幼圆,30,&Hffffff,&H0000ff,&H000000,&H000000,-1,0,1,2,3,6,0,0,0,0,134
Style: Font3,华文行楷,40,&Hffffff,&H0000ff,&H000000,&H000000,-1,0,1,2,3,6,0,0,0,0,134
对[V4 Styles]部分作一下说明:
字体名,字型,大小就不多说了.为讨论的方便,把4种字体的其它属性都设为一样:主体颜色为白色(&Hffffff),次要颜色为红色 (&H0000ff),边框颜色和阴影颜色都为黑色(&H000000);都用粗体(取值-1);不使用斜体(取值0);边框样式为1 ;边框宽度取值为2;阴影距离取值为3;对齐方式取上中对齐(取值为6);MarginL, MarginR, MarginV的值都设为0;字体的透明度是不透明(取值0);采用简体(取值134)
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
有了这些格式我们才好对号编辑
图形字符的加载
直接加载图片不太容易实现。利用丰富多彩的图形字符一样可以达到部分效果。
图形字符可以到下面这个包罗万象的网站去下载既然是图形字符,那么使用上述的任何一个命令来实现图形字符特效
如牛过的特效中那个转动的环。
好了,到此我们的ssa的讲座结束了。给大家点提示:
例句1:
Dialogue: Marked=0,0:00:01.00,0:00:07.00,Default,,0000,0000,0100,, {\fad(1500,2000)}{\fs33}http://www.btbbt.com/\N\N==农大影视制作小组出品==
说明:字幕显示时间从0:00:01.00到0:00:07.00;
字体为Default;
Name项空缺(可有可无,以下都省略),留一逗号;
0000,0000,文本中心在水平方向上位于屏幕中线,对于0100因为Default字体采用上中对齐方式,这是上端字幕到顶部的距离;
{\fad(1500,2000)}淡入时间1.5秒,淡出时间2秒;
{\fs33}将字体大小改为33(原大小为30);
http://www.btbbt.com/\N\N==BT之家制片小组出品==文本部分,2个\N表示换行2次例句2:
Dialogue: Marked=0,0:00:06.00,0:00:12.00,Default,,0000,0000,0000,, {\fad(1500,1600)}{\c&H0000ff}{\move(480,0,480,160)}田\N\N野\N\N作\N\N品
说明:字幕显示时间从0:00:06.00到0:00:12.00;
字体为Font1;
没有设置MarginL, MarginR, MarginV的值,都为0;
{\fad(1500,1600)}淡入时间1.5秒,淡出时间1.6秒;
{\c&H0000ff}颜色改为红色(原来为白色);
{\move(480,0,480,160)}字幕在垂直方向移动,水平坐标为480,由于是上中对齐方式,垂直坐标值是上端字幕到顶部的距离,出发点为0,终点为160(在中线180以上一点的地方);
字幕中2个\N表示换行2次例句3,4:
Dialogue: Marked=0,0:00:11.00,0:00:17.00,Font1,,0000,0000,0110,,{\fad(500,0)} {\fsp300}{\c&HFF8000}{\t(0,4000,\fsp20)}农大影视小组制作
Dialogue: Marked=0,0:00:17.00,0:00:29.00,Font1,,0000,0000,0110,,{\fad(0,2000)} {\fsp20}{\c&HFF8000}{\t(0,12000,\fs80)}农大影视小组制作
说明:这两个动作是连在一起的,所以把两个语句放在一起将
第一句:字幕显示时间从0:00:11.00到0:00:17.00;
字体为Font1;
只有MarginV的值设为110,这是上端字幕到顶部的距离(分析MarginL, MarginR, MarginV的值之前一顶要先搞清楚是什么样的对齐方式);
{\fad(500,0)}淡入时间0.5秒,因为要和下一句的动作衔接,所以把淡出时间设为0,而下一句中的淡入时间也相应设为0;
{\fsp300}设字间距为300,默认为0;
{\c&HFF8000}颜色改为蓝色(原来为白色);
{\t(0,4000,\fsp20)}在最开始的4秒钟内将字间距渐变为20,由于字幕显示6秒,在剩余的2秒种内字幕保持变化后的状态直到下一个动作开始
第二句:字幕显示时间从0:00:17.00到0:00:29.00;
字体,MarginV的值同上;
{\fad(0,2000)}要衔接,故淡入时间0秒,淡出时间2秒;
{\fsp20}因为默认值为0,要衔接上句就必须加上这条;
{\c&HFF8000}颜色保持蓝色;
{\t(0,12000,\fs80)}变化时间12秒,和字幕显示时间相同,将字体大小从原来的39增大到80例句5:
Dialogue: Marked=0,0:00:28.00,0:00:38.00,Font2,,0000,0000,0150,Banner;12;0;200,{\c&H00ffff}农大影视制作小组-田野制作
说明:字幕显示时间从0:00:28.00到0:00:38.00,这个起始时间先于上一句的结束时间,在SSA中是允许的;
字体为Font2;
只有MarginV的值设为150;
Banner;12;0;200,delay的值为12,0表示从右向左移动,左右的淡出淡入范围为200,可以计算出头字幕从右边到达左边所用时间为640*(12/1000)=7.68秒(注这不是整个字幕的运动时间);
{\c&H00ffff}颜色改为黄色(原来为白色)例句6,7,8:
Dialogue: Marked=0,0:00:36.00,0:00:45.00,Font2,,0000,0000,0000,Scroll up;320;40;25,{\c&Hffff00}主  演
Dialogue: Marked=0,0:00:37.50,0:00:46.00,Font2,,0000,0180,0000,Scroll up;320;40;25,{\fs33}{\c&H0080ff}李连杰\N莫少聪\N姜大卫\N熊欣欣\N梁日豪
Dialogue: Marked=0,0:00:37.50,0:00:46.00,Font2,,0180,0000,0000,Scroll up;320;40;25,{\fs33}{\c&H80ff00}关之琳\N甄子丹\N张铁林\N任世官
说明:把这三句具放在一起将,都使用Scroll up;320;40;25,字幕从下到上移动,出发点的垂直坐标为320,终点的垂直坐标为40,delay的值都为25,故三个句子中字幕的移动速度相 同,可以计算出头字幕从下到上所用时间为(320-40)*(25/1000)=7秒(注这不是整个字幕的运动时间);
第一句:字幕显示时间从0:00:36.00到0:00:45.00;
字体为Font2;
没有设置MarginL, MarginR, MarginV的值,都为0;
{\c&Hffff00}颜色改为浅蓝色(原来为白色);
第二句和第三句的字幕显示时间都从0:00:36.00到0:00:45.00;
字体都为Font2%

支付宝打赏微信打赏

如果此文对你有帮助,欢迎打赏作者。

发表评论

欢迎回来 (打开)

(必填)