破解已经复制到硬盘上的DVD-video视频文件

今天从网上下了个别人分享的DVD-video,播放.vob或者.ifo文件的时候发现有乱码(没有正确解密)。通常来说,这是一个非常简单的操作——众所周知DVD的加密(Content Scramble System,简称CSS)早在1999年就已经被破解了。一般而言,只需要用DVD Decrypter之类的软件处理一遍就行了。可是这次有点烦,因为原始发布这并没有抓一个镜像文件出来,而是简单地复制了里面的文件(主要是VIDEO_TS文件夹里的内容)出来而已。我研究了半天,得出一个结论:DVD Decrypter似乎并不支持直接选择文件夹破解。

既然如此,下一步应该也不难想到:先把这些文件封装到ISO里呗!然而我试了UltraISO和ImgBurn这最常用的两个ISO制作工具,和网上推荐的Folder2ISO ,制作出来的ISO然都无法用DVD Decrypter打开,提示“Disc Not DVD”:

QQ截图20160402214233

我一时居然不知道怎么办了。去网上漫无目的地搜索,试了包括但不限于:

  • AnyDVD(收费软件,找的破解…)
  • DVDFab(收费,用的试用版)
  • Any DVD Cloner Platinum(收费,用的试用版)

等软件,一个都不好使。首先他们大多也不支持直接选择文件夹,如果用我做的镜像就也会提示各种各样的错误(或者rip出来一个照样花屏的视频出来)。

不过很幸运地,在我发在bangumi的求助帖里,有位朋友成功破解。根据他的介绍,他是用了一个叫做vobcopy的软件——只有linux版——外加libdvdcss模块破解成功的。虽然vobcopy并没有windows版,但是这是一个好的信号:至少知道这是可能的。稍加搜索libdvdcss,原来是VideoLAN(VLC播放器开发者)制作的一个开源的破解CSS的库。这个库已经被集成在VLC以及其他很多常见的开源播放器(如Mplayer,MPV)等等。我试了下,果不其然,用这些播放器(我试了:VLC、SMPlayer以及MPV)直接播放那个文件夹(和DVD Decrypter不同,大多数现代的播放器都支持直接选定一个文件夹当DVD播放)或者其中的.ifo文件都完全没有问题。但是依然没有解决我最想要的:直接无损转换出一套没有加密的文件出来——这样其他不支持libdvdcss的播放器,比如我的主力PotPlayer也能直接播放。

首先我找到的是Handbrake这款经常被推荐的软件。作为一个rip DVD的工具,这软件其实相当不错:界面整洁又简单。对于破解CSS,只需要去下载最新版的libdvdcss-2.dll,然后放到该工具的安装目录下即可(注意:网上有大笔的过时教程会让你把这个文件改名为libdvdcss.dll,这在最新的Handbrake里已经是不需要的了!)。而且确实好使——我能把那些视频成功解码了(不过注意要用文件夹模式,我选ifo或者vob转不好使)。但是,这居然叫不支持直接copy——必须要二次编码,这不是我想要的。

后来,又在reddit一个帖子看到有人推荐一款叫做MakeMKV的软件。虽然名字听上去很像是小白向(众:你自己在这问题上就是小白好吧)的,但是试了下没想到相当出色。软件可以直接打开VIDEO_TS.IFO文件,然后无损把视频、音轨、章节等等转换为一个MKV文件。而且集成了破解功能,我成功地把我的DVD-video转出来了。没有二次编码,所以质量和原始文件是一样的。

按理说到这里也该告一段落了,但是身为完美主义者仍然感觉有根刺插在心里,毕竟还是没能完美破解成和原始格式一样的文件。就在我忍不住要去虚拟机里装个linux之前,我突然发现之前用imgburn生成的是ISO+MDS。嗯等等——我刚才加载的是ISO还是MDS?因为众所周知,很多ISO直接用虚拟光驱加载是没法正常播放的(但是可以直接放里面的vob文件,具体原理我也不是很清楚),必须加载MDS才行。难道在破解的时候也有关系?于是我小心翼翼地加载了下mds文件然后一开DVD Decrypter——果然可以了:

QQ截图20160402224115.png

(DVD Decrypter智能地发现了这个disc似乎有CSS)

于是我又试了下用DVD Decrypter自带的制作MDS文件的子功能,对之前用UltraISO制作的ISO制作MDS然后加载——果然也好使。

所以……虽然我承认我是有那么一点犯二了但是DVD Decrypter你明明自带制作MDS功能干嘛不支持直接读取ISO!或者干嘛不直接支持读取文件夹!这太反直觉了好么!好吧不该对一个停止开发10年以上的软件要求太多了……

有S1网友说,之所以直接ISO不行的原因是文件体积以及虚拟光驱软件本身的问题。引用:

这其实根源在你用的虚拟光驱上
比如 Daemon,直接加载 ISO 的话,它会把小于某个阈值 (大概是 1G) 的 ISO 以 CD 方式加载,结果就是 DVD Decrypter 不认,MPC 里打开这个盘符也会提示不兼容什么的
创建 MDS 之后加载 MDS文件,就可以确保是以 DVD 方式加载

感觉有几分道理。随便试了下手头的ISO,确实符合这个规则:只不过阈值好像不是1G,我碰到了个845MiB的就不能直接播放了ISO了,必须用MDS;能播的最小的是889MiB。可能阈值是一张CD的极限容量?稍后我在官方论坛证实了这个问题的存在。随便去alternativeto搜了个替代品Virtual CloneDrive,果然就没有这样的问题。这也让我不由得自问,为什么我还在用Daemon Tools这种现在捆绑多到我都吓得不敢升级的软件?纯粹是惯性使然罢。另外,我发现AnyDVD有个小功能,在开着AnyDVD的同时,会自动修复Daemon Tools这个bug,正确加载ISO文件。

题外话,rip出来的视频有居然两个,第一个是PV本体+片尾logo+版权说明,第二个是PV本体……所以为什么会有两份啊,多浪费空间!好吧本来日本人拿DVD来放一个几百M的PV的行为已经是完全地浪费了,不用白不用。

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s