用 MeGUI 压制 DVDrip 入门

最近 DVDISO 越积越多,所以赶在硬盘塞爆之前学习了一下 MeGUI 把它们都压成 mp4 ,顺便来这边现学现卖一下(其实主要是用来记个笔记防止以后自己忘了-.-

因为上面所说的动机,所以这是一篇面向入门同学的文章,里面会尽量避免脚本的手工编写和细化参数的设置。同时本文的很多部分参考了 MeGUI 的官方 Wiki User Guide[1]。如果您是老鸟请笑笑点击右上角的叉叉或者,不吝赐教的话,在下必当是内牛满面。

注意:很多 DVD 是有版权的,请不要使用本文介绍的内容做违法的事。

BDrip 与 DVDrip 在过程上相似。需要压制 BDrip 的朋友请先看本文,然后阅读另一篇 用 MeGUI 压制 BDrip

MeGUI 在这么多个版本过后其实操作门槛已经越来越低,最新的版本已经包含了众多自动工具和编码器,环境的安装对新手来说已经不是什么难事了。要从头开始,你需要准备好以下这些软件包:

DVD Decrypter – 用于破解和抽取DVD视频,获得章节信息
(http://www.dvddecrypter.org.uk/)

MeGUI – 图形化压制工具
(http://sourceforge.net/projects/megui/)

可选工具:
Daemon Tools (Lite) – 虚拟光驱工具,如果使用的是 ISO 则需要这个
Notepad++ – 如果需要编辑 avs 代码时用,本文不会涉及

MeGUI 也有简体中文版本(http://sourceforge.net/projects/meguizhcn/),但本文中一律使用英文版本作示例。本文使用的软件版本为:DVD Decrypter 3.5.4.0,MeGUI 2112。

 

1. 安装 DVD Decrypter 和 MeGUI

DVD Decrypter 的安装很容易,这里不细讲了。以下主要说一下 MeGUI 的安装,从 SourceForge 下载下来的是个压缩包,请将它解压到无权限问题的地方(如D:\),当然如果你在 Program Files 下新建一个目录并手工获得其所有权也完全没有问题。

双击 MeGUI.exe 运行,将自动启动更新程序,请保证 Internet 连接:

同时 MeGUI 会提示安装 AviSynth ,请点击“是”安装 AviSynth:

在 AviSynth 安装过程中可根据需要将文件关联去除掉,然后完成 AviSynth 的安装:

自动更新结束后 MeGUI 会提示你安装 NeroAAC 编码器,你可以点击“是”从 Nero 官网下载一个,或者如果之前你已经在 Foobar 等工具中使用过该编码器,可将其直接拷贝到对话框中提示的目录下:

从官网下载的编码器同样需要拷贝到之前对话框中提示的目录下:

全部完成后点击“是”来重启 MeGUI :

然后进入 Options > Settings 查看设置。Autostart Queue 功能可以在之后确认操作时直接执行而不是加入队列,压制练习时建议打开,熟练之后可以关闭然后选择睡觉之后让电脑自己在那边忙活去:

然后在 NeroAacEnc Location 确认 NeroAAC 编码器的路径是正确的:

点击 Save 保存并关闭设置页。

 

2. 总体压制流程

总体压制流程和软件关系如下图所示:

以下详细介绍每一步的操作。

 

3. 用 DVD Decrypter 导出 VOB 文件和章节信息

首先将 DVD 盘放入光驱,或者用 Daemon Tools 载入 MDS 文件来放入虚拟光驱。本文使用的是一张音乐专辑附带的 Music Clip DVD:

打开 DVD Decrypter ,在设置页(Tools > Settings)的 IFO Mode 选项卡下将 File Splitting 设为 None ,并将 Chapter Information – OGG 的勾勾上,以便生成 OGG 章节信息文件。然后点击 OK 保存设置:

在 Mode 菜单中切换为 IFO 模式:

如果 DVD 读取正常则会在右侧显示节目列表,一般而言可以根据时长来判断章节信息。这张 Music Clip DVD 总长约为30分钟左右,所以第一项27分钟的内容应为整张 DVD 的内容,之后四五分钟的应为分段内容。如果要将整张 DVD 压制成一个 MP4 文件则选中第一项即可,如果要分成多个文件则可以分别压制后面的几项。此处以压制整张 DVD 为例,将右侧的第一项选中,点击左侧路径右面的文件夹图标来选择导出的目标地址,最后点击下面的导出按钮开始导出:

最后会在导出目录生成四个文件:

现在可以关闭 DVD Decrypter 了(虚拟光驱也可以退出了)。

 

4. 用 File Indexer 分离音频和视频

打开 MeGUI ,在 Tools 菜单下点击打开 File Indexer :

点击 Input File 右面的按钮,选择刚才生成的 VOB 文件:

确认 DGIndex 和 All Audio Tracks 已经选中,然后点击 Queue 按钮(如果没有自动开始则需要在 MeGUI 主界面的 Queue 选项卡中手工启动,下同):

分离成功后会生成 wav 格式的音频文件和 d2v 视频索引文件:

完成的同时 AviSynth Script Creator 和视频预览窗口会自动打开(压那个啥啥啥片的如果吓着旁边人就对不住了的说XD)。接下来我们分别对音频和视频两部分进行处理。

 

5. 用 NeroAAC 对音频编码

如果你是转音频老鸟,则音频编码使用 Foobar 之类的来代替也完全没有问题。对于压制 h.264 视频而言推荐使用 NeroAAC 编码器,Quicktime 也可以(质量更好),总之 aac 是推荐的格式,mp3 就太落后了。

音频和视频文件可以并行处理,顺序什么的无所谓。这里先从相对简单的音频开始,回到 MeGUI 主界面(什么?你把 AviSynth 关掉了,那你完蛋了(误),没关系可以之后再打开),在下侧的 Audio 区,在 Input 处选择刚才的 wav 文件,然后在 Encoder Setting 处选择一个合适的预设:

此处为了详细说明,建议选择 Nero AAC: *scratchpad* 并点击右边的 Config 按钮来打开配置面板:

首先最上面的三项建议选择NicAudio,Keep Original Channels 和 Keep Original。此外鱼尾个人不喜欢对音乐进行音量标准化,所以将 Normalize 之前的勾去掉。比特率方面,对于音乐选择 AAAC (Adaptive-Bitrate AAC, AAC ABR) 192kbps 已经足够(普通视频更低也无所谓,网络上的很多 HDTVrip 都用的 AAAC 96kbps)。

更注重质量的可以试试 VAAC (Variable-Bitrate AAC, AAC VBR)。他们的区别在于,AAAC 指定目标平均比特率(单位时间音频文件大小),VAAC 指定目标质量,VAAC 的 q=0.4 时相当于 125kbps 左右,q=0.6 为 225kbps 左右[2],q=0.7 为 256kbps 左右。

设置完成之后可以考虑保存为一个预置。

回到 MeGUI 主界面之后点击 Audio 区的 Queue 开始编码。之后生成编码后的音频文件,拓展名为 m4a 或 mp4 (不要和视频的 mp4 混淆)。

 

6.1 用 Avisynth Script Creator 生成 avs 脚本

视频的编码分为两步。第一步是使用 Avisynth Script Creator 生成 avs 脚本,这一步的作用是分析视频源、设置尺寸、调整黑边并指定合适的滤镜;第二步是使用 x264 编码器对视频进行编码。

如果之前不小心关闭了 Avisynth Script Creator ,可以在 Tools 菜单中重新打开,并在 Video Input 选择 File Indexer 生成的 d2v 文件:

(什么,你又在压啥啥片然后把别人吓着了?那那那……)

示例中用的 DVD 源图像是 16:9 的尺寸(现在大多数 DVD 应该都是这个宽长比了),从 Input DAR 也可以看到 File Indexer 自动将视频标识成 16:9 的 NTSC。但从视频的预览窗口可以发现并不是 16:9 ,如果照默认的尺寸设置来压制的话就会得到一个宽长比错误的视频文件(血的教训在此)。可是为什么会这样?是 MeGUI 不够智能么?

其实这是因为 DVD 的分辨率特性造成的,具体大家可以看一篇很详细的文章[3]。简要的来说,就是 DVD 视频(mpeg2 格式)由于一些对模拟电视的兼容性原因,内部其实是按照 720×480 来压制的,我们看到的 16:9 (即 853×480 )其实是播放器自动拉伸之后的效果。

而更严格的来说,在模拟电视中,左右的8个像素还会被切掉,也就是说有效分辨率其实只有 704×480 ,以前出版方为了兼容性通常会将视频先制作成 704×480 然后在左右填充8个像素的黑边让其恢复成 720×480 再发售,DVD 机播放的时候会先将这8个像素切掉再拉宽放映。但因为现在数字设备已经普及,对于新发售的 DVD ,这种操作已经没有必要了。

如何让播放器识别需要自动拉伸?大部分网上的教程都会告诉你去修改 x264 压制时的 SAR 参数。这种方法是可行的而且比较标准,但是这牵涉到 x264 的高级参数调整,而且算 SAR 什么的实在是太麻烦了,一堆数字万一算错,或者没弄清楚是按照 720 还是 704 来算[4][5],到时候也是白白浪费时间。鱼尾个人推荐另一种方法,即通过调整前端 avs 脚本修改 DAR 来达到目的。听上去好像要牵扯到编辑代码什么的高级操作,但实际上点击两下鼠标就能搞定一切(MeGUI 笑了,什么叫智能,这就是智能!):

 
(2013-08-03 更新) 旧版 MeGUI 的该页面可能会有所不同,但是选项都是一致的:


 

将 DAR 调整为 16:9 并勾上 Clever Anamorphic Encoding 之后请确认 Resize 的数值为 720×480 没有变化(因为我们的源就是 720×480 )。其它的选项中,Crop 框主要是用来切除上下左右的黑边,这个根据需要使用,对规范的 DVD 应该是用不着的。之后可以到 Script 选项卡里面预览生成的 avs 脚本:

可以看到刚才的操作实际上是增加了两条语句 darx 和 dary,确认一下他们是 16:9 (后面的语句也许你那边还没有生成,可以暂时不要管)。

现在到 Filters 选项卡,可以看到最上面的 Colour Correction 默认勾上,这边留作默认就好(关于什么时候勾上和不勾有专门的文章可以查,但有些文章干脆就说直接勾上,所以我们这边留作默认应该没有什么问题)。接下来,首先看到 Source is Anime 那个复选框,如果视频源是动画请先勾上这个,否则不要勾,之后点击 Analyse 按钮,MeGUI 会开始自动分析视频需要的反交错滤镜。

注意 Source is Anime 选框一定要在点击 Analyse 按钮之前选择好。MeGUI 是不能自动分析出视频源是不是动画的。

得到自动分析的滤镜后(一般得到的都是正确的),在 Filters 那边选择一个 Resize 插值滤镜。事实上我们并没有执行 Resize 操作,所以理论上可以随便选一个。 MeWiki 官方教程[1]上推荐使用 Spline36 ,这个插值法比较中性。如果你确实需要对视频进行 Resize 则需要根据具体情况来选择,选择锐化或柔和等等。

Noise Filter 是用来减少噪点的滤镜。MeWiki 推荐至少选择一个 Minimal Noise [1]:

全部设置完毕之后点击 Save ,会在目录下生成 avs 脚本:

 
请注意不要手工编辑 avs 代码来强制 Resize 到 16:9 。首先, 853×480 是一个奇数分辨率,x264 不支持;而且,由于 Mpeg2 的宏块大小是以 16×16 为单位,非16倍数的尺寸会造成某些播放器(如 iTunes)花屏。


 

 

6.2 用 x264 压制 MP4 视频

上一步完成之后 MeGUI 会打开第二个视频预览窗口。勾上下方的 Preview DAR 可以看到视频的宽长比恢复正常。不要点击其它的按钮,将这个预览窗口关闭即可。

我们回到 MeGUI 的主界面。在上方的 Video 部分,确认 AviSynth Script 中是上面生成的 avs 脚本,将 File Format 设置成 MP4,在 Encoder Settings 中选择 x264: *scratchpad* ,然后点击右面的 Config 按钮。

为什么不使用其它格式?—— MP4 是 Mpeg4(H.264) 视频的标准拓展名,被大多数播放器所支持。作为一种纯粹的视频格式,MP4 的缺点在于不能内挂多音轨和字幕文件,因此提出了几种流行的封装格式如 mkv 和 m2ts 等等,这些格式的原理是将多条音轨和字幕文件跟 MP4 视频一起封装在一个文件内,但很多移动设备并不能很好的支持它们。

现在出现了 x264 的参数设置框。x264 编码器最新版本的设置界面已经比以前发生了较多的变化,不启用高级参数编辑的情况下可设置的栏目相当简洁[6]。x264 参数是衡量压制水平的重要依据,各大压制组的大大们都有多套独门参数来应对各种视频情况,而且有时会微调压制多遍来达到最佳效果。不过这篇文章面向入门同学,采用 x264 的一些预置选项已经足够压制出很不错的效果,对于存档已经绰绰有余了。

首先是 Encoding Mode ,该设置有两个选项,第一个 Targeting File Size 指定压制比特率,第二个 Targeting Quality (即 CRF 模式)指定压制质量,这里推荐默认的第二个选项。鼠标移到右面的 Quality 参数处会弹出说明:q 越低质量越高,一般而言,q 取 19-21.5 已经可以压制出非常好的效果。

Preset 处用来指定视频的压制速度。在 Encoding Mode 为 Targeting File Size 时,更快的压制速度会导致视频的质量下降;Encoding Mode 为 Targeting Quality 时,更快的压制速度会导致视频的体积变大(但不损失质量,这就是为什么推荐这一项的原因,硬盘才值多少钱)。不急的话,可以调整到 Slow 甚至 Slower 的位置(2012-04-27 注:如为了 iTunes 上观看请勿选择 Very Slow 及更慢的选项,否则播放时可能会花屏。),如果只是为了练习则建议调快一些。

右侧的选项中,Tuning 用来指定针对哪种视频类型进行优化,请按具体情况选一个。下面的 Target Playback Device ,在电脑上播放的话建议选择 DXVA ,这样可以针对显卡加速进行优化。

如果需要用到上节提到的 SAR 则需要开启高级参数之后手工加在命令行中。照本文设置的同学可以无视。

点击 OK 和 Queue 按钮后就开始视频的压制。压制时间视机器的性能和选择的参数可能会非常长,如果是半个小时长度的东西,建议吃个下午茶再回来。完成后会在目录下生成一个没有声音的 MP4 文件,至此大部分工作都已经完成了。

 

7. 用 Muxer 组合音频和视频

最后在 Tools 下选择 Muxer > MP4 Muxer :

分别在 Video 和 Audio Input 处选择之前生成的视频、音频文件(如果音频文件也是 MP4 则不要搞错了)。然后在 Chapter 处选择之前 DVD Decrypter 生成的 OGG 章节文件。确认 Output 处的信息没有问题,点击 Queue ,这一步应该会很快完成:

现在可以播放生成的新 MP4 文件查看效果了(不准吐槽我的播放器!!):

可以从播放器看一下文件参数,注意视频尺寸,播放尺寸和原始尺寸果然是不同的:

 

 

[1] MeGUI/Basic DVD Ripping Guide. MeWiki. http://mewiki.project357.com/wiki/Guides/Basic_Guide
[2] FLAC大家一般怎么转AAC. VeryCD 社区. http://www.verycd.com/groups/itunesplus/772702.topic
[3] 你真的了解DVD画面分辨率吗? cainiao. TFcc. http://tfcc.cn/dvd/2004-8-25_15-20-25_0455.html
[4] [转载]DVD的分辨率. 我爱糯米. http://www.5inorm.com/?post=65
[5] Sample Aspect Ratio calcutions. kotrtim. Doom9’s Forum. http://forum.doom9.org/showthread.php?t=106656
[6] Megui x264 HD/SD DXVA presets gone? Whirlpool Forum. http://forums.whirlpool.net.au/archive/1415948

鱼尾Swing

国内某理工学校电子类专业85后。热爱PS,热爱WEB,对各种技术都好奇。平时看看动画,听听音乐,做爱做的事。作为工坊的工头,负责工坊的维护,操劳各种苦力工作。

More Posts - Website

Follow Me:
Twitter

24 Responses

  • 讲解的很详细 对学习MeGUI很有帮助

  • 看了你的教程,我有个问题想要请教:是这样,我把VOB文件分离后产生wav和d2v,但是就在这一步,视频预览窗口没能自动打开还弹出了这个窗口http://ww1.sinaimg.cn/large/4ead3d9etw1duylknrp9uj.jpg

    求指教

    • 首先运行一下megui的更新酱所有组件升级到最新,确认wav和d2v等文件是由megui的File Indexer生成的,将所有相关文件放在同目录下,目录路径不要含有空格等特殊字符,然后手工打开avisynth窗口载入d2v试试。

  • 音视频都设置完后选AutoEncode不是可以直接压制完成吗?

  • 因为还不够熟悉,最近几次压制都要看下

  • 在任务栏的图标中,出现一个感叹号,是不是有碍压制

  • 博主,无法回复图片链接

  • 好详细啊~!还有文献引用,感谢~!

  • […] 两年前写了一篇压制 DVDrip 的文章还挺受欢迎。如今已经到了 Blu-ray 的时代,差不多是时候补一篇压制 BDrip 的文章了。总体的流程上两者并没有什么不同,所以这里假设大家已经看过之前写的用 MeGUI 压制 DVDrip 入门,这篇文章则会补充一些 BDrip 与 DVDrip 不同的细节为主。 […]

  • 你好!无意中找到你这篇文章表示非常感谢!但是现在有个问题在开头难到我了,就是我用DVD Decrypter提取VOB文件时,显示DVD时间总长有1小时52分的,可是提取完成出来的VOB只有58分钟orz请问是什么原因呢?

    • 总时长是所有章节加起来的总和。Extract的时候只能选择里面的一个章节所以会短一些。对电影来说一般都会把片头放在一个独立的章节所以问题不大。

  • 你好!无意找到这篇文章可以帮助到我表示非常感谢!遇到了一些问题想打扰你详细请教一下,之前按照这篇文章有压制成功,但是刚才用 File Indexer 分离结束之后视频没有自动跳出来预览,并且生成avs脚本时也无法输入d2v文件,显示“AviSynth脚本错误:MPEG2Source:Could not open one of the input files.” 请问是哪里出了问题?

    • 用最新版的MeGUI试下。另外注意最好不要生成在有特殊字符的路径下面。另外文件比较大的情况下注意不要把硬盘塞满。

  • 鱼尾你好,感谢你写了这么详细的教程。我想问一个问题:我想压制的不是DVD原盘,而是一个从网上下载的DVD提取的文件——一个VIDEO_TS文件夹,里面有IFO、VOB等文件,要如何提取文件的章节信息呢?谢谢。

    • 你可以直接跳过DVD Decrypter这步,从File Indexer开始。
      另外注意那个VIDEO_TS目录必须是用DVD Decrypter解密过的,有些小白上传的时候就用Explorer打开一拷,这是不能用的。

  • 鱼尾大哥,请问这篇文章可以转载吗?

  • 你好,看了你的教程受益匪浅,成功的压制了一张dvd。但是我分离第二张dvd视频和音频后,原来三十七分的视频只有三十分,对比了一下少了最后五个章节。vob文件里,都是完整的。。。想知道有解决方法么

    • 按照文章的方法,在dvd decrypter的右面input窗口里面选中哪个章节就只会出现那个章节的内容。章节信息是dvd厂商预设的,可以互相包含也可以不包含,第一项不一定就是全盘内容。

      • 谢谢回复。唔。。但是提取的VOB打开观看也是完整的。章节我是全选上的肯定,我把vob直接拿去格式工厂随便转mp4看了一遍也是37分钟的视频。用File Indexer分离完预览就只有30分钟了,音频也只有30分钟。明天再重新用dvd decrypter导一遍再试试:'(

Leave a Reply