当前位置:首页 >> >>

Megui 字幕特效压制教程

Megui 字幕特效压制教程

MeGUI 是一款集多种编码器于一身的 GUI 界面软件,它使各种需要用命令行的 EXE 程序统一到一个图形界面, 使用起来十分方便。它的出现,成为众多进行视频处理的必备工具,特别在进行一些高清视频及特效字幕的压制 时,常常选择 Megui 作为压制工具。

运行条件: 1. NET Framework 2.0 或者以上版本,缺少它 Megui 将无法正常运行; 2. AviSynth,这是一个功能强大并且基于 avs 脚本文件的视频处理与帧服务软件,由于 Megui 需要首先导入 AVS 脚本然后才能进行后面的处理,因此需要 AviSynth 的支持。 3. 解码包:常见的解码包有: K-Lite Mega Codec Pack、完美解码、终极解码等。安装解码包的主要目的是为了 让软件能够更好的识别和播放某些编码的视频,否则 Megui 以及系统将无法正常播放某些特殊编码的视频。 启动 MeGUI2112 界面显示如下:

从界面中我们可以看到软件主要分为两部分:视频和音频;视频部分要求导入 AVS 脚本,因此我们可以简单地 用一个公式表示为: AVS+视频+音频=容器格式(封装格式),其中 Megui 为我们提供的“容器格式”主要有三

11

种,分别为“RAWAVC”、“MKV”以及“MP4”,因此我们需要先编写 AVS 脚本,将其导入 Megui 之后才 能进行后面音视频参数的设置。

AVS 脚本文件几个基本代码: 打开一个编写好的 AVS 脚本文件,如下图所示:

LoadPlugin("D:\MeGUI\tools\ffms\ffms2.dll"): LoadPlugin("D:\MeGUI\VSFilter.dll"):

加载视频插件; 加载字幕插件

FFVideoSource("D:\31176\TD4100N sap_ww.avi", threads=1): 加载视频文件函数; TextSub("D:\31176\TD4100N sap_ww.ass"): #deinterlace:非逐行; #crop:不裁边; #resize:尺寸保持不变; #denoise:无需降噪; 加载字幕文件函数;

常用代码: LanczosResize(960,540):视频尺寸大小为 960x540; ResampleAudio(48000):重新格式化音频采样率为 48000; FadeIn0(50)/FadeOut0(50):这是视频开头和结尾淡入淡出的代码; AddBorders(0,56,0,56):为上下各加黑边 56; Amplify(2);是增加左右声道音量;Trim(240,480):是截取片段;

22

AVS 脚本代码示例: 1. 改变画面大小的处理函数: LoadPlugin("d:\VSFilter.dll") directshowSource("lost.s04e01.720p.hdtv.x264-ctu.mkv",23.976) LanczosResize(720,396) Amplify(2) textsub("Lost.S03E18.HDTV.XViD-Caph.ass")

2. 加黑边: LoadPlugin("d:\VSFilter.dll") directshowSource("lost.s04e01.720p.hdtv.x264-ctu.mkv",23.976) LanczosResize(960,408) AddBorders(0,60,0,60) Amplify(2) textsub("Lost.S03E18.HDTV.XViD-Caph.ass")

3. 加载多个字幕 LoadPlugin("d:\VSFilter.dll") directshowSource("lost.s04e01.720p.hdtv.x264-ctu.mkv",23.976) textsub("Lost.S03E18.HDTV.XViD-Caph.ass") textsub("D:\yyets\LOGO.ass")

4. 加载动态水印 LoadPlugin("d:\VSFilter.dll") logo=directshowSource("E:\电影片尾\LOGO_720x396_23.976.avi",23.976).Loop(2,1,23).converttorgb32 #设定水印 LOGO 的路径,然后 Loop(2,1,23)是设定他在第 2 秒钟的时候开始出现,2 可以随便更 改,.converttorgb32 是改变颜色为 32 位,否则没法挂载 raw=directshowSource("terminator.the.sarah.connor.chronicles.s01e02.720p.hdtv.x264ctu.mkv").converttorgb32.LanczosResize(720,396).Amplify(2) #设定片源的路径,以及改变他的色深为 32 位,在改变他的画面大小为 720*396,音量放大一倍 a=Layer(raw,logo,"add",255,100,230) #设定 a 等于 LOGO 和 RAW 两个叠加,255 是完全显示,100,230 两个参数分别是定义他们的显示位置 X,Y, 位置是可以根据画面和 LOGO 大小进行调整的 out=a.textsub("terminator.the.sarah.connor.chronicles.s01e03.720p.hdtv.x264-ctu.ass") #设定 out 等于 a.并且 a 加字幕 return out

33

#最后运行结果 out

5. 加载外部 WAV 音频 LoadPlugin("d:\VSFilter.dll") raw2=raw.AudioDub(WAVSource("d:\Untitled_mixdown.wav")) #加载外部音频 a=Layer(raw2,logo,"add",255,100,230) #叠加 out=a.TextSub("sample.ass") #加载字幕 return out #最后运行结果 out

6. 加载片头或者视频合并 LoadPlugin("d:\VSFilter.dll") raw=directshowSource("ripsir-lfodh.mkv",23.976).AddBorders(0,56,0,56).LanczosResize(720,396).textsub("ripsirlfodh.ass").Amplify(2).converttorgb24.SSRC(48000) #定义片子的路径,以及 FPS,然后加黑边,在改变画面大小,挂字幕,增大音量(如果是 MP3 音频就不需要 增加),改变画面色深为 24 位,格式化音频为 48000K OP=directshowSource("E:\电影片尾\功夫之王预告.avi",25).AssumeFPS(23.976, 1, true) .converttorgb24.SSRC(48000).LanczosResize(720,396) #定义片头路径,定义片源 FPS 为 25,这个 25 是片源的真实 FPS,如果合并起来就需要改变为和电影片源一 样的 FPS,否则合并起来就音频和画面不同步。那么就使用.AssumeFPS(23.976, 1, true)来改变 FPS 为 23.976 然后改变色深,格式化音频,改变画面大小和电影片源一样。 uotput=op+mov #片头加上电影片源 return uotput #开始运行输出结果

44

打开已编写完成的 avs 脚本文件:

注:压制时,一定要添加音频文件,否则输出的文件没有声音。

根据预览图,确认字幕特效及时间轴是否正确。如果没有问题,则按“自动编码”按钮,弹出如下功能框:

55

按“加入队列”按钮,弹出如下对话框,开始进行压制,直至完成。

66


更多相关标签: