惊艳之后的震撼——实现WMV HD音频的数字输出

多媒体娱乐

编者按:微软的WMV HD影片目前是网上第二大的高清影片来源,由于它的画质优异,而且是目前唯一能提供顶级1080p规格高清影片的格式,让广大HDTV爱好者颇有惊艳的感觉。但WMV HD的多声道WMA音频不能实现数字输出,只能在电脑中进行解码,因为目前支持WMA解码的功放还很少,而且还没有播放软件能支持WMA音频的数字输出,这对于那些挑剔的HDTV迷来说未免是一种遗憾。但如果我们能把WMV HD中的多声道WMA音频替换成数字功放能够解码的AC3或DTS音频,遗憾自然就可以化成听觉上的震撼了。

一、转换5.1声道WMA为5.1声道AC3

假如我们走运,能够找到与影片相匹配的AC3或DTS文件,这一个步骤就没有必要了。否则,我们就要把影片中的5.1声道WMA音频转换成5.1声道的AC3音频,虽然音频格式转换多多少少会损害音频的质量,但由于可将音频数据输出到数字功放当中解码播放,实际效果反而得到了提升。

1.将5.1声道WMA转换成5.1声道PCM WAV

目前还没有太好的办法直接将5.1声道的WMA转换成5.1声道的AC3,所以,将WMA转换成WAV的中间步骤是不可缺少的了。所幸这一步不会对音质造成任何损害。转换可用Foobar2000来进行,首先直接将WMV文件导入到Foobar2000的播放列表当中去,然后选定它,单击鼠标右键,从弹出的菜单中选择“转换→运行转换器”,会弹出“选择文件写入器预置”对话框,从对话框中的下拉列表中选择“WAV(PCM,定点)”或“WAV(PCM,32位浮点)”,单击“确定”按钮后再选定文件输出的目录即可开始转换。转换后我们会得一个5.1声道的PCM WAV文件。

2.编码5.1声道AC3文件

