热搜:

使用SubCreator制作SSA动态字幕教程

2013-05-07 15:31:59文章来源:点点软件园热度:0

更多

为了让大家从一开始就能对ssa动态字幕的学习有极大的兴趣和信心,首先举几个常用特效的范例,让大家先用为快,然后再对每种特效的具体参数进行细解。更多最新IT资讯尽在金顺软件园http://www.jinshun168.com/

关于SSA字幕文件可以用SubCreator来生成,然后用记事本打开有如下的形式:

[Script Info] 
ScriptType: v4.00 
Collisions: Normal 
PlayResY: 480 
PlayResX: 640 
PlayDepth: 0 
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: New Style,幼圆,30,16777215,4227327,8404992,16744448,0,0,1,1,2,2,30,30,12,0,134

[Events] 
Dialogue: Marked=0,0:00:00.20,0:00:03.30,New Style,NTP,0000,0000,0000,,UC0079年12月24日 
Dialogue: Marked=0,0:00:05.30,0:00:08.30,New Style,NTP,0000,0000,0000,,我們要跟這艘戰艦共存亡 
Dialogue: Marked=0,0:00:09.30,0:00:12.30,New Style,NTP,0000,0000,0000,,但我們不可讓你們白死 
Dialogue: Marked=0,0:00:13.30,0:00:17.30,New Style,NTP,0000,0000,0000,,直至完成任務為止 
Dialogue: Marked=0,0:00:18.40,0:00:20.40,New Style,NTP,0000,0000,0000,,差不多了 
Dialogue: Marked=0,0:00:20.40,0:00:22.40,New Style,NTP,0000,0000,0000,,別慢吞吞

前面的[Script Info]可以先放着不管,[v4 Styles]中可以直接用我给出来的,红字部分12是代表字幕在垂直 
方向的位置如果觉得12太低了话,可以将数值改大如果想将字幕置顶的话就改成440试试吧; 
134是代表的GB字库,136好像是BIG-5字库。 0是代表字幕的透明度,取值范围0~255。

[Events]就不用说了,就是正式的字幕,动态效果就在这里进行设置。先用为快

制作DIVX影片字幕(SubCreator)
6.6
类别: 媒体制作    大小:1.5M    语言: 中文
查看详细信息 >>
下载 6 次

我给出几个范例(用上面的字幕进行修改):

滚动字幕: 
Dialogue: Marked=0,0:00:00.20,0:00:03.30,New Style,NTP,0000,0000,0000,Banner;30;0;50,UC0079年12月24日 
Dialogue: Marked=0,0:00:05.30,0:00:08.30,New Style,NTP,0000,0000,0000,Scroll up;0;240;30;20, 
我們要跟這艘戰艦共存亡 
第一个是横向滚动,30是速度、0代表右->左(改成1就是左->右)、50代表在屏幕边缘的透明度,值越大,字幕就... 
(不好形容自己试试就知道了,这个参数可以缺省设置) 
第二个是纵向滚动,0和240代表Y轴坐标(可缺省)、30是速度、20是透明度(同上), 
另外,把UP改为DOWN就是上->下滚动

旋转字幕: 
Dialogue: Marked=0,0:00:09.30,0:00:12.30,New Style,NTP,0000,0000,0000,,{\t(\fry720)}但我們不可讓你們白死 
其中,“y”代表沿y轴转,“x”“z”均可、720代表的是度数,旋转快慢由你所定义的动作时间而定 
(时间长,旋转慢;反之则快。)。要想饶XYZ三轴转就分别添加{\t(\frx__)}{\t(\frz__)}(__填上你想要的速度)

任意坐标移动 
Dialogue: Marked=0,0:00:13.30,0:00:17.30,New Style,NTP,0000,0000,0000,,{\move(32, 48, 200, 320)} 
直至完成任務為止 
32,48代表起始位置坐标200,320表示终止位置坐标。

