用megui从DVD压制高质量视频教程
OriginLab
2017年09月29日 15:40

B站提供了若干个视频压制工具,可以用来压制一些简单的视频。但如果想从DVD压制视频,那些工具就显得不够用了。网上不难找到一些压制DVD的软件,操作简便,但压制的质量则一般。本人上传的视频大部分都是从DVD自压的,一般使用megui压制,可以尽可能保证视频品质。但megui入门较为麻烦,需要使用者花一定的工夫搞清楚如何操作。故写一个简单的教程,希望能帮助有需要的网友从DVD压制高质量的视频。

一、先期准备工作

1. 准备好megui软件(网上很容易搜索下载到)。

2. 在硬盘上准备好DVD文件夹。DVD视频文件夹中的文件类似于图一中的形式。分析其中的文件(可用视频软件直接播放),可以发现我们所要压制的视频都存储于名为VTS_01的各个文件中,VTS_02和VTS_03则是片头或广告,我们不感兴趣。

图1:DVD文件夹中的文件

3. 准备好输出文件夹。

注意:为避免麻烦,请将所有涉及到的文件夹和文件都以英文命名,不要出现中文。

二、提取视频和字幕

提取DVD所用的工具是dgindex,它已经包含在megui中了。在megui文件夹中运行tools\dgindex\DGIndex.exe,点击File -> Open(或直接按F2)加载文件。我们所要压制的视频都存储在名为VTS_01的各文件中。从文件大小也可以看出,VTS_01_1.vob到VTS_01_8.vob这几个文件都特别大,因此我们就加载这些文件(VTS_01_0.vob文件很小,里面没有我们需要的内容,因此无需加载)。

图2:用DGIndex加载DVD视频文件

确认文件顺序无误,点击OK。

接下来点击File -> Save Project(或直接按F4),在弹出来的框中选取目标文件夹,DGIndex会对音视频进行抽离。

抽离文件完成之后,我们接着要来提取DVD的字幕。打开megui.exe,点击Tools -> VobSubber,Input中选取DVD的ifo文件。由于我们要压制的视频都在VTS_01文件中,因此,这里我们选取VTS_01_0.ifo这个文件。随后下面的框中就会出现DVD包含的各种字幕。在需要的字幕前打勾,设置好输出文件夹,点Queue,等待提取字幕完成。

图3:提取字幕

现在,输出文件夹中的文件如下:

图4:目标文件夹中的文件

其中,扩展名为idx和sub的两个文件是字幕文件。扩展名为dts的文件是多声道的音频文件,wav文件是双声道的无损音频文件。d2v文件则记录了视频信息,后面很快就要用到。

在压制视频之前,我们还得先设置一下字幕语言。用记事本打开idx文件,里面内容如下:

图5:设置字幕语言

# Language index in use 下面一行决定了所使用字幕的语言。我们看到中文字幕的index是4,因此,将langidx: 后面的数字改为4。保存之后关闭记事本。

三、压制视频

用megui压制视频的麻烦指出在于必须先制作avs文件。好在megui提供了编写avs代码的工具,无需我们自己动手写代码。在megui.exe中点击Tools -> AVS Script Creator(或用快捷键Ctrl+R),就会弹出avs代码编写框。这里有3个选项卡,第一个选项卡是I/O。在Video Input一栏中,载入d2v文件。

图6:制作avs文件

载入视频文件之后,Input DAR框中会出现16:9(当然其它视频可能会显示别的比例),这表示的是视频的宽高比,请记住这个比例。

Resize之前默认打勾,这是默认将视频裁切成16:9的像素比例。但这样一来会损失像素,因此我们一般将Resize之前的勾去掉。去掉之后,Resize右边的框会显示原始的像素比(一般为720x480或720x576)。

Video Output一栏中设置avs文件的输出文件夹。

然后点选Filters选项卡。这一选项卡中,主要是设置视频的反交错以及字幕。

图7:反交错设置

点击Analyse...,软件会自动对视频进行分析。稍等片刻,等软件分析完视频之后,就会自动设置好反交错命令,如下图Deinterlacing一栏中所示。

图8:加载字幕

接着再在Subtitles框中加载字幕的idx文件。

