让MPC也能播放VOB文件中的DTS
以下讨论均以最新版本的暴风影音为主。5.03.24
大名鼎鼎的Media Player Classic还有不能播放的东东吗?有,我就遇到了这种情况。
我有一张测试用的歌碟,里面的歌曲有三条音轨,6声道的AC3(0x80),5声道的DTS(0x89),2声道的AC3(0x82)为伴唱。在DVD光驱中播放的时候一切正常,三条音轨都可以播放,但是用vStrip提取出其中的VOB文件之后,除了6声道的AC3音轨,MPC再也不能播放其他两条音轨了(确切的说不能选择),如果把三条音轨都分别提取出来,就只有AC3的音轨能够播放,DTS的死活不出声音。
搞了很久都是这样,我也几乎放弃了,以为是MPC不支持DTS音轨的播放,Google的结果是看到有人说只有WinDVD和PowerDVD可以软解压播放DTS,安装了这两个软件的最新版本,果然都可以播放,可是这两个都是商业软件,都不能提供源代码的,而且人家花钱买你的软件,你如果都不能播放的话,那还买你的东西干什么。于是我认为:
1.MPC暂时不支持DTS的播放(原因是我在MPC的代码中发现有一个dtsdec-0.0.1文件夹,看来像是还没有完成的DTS解码功能);
2.暂时也没有滤镜可以支持DTS的解码(但在这一点上我还是有疑问,因为在下图中FFDShow显然有DTS解码的滤镜,但是实际情况是怎么都不能出声,所以也只有怀疑了)
于是转而去研究vStrip提取DVD文件了。
转机出现在KMPlayer,另外一个功能强大的免费影音播放软件,本来看到有人吹嘘KMP的功能强大,本有些不以为然,不过抱着不妨看看的心情去下载了一个,没想到KMP竟然可以播放让我头痛的DTS音频,让我一时之间有些难以接受,本来以为MPC是理所当然的No.1,现在没想到韩国也出了这么好的软件,而且还超越了MPC(后来才知道其实KMP从功能上并没有超越MPC,这是后话,慢慢再说)。不过看到KMP有很多开发人员,我也释然了,也许他们有人专门研究了DTS解码,毕竟Gabest只是一个人啊。但是KMP并不开源,所以我无从下手研究,让我郁闷了两天。
不过当我仔细研究了KMP的功能之后,终于发现了KMP播放DTS的秘密,其实并不神秘,KMP也还是通过外挂滤镜来播放VOB文件中的DTS,而这个Splitter滤镜还是Gabest开发的,文件名为MpegSplitter.ax。