Life Journal

随笔,及其他

我是 Xiao Xiao,在日本的产品经理,偶尔也写代码,iOS/Mac/Web,偶尔也做设计,爱用 Sketch,偶尔写文字,存在这里。


meGUI超级初级教程,顺带avs以及周边工具

以下内容仅供给刚刚接触meGUI的小白参考,高手请无视。本人在这方面也只是刚刚入门,若有说的不对的地方还请不吝赐教。

我们为什么需要meGUI?

因为我们需要更好的更易用的avs的UI,就像mencoder有winMEnc一样。

那么我们为什么需要avs?

因为我们需要更精细的画面处理和字幕支持,以及更好的兼容性。我们需要对interlaced的东西deinterlace,需要对film的东西**,需要去噪点,需要调整画面参数。我们需要在导入字幕的时候不再另外手动指定字幕的各项属性结果丢掉ssa里自身设定的属性,需要。。。。

meGUI怎么使用?

meGUI是基于avs的,所以需要处理视频时,需要首先编写对应的avs脚本文件,然后导入进meGUI之中。这个脚本文件的作用只是纯粹的负责资源文件的导入和处理,并不定义后期的压缩输出。而输出的各式定义则是在encoder settings里选择对应的配置文件的。我理解没错的话应该是使用x264.exe核心进行的编码,所以我看到的配置文件貌似都和x264拉不开关系。。。而具体输出文件的后缀名称则可以在mp4、mkv、RAWAVC之中选择。按照惯常的做法,通常只在avs脚本里导入视频相关。音频的内容则另外处理,在meGUI界面的下半部分也是音频处理功能区。

avs脚本文件怎么写?

  • 通常,若是导入avi文件,则使用AVISource(“文件地址”);但也有更强大的DirectShowSource(“文件地址”)。通常在这两个命令中还可以后接文件的帧速率等等参数,比如DirectShowSource(“F:\mpge*.dat”,fps=25,audio=false)。
  • 然后则是对于画面的处理命令,如果是avs内置的命令则不需要其他,否则的话则需要调用对应的dll文件,调用语句是LoadPlugin(“文件地址”),例如要调用textsub命令加载字幕的话就需要在前面加上LoadPlugin(“VSFilter.dll”),括号内的地址根据VSFilter.dll所在的位置而更改。
  • 常用的命令等知识请参考avs命令手册。而掌握了这些命令之后则推荐使用一些专门生成avs代码的工具性软件以提高效率,最简单的例如AVS Script Creator,此物属于meGUI自带。

输出的文件格式如何选择?

这个取决于后期的处理。如果是单纯的视频,或者是在avs脚本中将音频文件一并搞定了的话,可以按需直接选择打包成mkv或者mp4。但大多数情况下我们是将音频和视频分开来处理的,所以一般我们选择生成源各式RAWAVC,也就是.264的后缀名。

关于音频的处理?

  • meGUI对音频的处理完全基于外部的编码器。最常见的情况是当选择编码成aac格式时会被提示缺少neroAacEnc.exe,也就是nero的aac编码器,类似的情况是载入ac3音频源的时候会提示找不到合适的解码器处理——这意味着avs的插件目录下缺少了一个叫做NicAudio.dll的ac3、dts格式的解码器。搜一搜然后补完即可。
  • 值得一提的是,meGUI貌似对于文件内的音频的处理能力不尽如人意,尤其是avi内的ac3,绝大多数情况下你需要使用meGUI文件夹下的tools文件夹内的avimux_gui工具,将源avi文件拖入,在下方选择音频extract出来,然后再导回meGUI中处理即可。

如何打包成avi或者mkv或者mp4的格式?

meGUI菜单中的tools栏里的Muxer项目中包含了需要的工具。拿mp4_muxer举例子,在Video中Input中选择要打包的视频文件,在Audio中选择音频文件,如果有字幕或者章节文件也如此效仿。打包所需的时间会很短。

设置完了之后选择什么?queue和autoqueue有什么区别?

如果你点击Video栏目中的queue按钮,则Video中的任务会被安排进入Queue(队列)中,类似,若是Audio中的queue则是处理音频。若是Autoqueue的话,则会直接问你要将视频和音频打包成啥样,然后将一整套的任务放进queue中。当然,此时的任务并不会自己开始,你需要到第二栏的Queue页面上,选择下方的start开始当前的任务队列。在一整套任务完成后,中间生成的临时文件都会被删除。所以如果你需要考察过程中的视频或者音频是否满意的话,那么建议你将最后的muxer的任务postpone(推迟)。

刚才说要从avi中提取东西可以用avimux_gui,那么mkv呢?

对应的在tools文件夹里还有个东西叫mkvmerge,里头有个MKVextractGUI.exe,此物就是用于将mkv中的各元素提取出来。至于mp4的话,则需要用第三方的工具,叫做yamb,一个很傻瓜化的工具哈。另外,有些时候某些mkv里的视频无法提取或者提取不正常,那通常有可能是120fps的视频的结果,此时你需要一个120FpsToVfr的东东,实际也是基于mkvmerge的啦。当然还存在一些死活提取不了的视频,偶也么办法。。。关于120fps,这通常是因为一个文件有多个帧速率不同的视频片段拼合而成的结果。

为啥我的meGUI更新不了?

或许你使用了绿色版本,因此AutoUpdate.xml文件中记载的插件位置会不正确导致更新不能。修改其中的正确位置或许能解决问题。当然,最好的办法是,重装一个正式版本吧。

为何dts音频始终处理不能?

  • 至少在我的版本上是不能处理呃。一种可行的方案是用千千静听之类的音频软件进行直接的到aac各式的转换。值得一提的是,因为默认的千千静听是不带有转换到LC-aac的功能的。但是你可以手动添加命令行编码器,在命令参数中输入   -ignorelength -lc -br 192000 -if – -of “%d”   命令行则是neroaacenc.exe的地址。
  • 不过以上的方案并不推荐,因为从dts直接转到aac的话貌似可能出问题——开头有可能少了意外的2秒钟。至少我遇到了。所以,保险的解决方案是先转换成wav,然后在压成aac。转换成wav的过程中请确保硬盘空间足够。。。

还有什么问题?

有的话请留言。

新年献给小白的礼物。