卡拉OK效果 
Dialogue: Marked=0,0:00:18.40,0:00:20.40,New Style,NTP,0000,0000,0000,,{\k94}差{\K48}不{\ko80}多{\k150}了 
大写的K=从左至右填充色彩(SecondaryColour为底色;PrimaryColour为填充色); 
ko=outline高亮显示(不推荐),数字是表示填充时间,单位:10ms

淡入淡出效果 
Dialogue: Marked=0,0:00:20.40,0:00:22.40,New Style,NTP,0000,0000,0000,,{\fad(300,550)}別慢吞吞 
300-淡入时间,550-淡出时间 ,单位:毫秒(ms)。

强制字体效果 
Dialogue: Marked=0,0:00:20.40,0:00:22.40,New Style,NTP,0000,0000,0000,,{\fn宋体)}別慢吞吞 
无特别提示。

强制颜色效果 
Dialogue: Marked=0,0:00:20.40,0:00:22.40,New Style,NTP,0000,0000,0000,,{\c&H00ffff&}別慢吞吞 
关于颜色的代码,请见第二讲的内容。

强制透明度效果 
Dialogue: Marked=0,0:00:20.40,0:00:22.40,New Style,NTP,0000,0000,0000,,{1\a&H50&}別慢吞吞 
1是代表第一颜色的透明度,2、3、4以此类推,透明度取值:00~FF。

变色效果 
Dialogue: Marked=0,0:00:20.40,0:00:22.40,New Style,NTP,0000,0000,0000,, 
{\c&H675384&}{\t(800,1000,\c&H3217ff&)}別慢吞吞 
前面({\c&H675384&})首先设定初始色,然后用\t设定动态变色, 
800,1000,代表动作起止时间,单位MS, 后面的"\c&H3217ff&"是变化后的颜色代码;

以上就是一些常用的字幕特效,怎么样?还是很简单吧。 
今天我也就只能讲这么多了,讲多了会让人觉得不耐烦,还是老话:先用为快.

 

按原定计划,这次先从Script Info 讲起。Script Info——脚本信息,顾名思义

就是你所制作的字幕文件的一些信息,具体格式因所使用的编辑器不同而不同,但却要遵

守一个原则:就是要在开头用“[Script Info]”来标记。下面是用SubCreator

编辑时的脚本信息:

[Script Info] 
Title: 08ms team 12 
ScriptType: v4.00 
Collisions: Normal 
PlayResY: 480 
PlayResX: 640 
PlayDepth: 0 
Timer: 100.0000

其中红字部分是重要部分,它会影响到后面的设置:比如ScriptType: v4.00会影响字幕特效的相关命令(有一部分命令是要在v4.00+中才会实现的,不过实用性不大,所以在此还是用v4.00);640 480则会影响字幕定位时的坐标。

接着,我们来看看v4 Styles,在这部分,我们要做的就是设置字幕的各种属性简单的说就是设置全局参数。还是先放上例子再来说明吧:

[v4 Styles] 
Format: Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,TertiaryColour,BackColour, 
Bold,Italic,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,AlphaLevel,Encoding 
Style: New Style,幼圆,30,16777215,4227327,8404992,16744448,0,0,1,1,2,2,30,30,12,0,134 
Style: TITAL,宋体,40,13777215,2327327,5404392,14744448,0,-1,1,1,2,2,15,15,270,0,134

