ssa水印字幕的制作及各部分解释

来源:互联网 发布:mfc编程教程下载 编辑:程序博客网 时间:2024/05/22 10:27

[Script Info]

ScriptType: v4.00
Collisions: Normal
PlayResX: 384
PlayResY: 288
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: Default,华文新魏,25,&Hffffff,&Hff8080,&Hffffff,&Hff0000,0,0,1,2,1,2,20,20,20,0,134
Style: mine,方正舒体,24,&Hffffff,&Hff8080,&Hffffff,&Hff0000,0,0,1,2,1,2,20,20,20,0,134

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue:Marked=0,0:00:20.50,0:00:55.90,Default,,0020,0020,0270,Banner;20;0;50,{/fe134/fn华文新魏/fs12}郑重声明:本作品之片源、字幕均来自互联网,版权归电影公司所有。任何组织和个人不得公开传播或用于任何商业盈利用途,否则一切后果由该组织或个人承担!本站和制作者不承担任何法律及连带责任!请自觉于下载后24小时内删除。如果喜欢本片,请购买正版!
..........

以上为ssa字幕的开头部分,解释如下:

[Script Info]
脚本信息
这部分包含了该脚本文件的头部以及一般说明。“[Script Info]”在ssa字幕中必须是该脚本的第一行 。

"ScriptType"
      脚本类型。默认就可以了。
“PlayResX”
      影片文件(脚本文件)的X轴坐标总长度。一般默认384。
“PlayResY”
      影片文件(脚本文件)的Y轴坐标总长度。一般默认288。
“Timer”
      不用解释了,用默认(100.0000)的就行。

[v4 styles]
Version4的style:
这部分包含了脚本的所有样式/风格,字幕中用到的样式必须先在此指定。