最后,切换到Script选项卡,这里面就是根据我们的设置而自动生成的avs代码。在保存之前,还需要做最后一件事。按目前设置,输出的视频的宽高比和像素比例一致。比如说,示例所用视频的像素是720x480,也就是3:2的比例;而正确的宽高比应该是16:9。如果不做进一步设置,压制出来的视频将默认按照3:2比例播放,画面就会变形。因此,我们需要加入图9红圈中的两行代码,这两行代码的作用就是将播放画面的宽高比设置为16:9。当然,如果正确的宽高比是4:3,这两行代码最后的数字也就相应地换为4和3。

图9:设置视频宽高比

一切就绪之后,点击Save,便会在目标文件夹中保存avs文件。

回到megui主界面,可以看到Video encoding框中,Avisynth Script一栏中已经自动加载了刚才保存的avs文件。此时还会弹出一个预览框,稍微拖动播放一下,查看一下字幕是否正确加载,反交错是否到位。如无误,就可关闭视频预览框。Video Output在这里只是用来存放临时文件,一般无需特别设置。在Encoder settings一栏中可以设置视频压制格式,上传B站的视频应当选择x264: *scratchpad*这一项。点击右边的Config,弹出图11的界面,在此可对压制参数做进一步的设置。

图10:megui主界面

x264的压制参数网上有很多文章介绍,这里不做过多的说明。懒得研究的话,可以直接使用预设的参数,即调节图中Preset一栏。越往右边,压制质量越高(同样的码率,越往右视频质量越高;同样的画质,越往右码率越小),但速度越慢。读者不妨自己尝试一下,在可接受的压缩时间范围内,尽量靠右选。

Encoding Mode一栏是选压制模式。主要会用到的是两个:

  1. 恒定质量模式(Const. Quality)。该模式保证画质,但输出码率不定。同样的质量参数下,如果画面动态度较高,码率就会高;如果画面静止不动,码率就会较低。视频质量参数(Quality)一般可在21到23范围内按需要选择,数字越小,画质越高。

  2. Automated 2pass模式。该模式可确保输出视频的平均码率(在Bitrate一栏中设置)。缺点是需要压制两次,比较费时间。

B站规定的视频码率上限是1800 kps,因此,如果时间充裕的话,选择2pass模式,并将Bitrate设置成1800,能够充分利用B站的码率。

图11:设置x264压制参数

随后设置音频文件。仍见图9,在Audio Input一栏中,加入先前分离得到的音频文件。一般加载wav文件即可,B站目前不支持多声道,因此没必要加载多声道的dts音频文件。B站音频格式支持的是AAC格式,而压制aac最好的编码器据悉是Nero AAC。因此,我们在Encoder settings中选择Nero AAC。

【注:Nero AAC是商业软件,需要自己下载(网上容易找到),然后在megui中设置:Options -> Settings,External Program Configuration选项卡中,勾上“Enable NeroAacEnc”,然后下面的Location中定位下载到的neroAacEnc.exe文件。】

点击Encoder settings右边的Config,设置音频压制参数。Output Channels设置输出的声道数,由于输入的就是2声道,因此选Keep Original Channels即可。如果输入的是多声道,则最好选择Downmix multichannel to Stereo,即压制成2声道。Sample Rate和Time Modifaction都Keep Original。NeroDigital AAC Options是对压缩码率进行设置,一般选Adaptive Bitrate,比特率按B站目前的限制,选192 kbit/s。(也可以选320 kbit/s,这样的话系统就会对音频进行二压。有时候B站高抬贵手,二压后码率会有200多;但也有可能二压后码率比192差了一截,令人捉摸不定。)调整比特率除了可以用鼠标拖动外,也可以用键盘左右键微调。

图12:设置音频参数

音频的输出目录,Audio Output,也只是一个临时目录,无需特别在意。

音频和视频的压制参数都设置好之后,点击图10中的Auto Encode。弹出来的对话框中,Name of output一栏,设置输出目录和输出文件名,其它的不用管。点击Queue,megui便开始压制视频:先单独压制音频,然后单独压制视频,最后将音视频合流。在弹出来的框中可以看到压缩进度,Priority一栏则可选择进程的优先级。

当一个视频正在压制时,还可以对其它视频进行压制设置,重复上面的步骤,最后点击Queue后,后面的视频就会加入队列;等前面的视频压制完之后,才会开始后面视频的压制。

在主界面(图10)上点击Queue选项卡,可以看到压制的队列。最下方After encoding,默认是什么都不做(Do Nothing)。如果是在晚上压制的,则可以选Shutdown,让电脑在所有压制都完成之后自动关机。