format是在说明各参数的含义: 
name:你给这种风格的字幕所起的名字; 
Fontname:字体类型; 
Fontsize:文字大小; 
PrimaryColour:第一字幕色——字幕首选色; 
SecondaryColour:第二字幕色(目前本人仅知道在卡拉OK效果时会用上); 
TertiaryColour,BackColour:字幕边缘色,阴影色; 
Bold,Italic:粗体(B),斜体(I) 0为关闭,-1为开启; 
BorderStyle;字幕显示方式:1=Outline + drop shadow, 3=Opaque box;(不好用中文表述,就采用原话,推荐用1) 
Outline,Shadow:当上面的设置是1时,就可以设置文字的边框和阴影的粗细了,可取值:0,1,2,3,4; 
Alignment:设置文字的对齐方式:1=左对齐,2=中对齐,3=右对齐,4=置顶,8=置中,5=1+4=置顶左对齐,6=2+4,11=3+8,应该知道是什么了吧; 
MarginL,MarginR,MarginV:字幕距左、右以及垂直方向的距离,(会影响字幕的垂直方向的坐标和一排能显示的字幕个数, 超出则会自动换行)推荐值:10,10,12底端,顶端不好定,只有编出来后再来调整; 
AlphaLevel: 字幕的Alpha值,简单的说就是字幕的透明度,取值范围0-255; 
Encoding:字幕的编码方式,没什么多说的:具体代码:0=ANSI,1=DEFAULT,2=SYMBOL,128=SHIFTJIS,129=HANGEUL, 
134=GB2312,136=CHINESEBIG5,255=OEM,130=JOHAB,177=HEBREW, 
178=ARABIC,161=GREEK,162=TURKISH,163=VIETNAMESE,222=THAI,238=EASTEUROPE,204=RUSSIAN,77=MAC,186=BALTIC; 

注意 

字幕风格可以设置多种,只要名字不同就可以在同一时间执行不同风格的字幕事件,

Dialogue: Marked=0,0:00:00.20,0:00:03.30,New Style,NTP,0000,0000,0000,,UC0079年12月24日

红字部分就是你所用的某种风格的字幕的名称。

接下来,说说字幕的颜色。 .......其实也没什么说的,本想直接编一个小程序自动

显示所选色彩的颜色代码,但最近学习真的很忙,没那精力,就在这里说说吧。小学时就学

过RGB三原色,其他颜色也就是这三种原色搭配而产生的,在WINDOWS里,三原色也有相应的

值以16进制编译,三种色都定义了256种色彩深度也就是0-FF,任何颜色按RGB表示出来假如说

是56F49E,在SSA中就要以BGR形式表示出来,即:9EF456。色彩代码要注意的就只有这一点

关于色彩的代码获得可以在WINDOWS的绘图工具中找自定义颜色然后把三原色的10进制数值转换

成16进制按BGR顺序排列就可得到。

好了,这次就说这么多吧。好像在书店可以买到这方面的书,有兴趣的可以去看书系统的学习一下

我写的这个就当它是个提纲,或是快速指南吧。

关于用SUBCREATOR生成的SSA字幕时间轴不准确的问题:

因为是整体有偏差,所以可以用vobsub附带的subresync来调整,方便些。

具体做法就看这里吧

格式修改: [在字幕中插入,例如: 今天的天气\n好晴朗啊]

\n........................回车换行(好像是当字幕在一行显示不完时才换行,我不是很清楚) 
\N........................强制换行 
\h........................强制空格

在{...}之间加入的特效码: <>内表示可选的参数,在具体使用时不用加<> 
\a...........................................强制字幕在屏幕上的对齐位置: 
具体见关于alignment说明 
\b<0/1/weight>..........................................字体加粗 
\i<0/1>.................................................斜体字 
\u<0/1>.................................................下划线 
\s<0/1>.................................................strikeout 
\bord............................................字体加宽 
\shad............................................阴影深度 
\be<0/1>................................................边角模糊 
\fn...............................................强制字体类型 
\fe............................................强制字幕编码 
\fs...............................................强制字幕大小 例如:\fs34 
\fsc<百分比>........................................字体比例 
[fscx代表横向比例fscy代表纵向,单位:百分比] 
\fsp............................................字间距 
\fr[]<角度数>.....................................旋转[x,y,z轴三个方向] 
\fe............................................character set? 
\c&H&...........................................强制主字幕色 
\<1/2/3/4>c&H&..................................主/次/外框/阴影 字幕色设定 
\alpha&H&...........................................主色透明度 
\<1/2/3/4>a&H&......................................主/次/外框/阴影 透明度 
\k[].....................................卡拉OK效果 
(f-从左至右添充[未填充时显示次要色,填充后显示主色], o-字幕外框高亮显示?) 
\K......................................................跟 \kf 同样效果(填充效果) 
\r[]..............................................强制加载名为“name”的预设风格 
["[v4 Styles]"定义的] 
\t([,,][<加速度>,]<特效码> )...................动态显示, 加速度: 0~1减速, 
大于1加速(方括号内的可以却省设置) 
\move(,,,[,,]).........移动(方括号内的可以却省设置) 
\pos(, )...........................................强制定位 
\clip(, , , )...........................字幕裁剪 
\fad(, ).........................................淡入淡出[t1-开始时间,t2-结束时间] 
\q.................................................换行方式: 
0智能换行,1行尾换行,2无换行,3智能换行下一行变宽 
------------------------------------------------------------------------------------------- 
关于加载图片: 
1.语法格式: 
基本上和对话事件的格式一样,就是把"Dialogue:" 换成"Picture:",字幕文本换成图片文件的路径; 
2.图片格式的要求: 
这个......有点含糊:要求图片是: 二进制编码..... 
要达成以上条件才能实现SSA加载图片.


