图形处理器通用计算功能现阶段可谓红的发紫,尤其是在视频编码方面,由于消费者对其需求大同时操作简单,所以备受用户关注。而在这方面NVIDIA联合第三方软件厂商早在2008年就推出了Badaboom,去年联合国内知名暴风软件公司推出暴风转码,还有今天的主角上海瀚智信息技术有限公司推出的MediaCoder。反观对手AMD,仅是在驱动中设计了功能简单的视频转码功能。
在真正的软件性能测试之前,还是让笔者赘述一下GPU通用计算,尤其是在视频编码上的简史。
随着显卡核心的统一架构的确立,高密度复杂并行计算逐渐从CPU中剥离,GPU则成为主角,虽然当前全球的HPC依然以CPU为主计算物理设备,不过随着GPU通用计算技术的逐渐成熟,全球百强HPC中出现了以GPU(显卡)为物理计算设备的产品。
不过HPC似乎离我们太远了,而以CPU为主架构的HPC更是遥不可及。反之,以GPU为主架构的HPC被越来越多的科研单位接收,同时由于成本低廉、性能强的特点,个人用户也可以拥有了HPC。当然GPU这种通用计算优势虽然在HPC领域大放异彩,但是对于普通老百姓来说“它”还是离我们太远。好在NVIDIA和AMD都看到了这些,虽然HPC领域利润秀色可餐,不过要想普及还得从民用功能入手。
用户最早接触的GPU民用通用计算当属Folding@HOME,当时还是ATI率先支持GPU计算蛋白质折叠,不过那时的GPU还并非通用架构,虽然GPU的并行计算能力已经初露锋芒,但还是昙花一现。随后NVIDIA率先推出了第一代DirectX 10统一架构产品,随着G80产品的出现、随着CUDA架构概念的出现,确立了NVIDIA在GPU通用计算上地位。
在现代GPU通用计算上,用户接触最多的莫过于视频编辑。例如NVIDIA首推的Badaboom视频编辑软件,让世人体验到了数十倍快于早期CPU编码的速度,同时节约了用户时间。随后AMD为了不被竞争对手拉开差距,在驱动中加入了视频编码功能,同时推出Stream(AMD图形核心通用计算)概念。
不过Badaboom和AMD驱动视频编码功能之间的对决,仅是AMD和NVIDIA小试牛刀。尝到CUDA架构和GPU通用计算甜头的NVIDIA,更是在软件、硬件上疯狂发展,不得不说在这方便AMD确实落在了后面:
硬件方面:例如NVIDIA硬件上GeForce、Quadro均支持GPU通用计算,而且NVIDIA还针对GPU通用计算推出了Tesla系列;虽然AMD的Radeon和FireStream拥有同样的使命,但是在时间发布点、应用范畴及配套软件上不及NVIDIA。
软件方面:在视频编码软件方面NVIDIA有Badaboom、暴风转码、MediaCoder;而AMD方面仅在驱动中加入了视频编码功能,虽然在相同设定下编码时间较短,但是在编码后视频画质上并不理想。
| 软件性质 | 软件界面 | 易用性 | 功能 | 编码画质 | |
| AMD视频编码软件 | |||||
| CCC-基本模式 | 免费 | 简单 | 易 | 简单 | 中 |
| 软件包含在CCC控制面板中的基本模式下,软件整体设计简单,预设了几组常规视频设置。操作简单,不过转码后画质有马赛克现象。 | |||||
| NVIDIA视频编码软件 | |||||
| Badaboom | 19.9美元 | 美观 | 易 | 中 | 优 |
| 首款基于NVIDIA GPU并行计算的视频编码软件,软件画面设计美观、交互性强,同时操作简单。软件预设了时下主流的便携移动设备的视频设置,例如iPhone、PSP等。转码效果理想。不过该软件为收费软件,19.9美元的价格估计让很多消费者望而却步。 | |||||
| 暴风转码 | 免费 | 中 | 易 | 中 | 优 |
| NVIDIA联合国内软件设计公司基于CUDA打造的首款视频编码软件,最大特色是免费。其操作简单、界面简洁,能够将独立字幕和视频同时编码压缩。批处理功能非常实用,同时其也预设了很多便携设备视频设置,不过其更针对手机视频,主流品牌及型号的手机视频模式都被预设。不过在视频批处理偶有软件假死和视频不编码的现象,期待后续版本解决。 | |||||
| MediaCoder完整版 | 免费 | 复杂 | 难 | 丰富 | 优 |
| NVIDIA联合国内软件设计公司,在原有软件基础上加入对CUDA的支持。该软件较为专业,能够满足普通用户的所有视频编码需求。不过由于功能十分丰富,导致设置参数多、操作性复杂,推荐有一定视频编码知识的用户使用。 | |||||
| MediaCoder NT CUDA加速版 | 免费 | 美观 | 易 | 中 | 优 |
| 从命名中不难看出,该软件是CUDA专版设计。所以无论软件界面、还是功能设定上都有了针对的设计及优化。该专版类似于Badaboom,界面、功能、操作性十分相近,不过值得一提的是该款软件为免费。 | |||||
基于CUDA 视频编码软件大集合
通过前文简述,让读者大致了解了目前图形核心在通用并行计算的前途,还有主要在消费级用户上有针对性设计的几款视频编码软件。通过前文软件介绍表格,想必很多读者对上述几款软件有了初步的认识,不过笔者需要着重介绍的是MediaCoder这款软件:
首先,MediaCoder这款软件是目前消费级视频转码工具中功能最为全面的,通过上图我们能够看到,软件可以针对视频、音频、编码器、画质等等一系列准专业功能应有尽有,用户可以通过调节得到自己满意的设定,提供了最大视频编码兼容性。
其次,这款MediaCoder后期加入了对NVIDIA CUDA的支持,在上图中我们能够看到视频设置选项中,右侧的复选功能模块有CUDA标识。软件强大的功能,配合NVIDIA CUDA高效、先进、快速的硬件性能,可谓如虎添翼。
其次,笔者不得不承认MediaCoder的功能强大,但也必须承认的是软件复杂的设置选项会让很多普通用户头疼。通过NVIDIA与MediaCoder软件设计团队的通力协调、合作,设计了上面这款MediaCoder NT CUDA加速版软件,这款软件通过上图能够看到,它省去了繁杂的设置,转而是针对主流便携式移动设备的预设方案,当然软件为了增加兼容性,还是提供了一些可调选项。不过不管怎么说,这个版本已经是非常亲民的设计了。
● MediaCoder大家族简介
如果你认为MediaCoder仅有前文笔者介绍的MediaCoder完整版和MediaCoder NT CUDA加速版,那你就大错特错了。上海瀚智信息技术有限公司不仅针对准专业用户设计了MediaCoder完整版,还针对不同需求的用户设计很多特制版,详细如下:
| MediaCoder全版本介绍 | ||
| MediaCoder 完整版 | 如果您需要根据自己的需要自由地转换视频以及音频文件,截取并转换CD/VCD/DVD的内容,调整所有编码器高级参数,完全版是您的选择。 | 下载 |
| MediaCoder 音频版 | 此版本适合转换音频文件,如果您想将您现有的音频或视频文件转换为MP3、AAC、WAV等音频文件,或您需要截取转换CD以及VCD/DVD的音轨,请下载此版本。 | 下载 |
| MediaCoder 移动影音设备版 | 针对不同的移动影音设备,我们提供了几个特别定制的MediaCoder设备专用版,您可以轻松地将您的影音文件转换为您的设备可以播放的格式。 | 下载 |
| MediaCoder KTV专业版 | 对于需要大批量转换KTV视频,尤其是需要同时处理伴音、合并双音轨的用户,此版本就是为专门您的需求所定制的。 | 下载 |
| MediaCoder NT | MediaCoder NT是一个全新的自动化大批量转码软件。相比MediaCoder,它的界面更友好,操作流程更清晰明了,具备了诸多批量自动化特性,特别适合需要完成大量日常转码工作的用户。 | 下载 |
| MediaCoder NT CUDA加速版 | MediaCoder NT CUDA加速版是一款运用CUDA技术加速移动设备视频转换的免费软件。 | 下载 |
软件涵盖齐全,完整版通吃所有用户需求,音频版针对音乐达人设计,移动影音设备版顾名思义就是针对不同的便携设备而设计,KTV专业版则是针对批量KTV视频而定制。最后的MediaCoder NT和MediaCoder NT CUDA加速版,则使用更友好的界面,为移动设备和批处理文件设计。
在上面介绍的6类MediaCoder软件中MediaCoder影音设备专用版还分有4个不同子版本,虽然它们不是本文的主角,但是这样的软件细分用户设计,充分体现MediaCoder软件设计团队的用心良苦。
简单两步走 视频编码如此简单
● MediaCoder NT CUDA加速版软件简介
前文光看笔者说MediaCoder NT CUDA加速版软件简单易用,那么它究竟有多简单易用?界面有多友好?下面就让笔者对其进行一个简单介绍,不过笔者认为如果你下载方便不妨安装一个,保证你对它信手拈来。虽然笔者还是认为这样的软件介绍略有多余,但还是……
软件主要分为上下两个区域,上半部分为预设视频预设方案,我们看到Apple最新发布的便携利器iPad也已经被预设好,自然传统的PSP和手机等更不在话下。下半区域为转码功能区,在首页里该区域主要功能是转码任务显示区,能够添加视频、转码视频及完成情况监控等。
转码设置页面,用户在选择设备预设后还可以在本选项页中微调转码设置,例如转码后视频分辨率、清晰度、码率及音频设置等。这里主要是针对相同设备不同画质、音质需求用户而开发的个性化设置页面。
最后的系统信息页,主要显示平台的处理器信息和显卡信息,因为二者是影响视频编码性能的最直接硬件。笔者的平台CPU为Intel Core i7 975,显卡为时下热门的GeForce GTX 460。
在编码完一个视频后,可以查看视频在转码前后的视频信息对比,方便用户了解编码视频前后差异。
● 本是同根生 相煎何太急
作为基于CUDA的视频编辑软件鼻祖Badaboom,它的唯一缺点就是正式版需要话19.9美元购买,在如今暴风转码和前文介绍的MediaCoder NT CUDA加速版均为免费软件面前,提供相同功能、性能前提下其竞争力不强。
正如本节标题所示“本是同根生 相煎何太急”,Badaboom的主要用户是国外用户群体,而符合国情的国产软件暴风转码和MediaCoder NT CUDA加速版自然在国内会有极大作为。不过不管怎样,此类基于CUDA的视频编辑软件越来越多,同时愈加受到用户的青睐,与此同时AMD方面依然没有实力相当的“作品”抗衡,所以无论用户选择前面所说的哪款软件,都离不开NVIDIA的身影。
测试平台硬件及软件搭配介绍
● 测试系统硬件环境
| 测 试 平 台 硬 件 | |
| 中央处理器 | Intel Core i7-975 Extreme Edition |
| | |
| 散热器 | Thermalright Ultra-120 eXtreme |
| | |
| 内存模组 | Apacer PC3-12800 猎豹套装 2GB*2 |
| (SPD:1600 8-8-8-24-2T) | |
| 主板 | ASUS P6T Deluxe |
| (Intel X58 + ICH10R Chipset) | |
| 显示卡 | |
| NVIDIA 产 品 | |
| GeForce GTX 460 1024MB | |
| (GF104 / 1024MB / 核心:675MHz / Shader:1350Mhz 显存:3600 Mhz) | |
| GeForce GTX 460 768MB | |
| (GF104 / 768MB / 核心:675MHz / Shader:1350Mhz 显存:3600 Mhz) | |
| GeForce GTX 465 | |
| (GF100 / 1024MB / 核心:607MHz / Shader:1215Mhz 显存:3208 Mhz) | |
| GeForce GTX 260 | |
| (G200 / 896MB / 核心:576MHz / Shader:1242Mhz 显存:1998 Mhz) | |
| 硬盘 | Hitachi 1T |
| (1TB / 7200RPM / 16M | |
| 电源供应器 | AcBel R8 ATX-700CA-AB8FB |
| (ATX12V 2.0 / 700W) | |
| 显示器 | DELL UltraSharp 3008WFP |
| (30英寸LCD / 2560*1600分辨率 | |
我们的硬件评测使用的内存模组由宇瞻(Apacer)中国区总代理佳明国际提供,电源供应器、CPU散热器由华硕(ASUS)玩家国度官方店、利民(Thermalright)的北京总代理,COOLIFE玩家国度俱乐部提供。
2560*1600_32bit 60Hz 小试牛刀 新老N显卡入门测试 ● 小试牛刀 新老GeForce显卡入门测试 本环节笔者选取了时下火爆的GeForce产品——GeForce GTX 460作为参考对象,测试中1024MB和768MB两个版本都会进行测试,同时GeForce GTX 465和GeForce GTX 260也作为对比参考产品。 MediaCoder NT CUDA加速版测试 在本章节测试中,两款GeForce GTX 460和GeForce GTX 465获得相同的20秒成绩,而GeForce GTX 260以21秒成绩垫底。虽然仅有1秒之差,不过在实际视频编码过程中体积更大、编码复杂度更高的应用下N个1秒的差距就会变成几分钟、十几分钟的差距,而在大量批处理视频中也许会有个更明显的差距。不过总体来说,基于CUDA开发的视频编码想必传统CPU编码要快数倍,解决了大量且宝贵的用户时间。 同时通过Media Coder NT for CUDA软件系统信息识别到GeForce GTX 460支持的CUDA版本为2.1,GeForce GTX 465支持的CUDA版本为2.0,GeForce GTX 260支持的CUDA版本为1.3。 初级测试-1080P H.264转码720P 苹果公司推出的产品总是被众多的消费者追捧,其最新力作iPad亦是如此,虽然其在发布前饱受争议,但当发布后的大卖彻底打破了竞争对手和持怀疑态度的偏见。当然本环节并不是要对iPad做一个产品测试,我们是要针对其做高清视频转码工作,首先我们针对其做一个720P高清视频。 视频源文件为《X战警III》的1080P/H.264作为基础,节选出1.667GB的高码流片段,然后用MediaCoder完整版和MediaCoder NT CUDA加速版做同样设置转码工作。自然AMD产品运行MediaCoder完整版,而NVIDIA产品运行在专属的CUDA加速版下。 ● MediaCoder NT CUDA加速版设置 ● 测试成绩解析 测试结果显而易见,基于CUDA架构的GeForce系列产品在编码能力上要优于AMD产品。优于AMD产品不是CUDA架构,所以MediaCoder完整版软件自动采用CPU编码,所以在AMD显卡平台上,显卡不会影响转码时间,主要看CPU的性能。 在720P转码上,N卡的三款产品性能略有差距但是不大。 初级测试-1080P H.264转码576P 我们知道iPad的分辨率为1024*768,虽然其能够播放720P视频文件,但是无法全尺寸播放。在MediaCoder软件中预置了576P转码设置,即1024*576的分辨率设置。 优于我们本环节和上一环节均是采用MediaCoder iPad较高质量的预设模式,所以二者的参数设定,除了分辨率之外没有区别,所以下面的软件设置图笔者仍选用了720P的截图,当然测试中分辨率为1024*576。 ● MediaCoder NT CUDA加速版设置 ● 测试成绩解析 虽然画质、音频设定上与720P的设定保持一致,但是随着分辨率的缩小,整体转码时间有了一定变化。分辨率从1280*720(720P)变为1024*576(576P)后,时间缩短了30%左右。 整体数据分析来看,基于CUDA架构的GeForce产品还是优于A卡。 初级测试-1080P H.264转码480*320 现在除了iPad火外,苹果的iPhone4也是火的一塌糊涂,不过本环节的测试不是针对iPhone4的视频分辨率规格,而是iPhone上一代产品iPhone 3GS,该款手机的分辨率为320*480。所以本环节我们以iPhone 3GS这款手机为代表,测试视频转码480*320分辨率视频。 转码视频源文件依然是《X战警III》H.264格式的1080P节选。 ● MediaCoder NT CUDA加速版设置 ● MediaCoder完整版设置 ● 测试成绩解析 在480*320分辨率的转码测试中,基于CUDA优化的MediaCoder NT CUDA加速版自然在完成时间上优于A卡。 软件在iPhone 3GS和iPad的预设上,除了分辨率的区别外,例如码流、音频采样等都做了相应的下调,毕竟小型便携移动设备更注重文件体积大小,这些设定的改变都大幅提升了转码时间。 GPU硬件加速 CPU用处有多大 我们知道在视频编码过程中GPU的加入,确实大幅增加了编码转换效率和解放CPU资源。不过GPU的加入究竟能够给CPU带来多大解放呢?本环节我们将针对这一问题进行测试。 首先,笔者需要的说的是本环节测试仅针对MediaCoder系列软件;其次,由于MediaCoder并不支持AMD的Stream技术,所以A卡平台所有测试可以看做是CPU的编码过程。 通过实际测试和观察在MediaCoder NT CUDA加速版表吗过程中,无论GeForce GTX 480/470/460、无论测试中的三种任何编码设定,CPU的使用率基本保持一致,均为15%-20%之间浮动。而且值得注意的是,MediaCoder NT CUDA加速版仅支持4线程,笔者的Intel Core i7 975理论上是4核8线程,但在任务管理器监控来看,仅有4个线程在工作。 MediaCoder 完整版支持最多16核的CPU 反观在MediaCoder完整版中,其能够最多支持16核的CPU(软件中可见16个核心开关),所以在A卡平台测试中(实际为CPU编码)可以将Core i7 975所有核心都利用上。在720P和576P这类高设定视频编码中,CPU的使用率达到100%;而在4808320,同时视频画质较低的编码过程中CPU使用率降到了75%左右。 在CPU占用率上采用CUDA架构的N卡可以在MeidCoder NT CUDA版上节省大量的CPU资源,同时由于GPU的编码介入,所以软件设计最多仅使用4线程。反观完整版,为了确保各种平台下的最快完成视频编码,所以CPU资源是根据视频编码设定和GPU来决定,如果使用A卡同时画质设定又高,100%的CPU资源占用率将摆在你面前。 鸡蛋挑骨头 转码文件体积对比 用户对转码软件关注的几个重要因素有,转码效率(时间)、转码画质(由于测试均为MediaCoder所以本文不做对比)、转码操作性及转码文件体积,本环节针对转码后视频文件体积做一个小对比。 通过实际转码后文件体积对比,720P和576P在两套方案的基本差不多。通过文件属性详细查看,以720P为例N卡平台转码后文件为241712794字节,而A卡平台转码后文件为242154920,还是有些许差别,不过在现在便携设备超大存储量上,这些差别基本可以忽略不计。而在480*320分辨率的对比上,有约2MB的差别。 笔者认为,此处的文件体积差别首先是不同版本MediaCoder造成,其次最重要的是由于设置导致最终文件体积的差别,因为MediaCoder NT CUDA 加速版的设置仅有主要的几项,所以无法微调至与MediaCoder完整版一模一样。 ● 编者观点 图形核心的通用并行计算能力越来越被重视,无论是从软件开发者角度还是用户角度,它能够为我们提供更快、更强、更高效的计算服务,同时其衍生出来的附属功能也会带来更激进的急速体验。 现阶段,除了前文介绍的视频编码软件CyberLink推出的MediaShow转码软件同时支持CUDA和Stream技术,不过这款软件虽然带来了更高的兼容性但是转码效率相对较低。但是笔者MediaShow将是未来转码软件的发展趋势,更大的兼容性将会获得更多的软件使用者拥护。 当前微软在DirectX 11中加入了DirectCompuite Shader,业界标准组织Khronos推出了OpenCL,NVIDIA推出了CUDA,AMD推出了Stream,虽然各家的名称不同但实质核心均为图形核心通用并行计算。而在这点上,无疑目前NVIDIA走在了最前沿,例如本文介绍的视频编码软件MediaCoder,当然还有很多其他软件,例如NVIDIA和Adobe在CS5中的合作,例如在视频编辑上的vReal,与CyberLink合作的PowerDirector等,这种与软件业霸主领军品牌的深入合作,充分印证了NVIDIA CUDA架构的实力。
操 作 系 统 及 驱 动 操作系统 Microsoft Windows 7 Ultimate RTM (中文版 / 版本号7600) 主板芯片组
驱动Intel Chipset Device Software for Win7 (WHQL / 版本号 9.1.1.1125) 显卡驱动 NVIDIA Forceware for GTX460 (WHQL / 版本号 258.96)
测 试 平 台 软 件 GPU通用计算 Media Coder NT CUDA加速版 上海瀚智信息技术有限公司 / 版本号 1.02
GeForce GTX 460 1024MB 20秒 GeForce GTX 460 768MB 20秒 GeForce GTX 465 1024MB 20秒 GeForce GTX 260 896MB 21秒