IsaacZ 发表于 2008-10-4 23:29:50

如何在影片的播放和压制过程中调整字幕的位置

作者:陈刚收集

调整字幕位置的方法有很多,根据字幕类型的不同、播放器的不同以及压制方法的不同,我们需要采取不同的调整方法,下面就介绍几种常用的调整方法:


一、利用播放器的字幕功能来调整:

以暴风影音播放器(简称MPC)为例,如果我们使用MPC的内建字幕引擎来载入字幕,可以在“查看->选项->字幕->覆盖位置”处进行调整,如下图:



http://www.DVDfaq.com.cn/uploadimg/200572002648474.jpg


这个方法对文本字幕和图形字幕均有效;


至于如何启用MPC的内建字幕引擎来载入字幕可以参考下文:


http://sxworkroom.blogchina.com/1397478.html


我们再看一个例子:下图是BSplayer的字幕调整方法,不过需要注意的是BSplayer菜单中的字幕调整只针对文本字幕,对图形字幕无效;



http://www.DVDfaq.com.cn/uploadimg/200572002728659.jpg


目前很多媒体播放器都支持字幕的调整,只是支持的程度不同而已,操作方法上大同小异,这里就不一一列举了;



二、利用Vobsub的字幕功能来调整:

只要能调用Vobsub的视频都可以利用此方法进行调节,对文本字幕和图形字幕均有效,而且此方法既适用于影片的播放,又适用于影片的压制;


双击右下角任务栏中的Vobsub绿色箭头小图标进入Vobsub的属性界面,调节如下:


http://www.DVDfaq.com.cn/uploadimg/200572002836267.jpg



http://www.DVDfaq.com.cn/uploadimg/20057200291439.jpg



三、利用ffdshow的字幕功能来调整:

这个方法适用于可以调用ffdshow的视频格式,如DVDrip的avi文件等,但注意这个方法只针对srt和无特效的ssa文本字幕,对图形字幕无效;此方法既适用于影片的播放,又适用于影片的压制,方法如下图:


http://www.DVDfaq.com.cn/uploadimg/200572002956919.jpg





四、改变字幕文件本身的参数来进行调整:

当直接编写和调用avs来进行影片压制的时候,既不能调用Vobsub也不能调用ffdshow,此时我们就需要通过改变字幕文件本身的参数来进行位置的调整;

1、图形字幕的调整:

如果在avs中使用Vobsub语句调用idx+sub图形字幕,则可以用记事本打开idx文件,找到如下语句:


# Origin, relative to the upper-left corner, can be overloaded by aligment
org: 0, 0


第一数字表示水平偏移量,正数表示字幕向右水平移动,负数表示字幕向左水平移动,例如:-20表示字幕向左偏移20;
第二数字表示垂直偏移量,正数表示字幕向下垂直移动,负数表示字幕向上垂直移动,例如:64表示字幕向下垂直偏移64;


此方法常用于avs的方法来压制rmvb,如果片源是16:9的影片,如果我们不对字幕位置进行调整,那么字幕的位置会非常靠上并会遮挡住影片的画面,此时我们可以通过加框的方法把字幕位置下移到最底端,这样在全屏播放时字幕的位置就比较舒服,而且不会遮挡住影片的画面。我们通过具体实例来说明:


下图是一部16:9的影片在未修改idx字幕参数时的画面:


http://www.DVDfaq.com.cn/uploadimg/200572003040137.jpg




然后改变idx文件的参数如下:


# Origin, relative to the upper-left corner, can be overloaded by aligment
org: 0, 64


下图是已经进行过参数调整后压制出来的影片在窗口状态下的字幕位置:


http://www.DVDfaq.com.cn/uploadimg/200572003115442.jpg



下图是全屏状态下的字幕位置:


http://www.DVDfaq.com.cn/uploadimg/200572003316986.jpg



可以看出:字幕调整后在全屏播放时的显示位置是比较合理的,而且看起来也比较舒服;


2、文本字幕的调整:

如果在avs中是用textsub语句来加载文本字幕,那么如何调整字幕的位置呢?


方法一、先用subresync把srt字幕转换成ssa字幕,打开ssa字幕,找到如下语句:



Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,18,&Hffffff,&H00ffff,&H000000,&H000000,-1,0,1,2,3,2,20,20,20,0,1


MarginL, MarginR, MarginV这3个参数决定了字幕的位置,其中MarginL表示左边距,MarginR表示右边距,MarginV表示垂直边距;下面红色的3个20的数字就分别对应于MarginL, MarginR, MarginV;一般情况下我们只需要调整MarginV这个参数,使字幕在垂直方向上移动到合适的位置即可;


注意:如果在subresync中选择Edit,改变了srt字幕的风格,尤其是改变了字体,那么在保存ssa文件的时候,必须选择Unicodec output,否则出来的ssa文件没有style参数,不能使用。如下图所示:


http://www.DVDfaq.com.cn/uploadimg/200572003421212.jpg



方法二、用subresync打开srt字幕,然后点击Edit,改变font字体参数为黑体以及GB2312,或者其它字体也可以,其它参数可以不变,然后点击OK退出:


http://www.DVDfaq.com.cn/uploadimg/200572003456508.jpg




http://www.DVDfaq.com.cn/uploadimg/200572003521418.jpg





savs as保存,注意保存时也必须选择Unicodec output才可以;


保存后生成两个文件一个*.srt(影片字幕),一个是*.srt.style(字幕格式文件),用记事本打开*.srt.style,内容如下:


ScriptType: v4.00+
PlayResX: 384
PlayResY: 288


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,黑体,18,&H00ffffff,&H0000ffff,&H00000000,&H80000000,-1,0,0,0,100,100,0,0.00,1,2,3,2,20,20,20,134


按照方法一的方法进行调整即可,注意这里的styles形式跟上面ssa字幕的形式有所不同,这里是,因为这是ass字幕的格式,不过没关系,我们只关注后面的位置参数即可;


把生成的这两个字幕文件放在同一文件夹内,在avs语句中加载srt字幕即可,如Textsub("e:*.srt");




上传时间:2005-08-22 19:32:20
页: [1]
查看完整版本: 如何在影片的播放和压制过程中调整字幕的位置