|
2008-2009年间,3D图形领域最出风头的既不是各类华丽的DX10游戏,也不是性价比越来越高的DX10新显卡,而是NVIDIA的CUDA并行计算技术,它将专注3D渲染的GPU推向了通用计算领域,以更小的成本获得了更高的性能,原本风马牛不相及的CPU和GPU开始了正面交锋。 目前CUDA在民用领域的主要用途就是视频编码,而CUDA的代表作显然就是Badaboom这款视频转码软件,相信经常关注显卡的朋友一定不会陌生,它是NVIDIA与国外一软件公司联合开发的作品,最大限度的调动了GPU的资源。根据我们之前的测试来看,9800GT级别的中端显卡就能轻易击败当时的最强四核QX9770,GPU视频编码的实力可见一斑!
作为一款新兴软件,Badaboom的版本更新很频繁,视频支持的格式、兼容性、转换效率都在不断的改进,近期发布的1.2版本更是加入了对中文的支持。但是这款老外开发的软件明显不适合中国国情,很多缺点导致该软件并不实用,笔者以及周围的朋友都是深有感触:Badaboom只能拿来玩玩,试试看GPU转码到底能有多强,真正靠谱的还是成熟的CPU转码,为什么这么说呢?
Badaboom的界面虽然支持中文了(面子工程),但却不支持中文目录和文件名(很搞笑),每次转换视频都得手动改名并指定目录;
Badaboom的兼容性还是不行,网络最流行的RMVB、AVI、WMV等视频都不支持,只支持DVD、蓝光、TS等标准封装规格的视频;
Badaboom不支持将字幕压进视频里面,非中文影片转换后根本没法看,因为大多数手持设备都不能外挂字幕;
只支持输出MP4这一种封装格式,应用范围有限。
至于软件功能简单、不支持批量等等这些鸡毛蒜皮的小事就不提了,这跟软件的定位人群有关。但以上四大致命问题导致Badaboom只是看上去很美、很快,其实一点都不实用,根本不适合中国用户使用。
Badaboom的局限性这么大,导致它只适合做评测用,没什么实际意义。作为用户来说,CUDA技术有多强悍并不重要,最重要的是它能带来什么样的好处,在媒体铺天盖地的宣传CUDA优势之时,最终用户还是只能用CPU转换视频,不能不说是一种悲哀。
终于,我们盼来了国内首款支持CUDA的视频转码软件,完全开源并且永久免费的MediaCoder在最新版本当中加入了CUDA编码器。此前MediaCoder所有编码器都是依靠CPU运算,现在能够与时俱进率先加入GPU加速支持,的确难能可贵,引用MediaCoder开发人员的话说就是:
“近两年NVIDIA的CUDA技术似乎成为业界新宠,其优良的科学运算加速能力确实首屈一指,引领着并行运算潮流,各行业都纷纷采用它来加速,搞得我们也跃跃欲试,呵呵,另外还有很多网友对MediaCoder的厚爱,希望在MC上体验一下CUDA加速的快感,于是我们决定了用CUDA加速MediaCoder转码。
年初我们几个开发人员就开始酝酿着采用CUDA加速H.264编码,毕竟H.264现在比较火,还是比较有前途。经过一段时间的紧张的开发,CUDA加速的H.264编码器终于诞生,让性能卓越的MediaCoder又添一利器。”
笔者一直都是MediaCoder软件的忠实用户,该软件由于对多核CPU优化支持非常到位,因此我们经常用它进行CPU视频编码测试,也常用它给iPhone(手机上网)转视频看。现在它率先支持CUDA,笔者自然要对其进行深入测试,从兼容性、易用性、速度等各方面考察,与CUDA的代表作Badaboom进行全面对比!
或许很多人还没用过MediaCoder这款软件,下面就先对它进行简要介绍:
MediaCoder是一个免费的通用音频/视频批量转码工具,它将众多来自开源社区的优秀音频视频编解码器和工具整合为一个通用的解决方案,可以将音频、视频文件在各种格式之间进行转换。MediaCoder具备一个可扩展的架构和丰富的功能,可满足各种场合下的转码需求。目前,MediaCoder的用户已经遍布全世界170多个国家。
通俗一点的说:玩高清的朋友一定用过终极解码或者完美解码吧,终极解码就是整合了一大堆播放器和解码器的视频播放软件,而MediaCoder就是整合了一大堆编码器和插件的视频转码软件。功能大而全、灵活性高、开源、免费是这类软件的共性,如果要为MediaCoder起个中文名称的话,笔者认为“终极转码”或者“完美转码”都不错^_^。
● MediaCoder功能简介:
实现各种音频视频格式间的相互转换
丰富的可调整的编码参数
丰富的视频处理滤镜,包括反交错、裁剪、分辨率调整、亮度色彩调整等
丰富的音频处理滤镜,包括声道映射、重采样、音量调整等
● MediaCoder主要特点:
基于优秀的众多的开源编解码后台,能够解码和编码的格式多
良好的多线程设计,为多核处理器优化(PCPOP评),在四核上可达到90%以上的平均CPU使用率
极为丰富的可调整的编码参数
全部编解码器自带,不依赖于系统的编解码器和任何组件
良好的可扩展的程序架构,快速适应新的需求,不断增加新的格式的支持
可用脚本语言扩展界面,支持众多影音设备
● MediaCoder支持格式:
MP3, Vorbis, AAC, AAC+/HE-AAC, AAC+v2/HE-AAC v2, MusePack, Speex, AMR, WMA, RealAudio, mp3PRO*
FLAC, WavPack, Monkey"s Audio, OptimFrog, AAC Lossless, TTA, WAV/PCM, Waveform
H.264, XviD, DivX, MPEG 1/2/4, Theora, Flash Video, Dirac, 3ivx*, RealVideo*, Windows Media Video
AVI, MPEG/VOB, Matroska, MP4, PMP, RealMedia*, ASF, Quicktime*, OGM*
CD, DVD, VCD, SVCD, CUESheet*, HTTP*, FTP*, RTSP*, UDP*
● MediaCoder最新更新:
0.7.1.4450版(大幅提升四核处理器性能)
* [更新] MediaCoder build 4450
[修正] Xvid编码器在多核处理器上的性能问题
[更新] 多线程解码,提高多核处理器的总体转码性能
* [更新] x264 r1165
* [更新] MPlayer/MEncoder r29319
* [更新] FFmpeg r19159
* [更新] MediaInfo 0.7.17
* [新增] xvidcore 64位编码器 (需安装x64更新包)
0.7.1.4430(支持CUDA H.264编码器及分辨率转换)
* [更新] MediaCoder build 4430
[新增] CUDA加速的H.264编码
[新增] CUDA加速的分辨率转换
[新增] 视频数据缓冲大小调整选项
[修正] 视频宽高比的问题
[修正] 其它一些小问题
* [新增] CUDA H.264编码器
* [新增] CUDA视频过滤器(目前只实现了分辨率转换)
* [更新] x264 r1163
* [更新] MediaInfo 0.7.16
● MediaCoder 0.7.1.4450最新版下载链接:
官方网站
32bit原版:6月22日最新版
64bit补丁:64bit系统用户打此补丁,1080p转码时速度会有提升
注意事项:最新的4450版本当中去掉了CUDA编码器,等待NVIDIA颁发CUDA授权认证,未来一周内将会正式放出完整的CUDA版本,请大家耐心等待。
本次测试在笔者自用电脑上进行,平时除了工作游戏外也经常转视频,家用机为i7 920超频4GHz,工作机为E8400保持默认3GHz,显卡随时更换以测试CUDA转码时的差异。
● 测试系统配置: 4核8线程的Core i7超至4GHz后,可以说是当前压片的神器了,相信网络上很多Remux和MKV的片子都是由Core 2 Quad或Core i7压制所得。那么有了GPU CUDA技术助阵后,压片速度能否更快呢?
目前CUDA还不支持SLI及多GPU技术,因此显卡选择了单核最强的GTX285,另外还加入了中低端最热门的9800GT、9600GT和9500GT做对比,看看不同规格的GPU对性能转码性能影响有多大。
● 测试软件设置:
Badaboom为最新的1.2.0.85中文特别版,转换时设置为内置的iPhone方案,输出码率为默认的1500kbps,实际视频码率是1436kbps。
MediaCoder为目前最新的0.7.1.4450版,并打上X64补丁。为了与Badaboom公平对比,输出视频码率手动设定为1436kbps。编码器选择CUDAEncoder表示开启CUDA编码,选中“编码器画面处理”可以让GPU取代CPU进行滤波处理,进一步提升转码速度。
将编码器换为X264就能禁用GPU编码,完全使用普通的CPU编码,这样就能直接对比CUDA编码器与X264编码器的转换效率,看看性能提升幅度到底有多大。
一切准备就绪,PK正式开始
笔者平时最常做的视频转码应用,就是把各类DVD级或者720p级影片转成iPhone能放的分辨率,所以今天的测试就从720p转270p开始,测试影片为2009年7月即将上映的灾难巨片《2012》的预告片,标准的H.264编码Mov格式,Badaboom可以很好的支持它,至于MediaCoder则完全不用担心兼容问题。
笔者平时都是吧i7 920从默认的2.66GHz超至4GHz使用,所以本次测试就分为超频和不超频两种模式,顺便可以看看CPU超频与否对转码速度有无影响。
第一回合:转码速度对比
以下实测截图从左到右依次为:MediaCoder CUDA、MediaCoder X264、Badaboom CUDA,可点击放大,没兴趣就别点了,只看后面的柱状图即可。
![]()
i7 920 @ 2.66GHz时的结果 ![]()
i7 920 @ 4GHz时的结果 测试结果一目了然,三种编码方案中,Badaboom的速度是最慢的,即便是单核最强的GTX285,其速度也跟i7 920差很多,i7 920超频之后的性能更是达到Badaboom的两倍以上!
但在MediaCoder里面开启CUDA加速后,编码速度更上一层楼,性能提升达60%,看来只有CPU和GPU强强联手才能达到顶级性能,任何一方特立独行都不会有太好的表现。
i7超频后,Badaboom的速度没有任何变化,这就证明了Badaboom是主要依靠GPU编码的软件。而MediaCoder不论CPU编码还是GPU编码,性能都同比提升了45%左右,看来MediaCoder依然是主要依靠CPU进行编码,GPU作为辅助,接管了最复杂的一部分算法,从而一定程度上消除了瓶颈,大幅提升性能。
在超频状态,MediaCoder开启CUDA后的速度是Badaboom的3.5倍! |
|