昨天,花了我整整一个晚上搞定了在ION平台上的硬解字幕播放,于是赶紧记录下来作为技术资料保存,以免以后自己都忘记了!嘿嘿!首先交代一下背景,就是我有两台ION平台的I330的小机器,是用来接电视机直接播放视频的,采用的是N330的处理器,性能很弱,但是ION却自身支持硬件解码功能。不过我发现通过网络播放高清的视频的时候还是很吃力,我想找找看问题在什么地方,看有没有解决方法。
现在我们一般用的视频解码,大多数都是用的一揽子解决方案,我之前用的是国内的PureCodec,里面包含了基本所有的解码格式支持。其实国外也有类似的解码包,最有名的就是Win7Codec了,我昨天也下载了进行测试。这两种解码包都可以方便的设置硬解码功能,具体的设置方式大家也可以到网上找到。不过这并不是本文的关键,因为如果这么简单的话,我就不用折腾一个晚上了。
我发现一个问题,如果不激活字幕,这两种解码包都可以完美实现硬解码,CPU负载在15-20%的样子,但是一旦激活了字幕,CPU负载迅速增加,一般会到50-70%的样子,虽然还不到崩溃的境界,但是这并不是我们想要的结果。有人说激活字幕之后会变成软解码,貌似的确有这样的意思,那该咋办呢?
在经过很长时间的搜索和整理之后,我发现了CoreAVC这个神器,其实也是一个视频解码包,要收费的,貌似很高级,不过很容易就找到XX了,这个你懂的!经过测试后发现,用CoreAVC+VOBSUB可以实现完美的硬解解码。也就是说,CoreAVC实现视频解码,VOBSUB实现字幕显示,两者没啥关联和干扰。有一个关键就是要在CoreAVC的设置中,将Preferred Decode选项给关闭。
这让我们回到了看DVDRIP年代的最初,我们没有复合型的解码器,所以需要安装一个一个独立的解码包,一样光有CoreAVC是不够的,你还需要安装更多格式的支持,例如RealAlt 来播放RMVB文件。还有就是CoreAVC并不带音频解码,所以你需要安装一个ACFilter来进行音频的支持。当然你也可以安装FFDShow,不过我老觉得FFDShow太大而全,怕干扰到CoreAVC,所以还是用ACFilter来的简洁。
好了,现在你的解码工具就是:CoreAVC(视频)+RealALT(视频)+ACFilter(音频)+VOBSUB(字幕)。其实也没有那么复杂啦,几个工具各司其职,相互并不会干扰。最关键的是,实现了完美的硬解+字幕显示,无论是在WMP里面,还是MCE里面。要知道MCE的支持才是我大为折腾的关键,因为是要给电视机用的,否则我直接用一个射手播放器就可以搞定了。如果你还需要其他编码支持,自己上Free-Codecs去下载独立的安装包就可以了,自己动手,丰衣足食!其实,这里所介绍的流程不仅仅适合于ION平台,一样适合于其他支持Nvidia的硬件解码的硬件平台。
最终的测试结果如下,我的I330小机器,通过网络播放1080P的Avatar和X-MEN之类的片子,处理器负载都在20%左右!完美实现硬解!撒花!转圈~~~
今天总算发了一篇有一点技术含量的帖子,大家改天再见。去骑车罗!!!!
win7codec里就已经含了AC3Filter,不用另外装了。