misc标签(第三个)有两个地方有勾,把第一勾去掉(那个勾就是pre-buffer subpicture)

就如我说的那样:先分解动作

放大: 小字体---->大字体 (设置字体大小用“\fs__”,下划线里填数字)

缩小: 大字体---->小字体

于是就有: 
{\fs10}{\t (0,900,\fs40)}...............放大 
{\fs40}{\t (1200,1600,\fs10)}...............缩小 
{\t(\frx720)}................旋转两圈

连在一起:

{\t(\frx720)}{\fs20\t(0,900,\fs40\t(1200,1600,\fs10)..........


问我做影响解码时候声速为什么追不到片速呢 ?

影响? 不知道是什么意思,不过如果一次显示的字幕特效太多了的话,而且CPU

又不够强劲,在字幕外挂时,会出现声音、视频不同步。

解决方案:1.把字幕内嵌; 
2.减少特效; 
3.换CPU。

請問...為何改不到字幕類型?怎也一樣???

字幕類型? 是指的字体吗,就我所知有些字体VOBSUB不支持,所以它会以系统默认的字体(宋体)显示。


我的字幕做出来嵌入的时候字体好淡(半透明的),有什么办法么…… 
我用VirtualDub,滤境用textsub 
看这里: 
Format: Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,TertiaryColour, 
BackColour,Bold,Italic,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,Encoding 
Style: New Style,幼圆,30,16777215,4227327,8404992,16744448,0,0,1,1,2,2,30,30,12,0,134

0代表透明度,255时为全透明即看不到了 
(134代表GB字库,我有讲到过)

时间是怎么样样安排的 
我掌握不好 
SubCreator这个软件你知道吗? 
用它来卡时间轴,(相关教程我在前面有提供附件下载)如果写出来的时间轴整体有偏差(这个软件的缺点, 
一般只是零点几秒的),这个软件提供了一个整体调整的选项,你可以凭自己的感觉预调整一下,试播、 
然后再调。也可先做出字幕文件后,试播,然后用VOBSUB附带的那个subresync来改,更方便些

刚开始时是有点慢(我第一次做时用一个小时做了3分钟的字幕,够慢吧。),做多了掌握了规律,也就会快一些了。

VD嵌入SSA字幕用什么滤镜最好? 
用Subtitler2.3 好多效果、字体都实现不了 
是不是Subtitler版本低呀? 
装了VOBSUB吗?把那个VSFILTER.DLL找出来,在添加滤镜的时候“LOAD”它就行了, 
其中包含了“TEXTSUB”和“VOBSUB”两个滤镜,前者用于文本字幕(比如*.SSA),后者用于图形字幕(*.SUB)

请问日文字库是多少? 
还有,有么办法强制字体类型呢? 
如我想让下面这条字幕绿色部分为默认字体,而红色部分为圆体,行吗? 
Dialogue: Marked=0,0:01:58.46,0:02:00.55,Default,0000,0000,0000,,... 
日文字库是128(我写到过) 
强制字体:{\fn圆体} 
Dialogue: Marked=0,0:01:58.46,0:02:00.55,Default,0000,0000,0000,,就消失的{\fn圆体}[color=#ff0000]无影无踪 
以上就是你想要的结果。

有很多朋友在这里问问题, 
首先,感谢你们对我的支持, 
不过,也请大家先看完我以前写,有问题再问,行吗?(以前看过的也不妨再看一下,我也做了不少的补充。)

 

今天写一个大家问了很就的东西:

利用变色达成的闪光效果 
正如你们所看到我前面所列出的95%的Dialogue部分的SSA(80%的ASS)特效码中,并没有直接的闪光效果的特效码, 
所以硬要用SSA或ASS来做闪光效果,就只有采用我以前说过的:特效组合来完成;

首先: 
变色的基本代码组合 
{\c&H000000&\t(1000,2000,\c&HFFFFFF&)}.................变色效果

然后: 
利用嵌套做出连续、快速、反复的变色效果,如果设置动作速度够快便成了“闪光”效果 
{\c&H000000&\t(1000,2000,\c&HFFFFFF&\t(3000,4000,\c&H000000&\t(5000,6000,\c&HFFFFFF&)))} 
............嵌套使用,达成闪光效果(注意两种颜色的合理搭配)

实际例子:(为了使一个事件写得不至于太长,所以把它分段写成了几个连续事件,注意时间轴要保持连续) 
Dialogue: 0,0:00:00.20,0:00:00.60,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}闪啊,闪啊,闪啊闪,....不怎么好看 
Dialogue: 0,0:00:00.60,0:00:01.00,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}闪啊,闪啊,闪啊闪,....不怎么好看 
Dialogue: 0,0:00:01.00,0:00:01.40,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}闪啊,闪啊,闪啊闪,....不怎么好看 
Dialogue: 0,0:00:01.40,0:00:06.00,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}闪啊,闪啊,闪啊闪,....不怎么好看