各部分说明: (一下内容的开头必须大写,格式不能有错误

Format
                是在说明各参数的含义
Name
     给字幕所起的名字。 大小敏感度:*****
Fontname
     字体类型。 大小敏感度*****

Fontsize
     字体大小。十进制整数

PrimaryColour
     字幕的前景颜色(第一颜色)。十六进制的 BGR (蓝-绿-红) 值.

  以&Hffffff为例,“&H”代表 十六进制,“ffffff”为十六进制的白色。

SecondaryColour
     字幕的辅助颜色(第二颜色)。十六进制的 BGR (蓝-绿-红) 值.

  目前仅知道在卡拉OK效果时会用上。两行字幕同时出现在同一位置时,辅色会自动替换主色。

OutlineColor
     背景(阴影)颜色/字幕边缘色,阴影色(第三颜色)。十六进制的 BGR (蓝-绿-红) 值.(在ass中为tiaryColour,解释相同)

BackColour
     轮廓颜色/字幕边框色 (第四颜色).十六进制的 BGR (蓝-绿-红) 值.

PS:
(PrimaryColour, SecondaryColour, TertiaryColour, BackColour)
     颜色都可以包含Alpha通道信息,也就是透明度    AABBGGRR . AA就是透明度,00完全不透明, FF完全透明,具体的设置会在颜色部分详细说明。


Bold
     定义字体是否为粗体. -1(或者1)为粗体On, 0为粗体Off.

Italic
     定义字体是否为斜体. -1(或者1)为粗体On, 0为粗体Off.

Borderstyle
                边框类型   1=边框 + 投影, 3=不透明的矩形框

Outline
     轮廓.当Borderstyle(边框类型) 为 1 时,   指定文字周围轮廓的宽度,(像素)。可取 0, 1, 2, 3 , 4.

Shadow
     阴影. 当Borderstyle(边框类型) 为 1 时,   指定文字投影的深度,(像素). 可取 0, 1, 2, 3 , 4.

    注:投影总是要附加轮廓效果,当没有给出轮廓的宽度时,SSA将强制加上1个像素的轮廓效果.

Alignment
     设置文字的对齐方式:1=左对齐(Left),2=中对齐(Centered),3=右对齐(Right),4=置顶,8=置中,5=1+4=置顶左对齐,6=2+4,11=3+8对齐。 值加4 意味着在原来的对齐方式上加上顶部对齐.加 8意味着在原来的对齐方式上加上中间对齐.  

MarginL
       左边距.单位像素.

MarginR
       右边距.单位像素.

MarginV
    垂直边距.单位像素.
          
    (MarginL、MarginR、MarginV    会影响字幕的垂直方向的坐标和一排能显示的字幕个数,超出则会自动换行)推荐值:10,10,12底端,顶端不好定,只有编出来后再来调整

AlphaLevel
       透明度.取值范围0-255.

Encoding
       字幕的编码方式. 0 = English (Western, ANSI) Windows,1 = 缺省,2 = 符号,128 = Japanese-Shift-JIS(日文),129 =   韩文,134 = GB2312(简体中文),136 = BIG5(繁体中文),161=希腊语,162=土耳其语,163=越南语,177=希伯来语,178=阿拉伯语,186=波罗的语,222=泰国语,204 = 俄语

[Events] 部分
类似,该部分必须以如下声明为第一行

Format: Marked,Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
(SSA的格式)

最后一个是文本,可以包含逗号.

Marked
     标记符号
   Marked=0 为 未标记.
   Marked=1 为 已标记.

Start
   事件开始时间,格式为 0:00:00:00   ie. Hrs:Mins:Secs:hundredths. 注意小时的位置只有一位数!

End
   事件结束时间,格式为 0:00:00:00   ie. Hrs:Mins:Secs:hundredths. 注意小时的位置只有一位数!!

style
   样式名.如果是引用的样式不存在或者名称不对,SSA就将采用缺省样式(Default)。即便在[v4+ styles]部分不存在"Default"样式的定义,SSA/ASS将采用软件作者的缺省定义:字体使用"Arial",主色为白色,字符集为Western.

Name
   角色名称. 表示在对话中,这句话是哪个角色说的. 仅仅起一个注释的作用,在编辑修改时供参考.

MarginL
   左边距。4位数字,像素. 全0的话(0000)表示按照样式中定义的边距来显示.

MarginR
   右边距。4位数字,单位像素.. 全0的话(0000)表示按照样式中定义的边距来显示.

MarginV
   垂直边距。4位数字,单位像素. 全0的话(0000)表示按照样式中定义的边距来显示.

Effect
   变换效果. 可以不写, 或者可以包含下面三种效果之一(效果名称必须严格按以下格式,而且是大小写敏感,不要两边的引号“" ”):   参数中[]中的参数可选(我是没用过).

"Scroll up;y1;y2;delay[;fadeawayheight]"
   向上滚动效果.各个参数以;(分号)相隔.
y1 和 y2 值 定义了要向上滚动的文字的出现位置和消失位置. 像素, 而且这两个值无顺序先后问题,反正是从低的位置(即制相对较大的位置开始向上卷动),比如Scroll up;100;10;20和Scroll up;10;100;20的效果是一样的.

"Scroll down;y1;y2;delay[;fadeawayheight]"
   向下卷动效果.各个参数以分号相隔.
类似于Scroll up,y1 和 y2 值 定义了要向下滚动的文字的出现位置和消失位置. 像素, 而且这两个值无所谓顺序先后问题,反正是从高的位置(即制相对较小的位置开始向下卷动),比如Scroll down;100;10;50和Scroll up;10;100;50的效果是一样的.

"Banner;delay[;lefttoright;fadeawaywidth]"
    这个效果是强制文字做单行横向显示,从右到左(SSA)滚动.   默认值为0即字幕是从右到左滚动,如果为1/1以上,则从左到右滚动.

delay(延迟值)
   是从1开始的数字, 0意味着字幕没有延迟,将会尽可能快地卷动,一闪而过,而这个值的上限是多少我也不清楚,反正几千都没有关系(如果你不怕慢死),数字越大越慢,不过常用的范围在0-100之间.

当delay值大于0时, 文字每移动1个像素所需时间为(1000/delay) 秒.

fadeawayheight 和 fadeawaywidth 参数是设置卷动文字的边缘模糊或者说透明的像素值.


Banner最常用的地方是做版权声明:
Dialogue:Marked=0,0:00:20.50,0:00:55.90,Default,,0020,0020,0270,Banner;20;0;50,{/fe134/fn华文新魏/fs12}郑重声明:本作品之片源、字幕均来自互联网,版权归电影公司所有。任何组织和个人不得公开传播或用于任何商业盈利用途,否则一切后果由该组织或个人承担!本站和制作者不承担任何法律及连带责任!请自觉于下载后24小时内删除。如果喜欢本片,请购买正版!


Text
   字幕文字.可以包含逗号.用/n或者/N换行,在"{}"中可以加入样式替换代码.

特效部分

"/n或/N" 换行
     
     除了换行以外,所有的特效语句必须包括在大括号{ }之内,所有的特效语句之前必须要有反斜杠 (/)。

     特效都会影响后面接着的所有文字. 把特效应用在选定的文字上,需要在其末尾再加上"替换代码",才能取消前面的效果 。
   
例: “下面这句话是假的!/N上面这句话是真的!”

换行有软硬之分,现在我还没搞清楚,建议大家用“/N"(好象是硬的)


“/h”    空格

"影视/h论坛"  
                
显示出来的效果就是在/h处出现空格:

(感觉没多大用,直接打“空格”和上面的效果一样。)


{/b(0 or 1)}   {/b1} 加粗文字 开. {/b0} 加粗 关.

{/b1}影视{/b0}论坛   "影视"两个字加粗了

PS: 当该参数大于1时, 将被看作字体的宽度. (400 = 正常, 700 = 粗体, 大于700也没有意义)


{/i(0 or 1)}   {/i1} 斜体文字 开. {/i0} 斜体 关.


{/i1}影视论坛 {/i0}影视论坛


{/u(0 or 1)} 文件加上下划线效果 {/u1} 下划线 开   {/u0} 正常

{/s(0 or 1)}   加删除线效果 {/s1} 删除线 开   {/s0} 正常

{/bord(width)}   0-???(不知上限) 文字轮廓的宽度,{/bord0}是没有轮廓

{/shad(depth)}   0-???(不知上限) 文字阴影的深度,{/shad0}是没有阴影

{/be(0 or 1)}   边缘模糊 (不很明显)

{/fn(font name)}    改变显示文字的字体. 注意大小写,其是英文字体

如果字体名称不存在,SSA/ASS将自动 用Arial 字体替代

{/fn华文行楷}影视{/fnArial}论坛


{/fs(font size)} 改变显示文字的大小.单位:字号

{/fs30}影视{/fs16}论坛

{/fsc(x or y) (percent)} 改变显示文字的宽度、高度百分比.100%为正常, x 宽度, y 高度<百分数>

{/fscx150}影视{/fscy160}论坛


{/fsp(pixels)}文字间距 (缺省值: 0)

{/fsp30}影视{/fsp0}论坛


{/fr[(x/y/z)] (degrees)} <degrees>设置文字绕 x/y/z 轴旋转的度数. 为正则是逆时针方向旋转,为负则是顺时针方向旋转.
{/fr }缺省为 {/frz}


{/frx45}影视论坛

{/fry45}影视论坛

{/frz45}影视论坛

{/fe(charset)}    (charset)强制改变显示文字的字符编码集

      {/fe128}影视论坛   (Japanese)
      {/fe136}影视论坛   (繁体中文)

{/c&H(bbggrr)&}    (bbggrr)十六进制 RGB值, 但是顺序与RGB相反(BGR).
    {/c&HFF&}下面的是绿色    
    {/c&HFF00&}我下面的是蓝色
    {/c&HFF0000&}再下面的是白色
     {/c&HFFFFFF&}最下面的是黑灰色
     {/c&HA0A0A&}最上面的是红色

{/a&H(00~FF)&}    设置字体透明度。00为不透明、FF为全透明.

更多的颜色代码参见:Article_Show.asp?ArticleID=90

{/a(alignment)}   (alignment) 文字在屏幕上的对齐方式.1=左对齐(Left),2=中对齐(Centered),3=右对齐(Right),4=置顶,8=置中,5=1+4=置顶左对齐,6=2+4,11=3+8......。 值加4 意味着在原来的对齐方式上加上顶部对齐.加 8意味着在原来的对齐方式上加上中间对齐. 为0的话就与style中设置的一致   .

            {/a1}左对齐
            {/a2}居中
            {/a3}右对齐
            {/a10}中心           
            {/a5}左上对齐
            {/a7}右上对齐
            {/a6}上居中
            {/a9}左中心
            {/a11}右中心



{/an(alignment)} 设定文字显示在屏幕上的对齐方式(按小键盘数字分布).

                     左 中 右
                  上 7   8   9 ;
                  中 4   5   6 ;
                  下 1   2   3 ;


            对齐方式非常、非常、非常重要,字幕旋转、缩放、移动时的参照点,都是由它决定的。它对整行字幕都有效,如果某行字幕中需要不同的对齐方式,应该将该行字幕分成多段时间轴相同的部分,逐个设置.

{/k(duration) (duration)} 卡拉OK特效中高亮显示部分的持续时间,单位:1/100s

      {/K50} xxxx(你写的文字)   表示显示xxxx的时间为50/100s (0.5s),如果只有{/K50},后面没有接文字代表在此处停顿50/100s (0.5s)。

PS:{/k} 无平滑效果
     {/K}或{/kf} 有平滑效果
     {/ko} 有边框的卡拉OK效果

{/r[(style)]}   恢复缺省样式或者指定样式               
         {/r}   恢复缺省样式(设置样式)     
         {/r[(style)]}   恢复指定样式 如果style中有不识别的参数,则恢复缺省样式.

动态部分:

{/t([<t1>, <t2>,] [<accel>,<style modifiers>])}
  (t1), (t2) 动态开始和结束时间相对于时间轴的偏移,单位 1/1000s[ms]   省略后以时间轴开始结束时间为准
       (t1)      字幕开始,转到动态的时间
       (t2)      动态效果终了到字幕结束的时间
       t1-t2       动态持续时间(省略后以时间轴开始结束时间为准)

(accel) 控制动态的运动速度 (可选)
      (accel): 1: 1   正常速度(线性变化)
      0<accel<1:      速度从快->慢减速运动  
      accel>1:          速度从慢->快加速运动
  

      公式: t时动作完成量: pow((t-t1)/(t2-t1), accel), t是相对于字幕时间轴的偏移.


(style modifiers)可以使用的效果    /c,/1-4c,/alpha,/1-4a,/fs,/fr,/fscx,/fscy,/fsp,/bord,/shad,/clip (/clip只有在截取矩形时使用),可同时使用多个效果

{/move(<x1>,<y1>,<x2>,<y2>,[<t1>,<t2>])}    字幕从(x1,y1)点移动到(x2,y2)点
       (x1), (y1) 字幕开始出现时的坐标(由[Script Info]中的PlayResX、PlayResY决定).
       (x2), (y2) 字幕终了坐标.
       (t1), (t2) 动态效果开始和结束时间相对于时间轴的偏移,单位为1/1000s[ms] (可以不写)

何谓偏移值:
Dialogue: 0,0:00:03.00,0:00:09.00,Default,,0000,0030,0050,,{/t(200,800,/frx720,/fry720,/frz45)}{/move(173,100,540,100)}
以上面的特效,从00:03.20时刻,字幕开始沿x方向旋转720度、y轴720度、z轴45度,直到00:08:20旋转结束,动态持续5s的时间,字幕同时从(173,100)移动到(540,100),时间为6s

{/pos(<x>,<y>)}定位   作用和 {/move(<x1>,<y1>,<x2>,<y2>, 0, 0)}相同

{/org(<x>, <y>)}   设置环绕坐标轴(坐标点)。当在句子中设置此值后,句子会环绕设置的(x,y)点做运动。同动态特效一起使用,多数时候用于修改字幕旋转时的参考点.

例:
Dialogue: 0,0:00:20.00,0:00:30.30,btpig,,0000,0030,0050,,{/fs16}{/pos(52,24)}{/org(49,40)}{/t(200,2000,1,/frz380)}{/c&H0000ff&}{/shad1}{/fad(300,100)}S
 解释:在时间0:00:20.00、屏幕的x=52,y=24处出现S,环绕点x=52,y=24做绕z轴380度旋转

注: {/t}, {/move} 和 {/pos} 不能同时使用.

{/fade(<a1>, <a2>, <a3>, <t1>, <t2>, <t3>, <t4>)}   淡入淡出

       (a1)   时间轴开始时间 -- (t1):(a1)的透明度
       (a2), (t2) -- (t3)时间的透明度
       (a3), (t4) -- 时间轴结束的时间 (t4):(a3)的透明度
       (t1), (t4) 动态效果开始和结束时间相对于时间轴的偏移,单位:1/1000s[ms]
    (t1), (t2), (t3), (t4) 动态效果开始和结束时间相对于时间轴的偏移,单位:1/1000s[ms]

{/fad(<t1>,<t2>)} 淡入淡出
       (t1) 淡入时间[ms]
       (t2) 淡出时间[ms]

画图

{/p(scale)}    (scale) 画图模式:On ,并同时设置坐标的放大倍率.
                   放大倍率为2的(<scale> -1)次方.
比如 {/p4} 下的坐标 (8,16)(2的3次方,2的4次方) 和 {/p1}下的坐标 (1,2)(2的0次方,2的1次方)是相同的。

  <scale>为0,  关闭画图模式.


{/pbo(y) (y)} 基线偏移. 所有的绘图命令将基于此基线.(up: y<0, down: y>0)

m (x) (y)       移动画笔到 (x),(y) (封闭曲线)

n (x) (y)       移动画笔到 (x),(y) (非封闭曲线)

l (x) (y)       画一条直线到 (x),(y)

例: Dialogue: 0,0:00:03.00,0:00:09.00,title,,0000,0030,0050,,{/p1}m 210 10 l 330 10 330 32 210 32{/p0} ;矩形

b (x1) (y1) (x2) (y2) (x3) (y3) 以点 1(x1) (y1) 和点 2(x2) (y2) 为控制点绘制贝塞尔曲线 到 点 3(x3) (y3). [3D(立方等式)]

s (x1) (y1) (x2) (y2) (x3) (y3) .. (xN) (yN) 绘制统一B-样条曲线(立方等式)到点 N, 至少需要三个坐标. [3D(立方等式)]
所有的曲线都有Degree(度数).一条曲线的度数在表现所使用的等式里面是最主要的指数.Degre值越高曲线越圆滑.一个直线的等式度数是1,一个二次的等式度数是2.B-样条曲线表现是立方等式,度数是3.所以这里是[3D]


p (x) (y)    延伸 B-样条曲线(立方等式) 到 (x), (y)

c 关闭 B-样条曲线 (立方等式)

B-样条曲线(立方等式)、贝塞尔曲线和计算机语言里画图差不多(可以说一样的),所以能随意构成任何造型的曲线,也能描述圆弧、椭圆、抛物线这样的曲线.具体其它图形的画法找找相关的书籍吧。

例:

Dialogue: 0,0:00:03.00,0:00:09.00,title,,0000,0030,0050,,{/p1}m 210 20 b 210 20 210 10 220 10 l 330 10 b 330 10 340 10 340 20 l 340 40 b 340 40 340 50 330 50 l 220 50 b 220 50 210 50 210 40 l 210 10{/p0} ;圆角矩形

Dialogue: 0,0:00:03.00,0:00:09.00,title,,0000,0030,0050,,{/p1}m 0 0 s 300 0 300 100 0 100 c ;椭圆


Dialogue: 0,0:00:03.00,0:00:09.00,title,,0000,0030,0050,,{/p1}m 0 0 s 100 0 100 100 0 100 c ;圆

{/clip(<x1>, <y1>, <x2>, <y2>)    切割图画 .切割按照(x1,y1)[左上角]与(x2,y2)[右下角]所定义的矩形的对角线来切矩形.

{/clip([<scale>,] <drawing commands>)} 用来切割多边形.

这里的(scale) 与 /p(scale) 相同

注意事项:
绘图命令必须在{/p1+}(画图模式:On )之后,最后加上{/p0}(画图模式:Off ).好处是把该图像可以作为一个字符对象来处理,才可以移动、旋转......

绘图必须是以 m 开始.

绘图的最后必须要封闭曲线.

所有未封闭的曲线将会自动以一条直线联结起、终两点来强制封闭.

同一层上重叠的图形将会进行逻辑"与"x作.

坐标位置与基线位置和对齐模式有关.

p and c 命令只能在绘制B-样条曲线时使用.

http://hi.baidu.com/%D0%C4%CF%B5%D7%BC%BB%F9/blog/item/01bf862aa6957f305243c1a6.html

原创粉丝点击