接下来得将PCM WAV文件编码为AC3文件了,这里推荐使用BeSweet(下载地址:http://besweet.notrace.dk/BeSweetv1.5b30.zip),它使用的是最强的AC3编码引擎Azid,而且,它们都是免费的。不过,BeSweet是一个命令行程序,为方便操作,我们可以用它的一个图形化界面的前端程序来调用BeSweet进行AC3编码,这个程序是AC3Machine(下载地址:http://www.doom9.org/Soft21/Audio/AC3Machinev0.41.zip)。

先分别将下载来的两个压缩文件解压至某个目录当中,然后运行AC3Machine.exe文件,会出现它的操作界面(图1)。首先在操作界面的“Location”栏中定位“BeSweet.exe”文件的位置,方法很简单,单击“BeSweet.exe”后面的黄色框,然后在弹出的“打开”对话框中浏览并选定BeSweet.exe文件。接下来在“Input[AC3]”处设定PCM WAV文件的位置,在“Output[AC3]”处设定输出的AC3文件的位置。然后,我们可以在下面的“AC3 Encoding options(AC3编码选项)”栏中的下拉列表中设定输出文件的码率(Bitrate),一般选择384或448就行了,质量基本上和440Kbps的5.1声道WMA差不多。另外,还要检查一下,看看“Channels Mode(声道模式)”是不是5.1。其它的设置不用管,按默认即可。最后单击“Give me AC3!”即可开始5.1声道AC3文件的编码。

25-g7-2.jpg
图1

二、将WMV和AC3合成为MKV/AVI格式

将WMV文件合成为MKV(或AVI)格式,并不是将它的编码格式转换,而只是更换其容器格式(或称封装格式),也就相当于换个瓶子来装原来的音频和视频。虽然文件变成MKV或AVI文件,但文件中的视频编码依然是WMV,所以它的质量不会有任何改变。能将WMV视频和AC3音频放在一起的媒体容器格式主要有AVI、MKV(Matroska)和DSM(DirectShow Media)三种,其中前两种最为通用。

1.所用工具

合成中我们要用到以下一些工具软件:

(1)GraphEdit

GraphEdit是微软发布的可视化滤镜调试工具(下载地址:http://www.digital-digest.net/downloads/files/encode/graphedit011008.zip),它可以用来进行多媒体编码和格式转换。这里,我们要用它调用Matroska合成滤镜,将WMV HD的容器格式改变成MKV。

(2)Matroska Muxer

文件为MatroskaMuxer.ax(下载地址:http://umn.dl.sourceforge.net/sourceforge/guliverkli/matroskamuxer_20040816.zip),即MKV的合成滤镜,用在GraphEdit中合成MKV文件。

(3)VirtualDubMod

VirtualDubMod(下载地址:http://www.ogg.cn/software/view-software-70.html)是一个AVI、MKV文件的合成、编辑、编码软件,我们这里只要用到它的合成功能,即将AC3与MKV文件中的WMV视频合成为一个新的AVI或MKV。

将所有的软件下载好之后,将它们解压,并将MatroskaMuxer.ax文件复制到系统的System32目录下,然后从“开始”菜单中选择“运行”命令,键入并执行“regsvr32 MatroskaMuxer.ax”命令,注册该滤镜。

2.用GraphEdit将WMV转换成MKV

现在可以在GraphEdit中将WMV转换成MKV格式了。

(1)选择要使用的滤镜

运行GraphEdit,点击窗口“工具栏”中的“Open an existing media graph or media file”按钮,导入要处理的WMV文件。此时GraphEdit窗口的工作区会显示解码的流程,我们可以把其它的流程框全部删除,仅保留第一个包含了WMV文件的源滤镜方框。接下来选择工具栏中的“Insert a filter into the graph”按钮,打开滤镜选择对话框(图2,Which filters do you want to insert)。在对话框中展开“DirectShow Filters”并选择其下的“Matroska Muxer”滤镜,单击“Insert Filter”按钮,将其插入到流程当中。

25-g7-3.jpg
图2

“Matroska Muxer”是负责将音频流和视频流合成为MKV格式,但要输出,还需要一个文件写出滤镜(File writer),它负责把“Matroska Muxer”合成的结果写入到磁盘当中。这个滤镜系统自带了,同样也是在“DirectShow Filters”下选择,名称就是“File writer”,选择后会弹出 “Select an Output file for this filter use”对话框,在这里要设置输出的MKV的文件名及其保存路径。

(2)连接滤镜,设置处理步骤并输出MKV文件

现在回到GraphEdit的主窗口,在WMV源滤镜方框中的“Raw Video1”端用鼠标引出一条连线与“Matroska Muxer”的“Track1(轨道1)”端连接,然后再将“Matroska Muxer”的“Output(输出)”端与文件写出滤镜框的“In(输入)”端相连,这样就MKV文件合成的流程就设置好了。最后,点击工具栏中的“Play the graph”按钮,即开始进行MKV文件的合成。合成时软件并没有太多的反应,你只会发现硬盘灯在闪亮,闪亮停止后,“Play the graph”按钮也会重新变绿。此时,在你设置的输出位置你会发现已经完成的MKV文件。

3.用VirtualDubMod合成包含AC3音频的MKV/AVI

在VirtualDubMod主窗口(图3)中选择“File”菜单下的“Open video file”命令,导入上一步中合成好的MKV文件。接下来在“Streams(流)”菜单中选择“Stream list(流列表)”命令,会弹出“Available Streams(可用流)”对话框,接下来点击“Add”按钮,导入在第一步中编码好的5.1声道AC3文件。

25-g7-5.jpg
图3

设置完成后,从“File”菜单中选择“Save as”命令,会弹出“Save As”对话框,在文件名处为输出的文件命名,将文件的保存类型设置为AVI或MKV都可以。在对话框下部的“Video mode(视频模式)”下拉列表中选择“Direct stream copy(直接流复制)”,这样将不会对WMV视频流进行编码,而是直接复制。另外,也不要选择“Save AVI in old 1.0 format”复选框,因为AVI 1.0的大小不能超过2GB。最后,点击“保存”命令,即可将包含了WMV视频和AC3音频的AVI(或MKV)文件合成输出了。

提示:如果要将DTS音频合成到WMV中,可使用Mkvtoolnix将DTS和WMV合成为MKV。

将WMV HD中WMA音频替换成AC3虽然看起来比较复杂,只要你熟悉后,其实非常简单,也不用花太多的时间,大致相当于将WMV文件复制两三遍。花这么一点时间,能得到顶级的音频效果,当然是值得的。