最后注意! 
像这样的在短时间里设置了多个字幕特效后,基本上就不能把字幕外挂播放了,会造成声像不同步!!! 
(除非PC的配置相当高比如内存1G以上,P4 3G以上,FX5950之类) 
所以只能用于内嵌。那些50,100,150...的数值的单位是毫秒:ms。


能不能做成每个字轮流闪一次 
最终是像有道光滑过一般 
理论上,可以实现:给每一个字设定不同的动作开始时间,比如我给的例子中第一个字从0ms~400ms,第二个字设为50ms~450ms, 
这样说不知道明白没有, 
{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200,\c&H61DDE0&\t(200,300,\c&H146365&t(300,400,\c&H83E4E7&))))}闪 
{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(250,350,\c&H146365&t(350,450,\c&H83E4E7&))))}啊 
(实在是麻烦而且不实用的方法...)


怀着沉重的心情,在把理论负于实践,写下了下面的闪光效果,还行,外挂播放时没有出现声像不同步.

以下,我写的一段:

[Script Info] 
ScriptType: v4.00+ 
Collisions: Normal 
PlayResX: 640 
PlayResY: 480 
Timer: 100.0000

[V4+ Styles] 
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, 
Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, 
MarginR, MarginV, Encoding 
Style: Default,黑体,26,&H00ffffff,&H0000ffff,&H00000000,&H80000000, 
-1,0,0,0,100,100,0,0.00,1,2,3,2,10,10,9,134

[Events] 
Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text 
Dialogue: 0,0:00:00.20,0:00:00.60,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365& 
\t(100,200,\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:00.60,0:00:01.00,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:01.00,0:00:01.40,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450 
,\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:01.40,0:00:01.80,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200 
,\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:01.80,0:00:02.20,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:02.20,0:00:02.60,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:02.60,0:00:03.00,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:03.00,0:00:03.40,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:03.40,0:00:03.80,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing 
Dialogue: 0,0:00:03.80,0:00:06.00,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365&\t(100,200, 
\c&H61DDE0&\ t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}心情不好{\c&H83E4E7&}{\t(50,150,\c&H146365&\t(150,250,\c&H61DDE0&\t(200,350,\c&H146365&\t(350,450, 
\c&H83E4E7&))))}U盘丢了{\c&H83E4E7&}{\t(100,200,\c&H146365&\t(200,300,\c&H61DDE0&\t(300,400,\c&H146365&\t(400,500, 
\c&H83E4E7&))))}伤心ing


\a这个参数是派什么用的? 
\a和\an是控制对齐方式的 
\a 
和SSA中相同 
左 中 右 
上 5 6 7 
中 9 10 11 
下 1 2 3 
\an 
和ASS中相同 
左 中 右 
上 7 8 9 
中 4 5 6 
下 1 2 3

Dialogue: 0,0:00:00.20,0:00:00.60,Default,,0000,0000,0000,,{\c&H83E4E7&}{\t(0,100,\c&H146365& 
\t(100,200,\c&H61DDE0&\t(200,300,\c&H146365&\t(300,400,\c&H83E4E7&))))}闪啊,闪啊,闪啊闪,....不怎么好看 
上面红色的数是什么意思,是开始时间还是显示多长时间?与前面的时间轴有关吗?单位是毫秒吧(1/1000秒),100就是0.1秒吧? 
还有,卡拉OK特效里的参数也是毫秒吧,我在做4.2秒的卡拉OK特效时,参数只要420就行了,1毫秒不是等于1/1000秒的吗?卡拉OK特效里的参数单位是10毫秒吗?

红色数字表示开始时间,结束时间,与时间轴的关系就是开始时间到结束时间的时间间隔不能大于时间轴所规定的间隔大小,不然定义开始时间结束时间就变得没意义了。 
卡拉OK的单位是10MS?我没有仔细去测过,可能如你所说吧。我做卡拉OK效果全凭感觉,先做出来再微调,因为做习惯了,对单位什么的也就不怎么在意了。

最近在做DVDRIP的字幕(原来的字幕实在太烂看不下去)其他都没问题就是, 
我想请问下则么才能把字体改成和他原来的那个字体一样的.请指教下,最好直接能告诉我代码~~ 
那个字体看起来像幼圆.... 
然后横向拉伸{\fscx120}

 

关于在影片里加入图片: 
这个,就算是为我那个字幕教程中一直没有解决的关于加载图片的问题的回答吧。

首先,我要说的是:利用SSA或ASS来加载图片,对图片格式有着很严格的要求,好像是要求图片要是“binary format”的,binary format是什么东西我也搞不清楚了(惭愧惭愧)... 
然后,继续刚才的话题,加载图片,其实也可以通过VirtualDub/VirtualDubMod来实现:具体操作就是在Video选单中选择Filter然后Add,选择其内置的那个Logo滤镜,[图1]然后加载你想要的图片(*.BMP或*.TGA格式),里面有些简单的设置,我就不再一一说明了,只需要注意一点,如果要对加载的图片设置Alpha值(透明度),首先要把影片的色彩空间改成RGB32。[见图2] 
接着,就是我这帖主要想说的内容了:刚才说利用VD/VDM内置的LOGO滤镜就能完成图片加载,但是有一个遗憾就是——VD/VDM不能进行REAL的编码操作,所以要是有朋友想在压制REAL格式时添加图片LOGO就不能用VD/VDM内置的滤镜了。要解决这个问题也不难,利用***S和外置的VD滤镜logo.vdf就能实现在***S中加载图片,然后再压制这个***S就能达到目的。

   先给一个简单的***S脚本的例子: 
--------------------------------------------------------------------------------------------------

######################定义LOGO.VDF所在文件夹######################## 
global VirtualDub_plugin_directory = "E:\DVD2RM\Filter" 
##########################加载待处理的影片########################## 
***ISource("[OP][Memories Off 想い出にかわる君][Replaymachine].avi") 
############################定义“VD_Logo”函数#################### 
function VD_Logo(clip clip, int "x", int "y", int "alpha", bool "transparent", 
\ int "xr", int "xg", int "xb", int "tolerance", string "filename", 
\ bool "animate", int "start", int "duration", int "loops", 
\ int "fadeinlen", int "fadeoutend", int "fadeoutlen") 

LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\logo.vdf", "_VD_Logo", 1) 
return clip._VD_Logo(default(x,0), default(y,0), default(alpha,128), 
\ default(transparent,true)?1:0, default(xr,0), default(xg,0), default(xb,255), 
\ default(tolerance,0), default(filename,VirtualDub_plugin_directory+"\Gundam SEED.bmp"), 
\ default(animate,false)?1:0, default(start,0), default(duration,0), default(loops,0), 
\ default(fadeinlen,0), default(fadeoutend,200), default(fadeoutlen,0)) 

###########################调用VD_Logo函数######################### 
ConvertToRGB() 
VD_logo(480, 10, 255, true, 255, 255, 255, 70, "Memories Off.bmp", true, 70, 0, 0, 50, 243, 50) 
##################################################################

-------------------------------------------------------------------------------------------------- 
上面这个***S例子中的注释已经说明了该脚本各部分的作用了,下面我再对VD_Logo函数的参数再具体说一下:

function VD_Logo(clip clip, int "x", int "y", int "alpha", bool "transparent", 
\ int "xr", int "xg", int "xb", int "tolerance", string "filename", 
\ bool "animate", int "start", int "duration", int "loops", 
\ int "fadeinlen", int "fadeoutend", int "fadeoutlen")

这个是在函数定义时声明的格式,从中我们可以看到其中每个参数的具体含义,为了更形象,我还是在例子中说明: 
------------------------------------------------------------------- 
VD_logo(480, 10, 255, true, 255, 255, 255, 70, "bz.bmp", true, 20, 0, 0, 50, 243, 50) 
480,10: 
图片出现在影片中的X、Y坐标位置; 
255: 
图片的ALPHA值,即透明度,0为透明,255为不透明,变化范围:0--255 (这个跟SSA字幕中刚好相反) 
true, 255, 255, 255, 70: 
设置图片的透明通道: true/false 打开/关闭此功能;255, 255, 255 分别对应红(R)、绿(G)、蓝(B)三色;7 为容差我理解为一些图像处理软件中(如PS)阀值的设定;本例中因为我使用的图片的背景是白色的,而我不想要这个白色背景,所以用白色透明通道使其变为透明色了; 
"bz.bmp": 
这个没什么多说的,就是我加载的图片,(注意如果图片跟***S不在同一目录下,要把其全路径都写下来); 
true: 
这个true/false是用来打开序列的静态图片组成的动态效果的设置,序列图片就是这样的形式:Recu0001.bmp ,Recu0002.bmp ,Recu0003.bmp .....RecuXXXX.bmp,只要打开了动态效果,那么***S就会自动地从第一张图片开始加载这个图片序列; 
20: 
图片出现时所在影片的帧数; 
0: 
原函数定义为int "duration",持续时间(是针对图像序列每张图片持续的时间); 
0: 
原函数定义为int "loops"为循环次数(针对对图像序列); 
50: 
定义为淡入动作所持续的帧数长度; 
243: 
图片消失时所在影片的帧数; 
50: 
定义为淡出动作所持续的帧数长度; 
------------------------------------------------------------------- 
以上就是所有参数的具体含义。 
另外,在使用的时候的注意事项: 
因为图片只能在RGB色彩空间进行加载,所以必须使用ConvertToRGB()来转换色彩空间; 
加载图片时必须保证是24位色的位图(*.BMP),并

以上,就是金顺软件园小编给大家带来的使用SubCreator制作SSA动态字幕教程全部内容,希望对大家有所帮助!

上一篇PopSub字幕制作图文教程下一篇使用esrXP字幕提取工具提取RMVB连续剧的内嵌字幕
编辑:点点小编