服务器端GPU自动批量转码方案及评测

发布时间:2019-10-20 17:16:43
云转码最新版地址下载:http://www.yunzhuanma.com/anzhuang/2019-10-20/192.html

 CPU转码的痛点

 受不了一堆队列任务等待转码中,客户老是问我,我那个3个G的视频转了半天怎么还没完啊,怎么才能让转码快点呢?我只能告诉他升级CPU,客户说已经是e5的cpu了,再高成本就上去很多了。

的确使用高端的cpu转码,动不动几千上万一个月的服务器租用成本是个大问题,一年下来一台服务器就接近十来万,上十来台服务器一年小百万就没有了。赚的钱都给机房了,还搞毛啊!

为什么以前不做GPU转码

GPU一直是唯一的快速转码备用方案,但为什么我们迟迟没有推出,有很多原因。

首先,GPU转码的画质处理效果的确不是很好,同等码率的情况下,CPU的画质处理比GPU处理效果好。在几年前,GPU转码还是高码率低画质,带来的后果就是画质低还占硬盘和宽带,实际上得不偿失。

其次,机房的刀片机器很难插进普通的显卡,我们测试的NVIDIA teslap4算得上是一款专为服务器定做的转码显卡,占地小,可以插进刀片服务器,但是价格偏贵,自己可以百度价格。

基于以上两个原因,所以一直没有实施GPU转码方案。

为什么现在要做?

首先是客户的强烈需求,特别感谢定做的客户给我们提供了开发的动力和资金支持,如果没有定做的客户,我们可能还是处于观望状态。

其次是硬件市场的日趋成熟,随着GPU显卡的价格的逐步走低中小企业购买显卡转码的可能性越来越大,机房配置显卡的可能性也在逐步提升,并且家用显卡通过转接头也可以插在服务器上面使用,价格不再是问题。

GPU发展到如今,GPU的转码画质虽有大幅提升,实测在2000码率以上不管转码速度还是压缩率GPU完胜CPU,相信在以后的将来低码率情况下也会无限接近CPU转码效果。

最后最重要的是,作为一款全球火爆应用最广泛的点播系统,如果不走在科技的前沿,是不是会被客户看低我们的实力,就算做了不赚钱,也不能失领头羊的身份,不管是否有大量客户需要,至少我们要给有需求的客户准备好这个环境。

所以,把不可能变成可能,只是需要时间来改变。

一切皆有可能!

显卡的最佳选择

言归正传,说点干货。

目前做的显卡转码,只做了NVIDIA这个公司的产品,为什么要选择他,是因为他的技术相对成熟,看过不同的测评,对NVIDIA显卡转码的评价略高于AMD和INTER,另外就是开发环境的成熟度,让我们选择了他,如果你有其他品牌显卡的需求,也可联系我们定做,费用低廉,服务满意。

NVIDIA支持的型号参考官网:https://developer.nvidia.com/cuda-gpus

从NVIDIA官网可以看出,支持GPU转码的有服务器显卡和家用显卡,但是服务器显卡的价格动不动上万的价格,实在是没兴趣,我们的重点是节省成本,所以主推家用显卡系列,经测试,最低端的gtx1060显卡即可支持gpu转码,价格在1000块钱左右,最高推荐GTX2060,价格在2000多,性能强悍,再往上的2080价格在10000左右,性能相当,就不作推荐了。

所以综合来看,在1000-3000块钱之间的所有显卡都可以适配我们软件来进行GPU转码,但是他的效率却是CPU的几倍,实测1G视频文件,按2000-4000码率的输出只需5分钟即可转码完成,这效率是e5 e7系列cpu都不可比拟的。

在使用家用显卡的时候,我们推荐使用win10系统,因为家用显卡的定位就是家庭系统用户,服务器系统的兼容性到底如何,我们就不用花时间去考证了,毕竟不管什么系统,能快速解决问题才是关键。

驱动安装

NVIDIA显卡驱动安装官网下载地址:https://www.nvidia.com/Download/index.aspx?lang=en-us

如果你是linux服务器,需安装以下驱动,截图测试的是tesla p4、Tesla p100,其他型号自测。

 系统选择.png

windows为例:注意tesla系列CUDA版本一定选择9.0,语言选择中文简体,其他版本能否使用不详。如果是家用显卡,可安装官网对应型号安装驱动。

NVIDIA显卡驱动.png

linux驱动已经为您搭配好了最适应的驱动程序,可直接使用远程一键安装:http://install.云转码.com,注意Linux系统一定选择centos7.x,实测7.6有效,其他版本不详。

软件的GPU转码设置:

GPU<a href=http://www.baidu.com/s?wd=网站视频转码软件 target=_blank class=infotextkey>转码</a>设置.png

首先你要让软件和授权类型支持GPU转码,升级软件和授权码以后,在系统设置-转码设置,选择转码核心-GPU转码,保存即可。上传一个视频就可以体验一下GPU嗖嗖的速度了。

基于低于2000码率GPU转码画质低,文件大的实际情况,我们增加了智能切换功能,该功能是在有GPU授权的情况下,指定一个临界值,让低于该码率的输出视频用CPU转码,高于该码率的输出视频用GPU转码。建议设置2000,可根据实际情况修改。

NVIDIA GPU转码实测效果:

测试的配置:阿里云主机,CPU e5 虚拟双核  GPU tesla p100(算力6.0)

测试文件一:大小1G,时长43分钟,同时输出700|1400|2400|3000四种码率对应640:-1|720:-1|1080:-1|1920:-1四种分辨率,转码时间为十五分钟完成。

测试文件二:大小1.67G,时长1小时21分,设置原画输出(0码率输出,0分辨率),转码时间5分钟。

实测家用显卡比服务器专用显卡性能差不了多少,所以强烈推荐使用家用显卡系列。

 

画质与压缩率对比:

对于网络播放来说,视频的压缩率绝对是考虑的第一要素,因为压缩率越高,同等画质情况下视频文件体积越小,同样宽带的情况下,可以承载的在线人数越多,反之就浪费宽带。

我们找了3个视频,分别是动画片片段、电影片段、电视剧片段,原始文件都是1920的4k片源,分别输出640:-1(500码率)、1280:-1(1400码率)、1920:-1(2600码率)、1920:-1(4000码率),以下是测试结果:

电影片段

GPU<a href=http://www.baidu.com/s?wd=网站视频转码软件 target=_blank class=infotextkey>转码</a>和CPU<a href=http://www.baidu.com/s?wd=网站视频转码软件 target=_blank class=infotextkey>转码</a>效果对比.png

动画片片段

CPU和GPU<a href=http://www.baidu.com/s?wd=网站视频转码软件 target=_blank class=infotextkey>转码</a>结果.png

电视剧片段

GPU<a href=http://www.baidu.com/s?wd=网站视频转码软件 target=_blank class=infotextkey>转码</a>和CPU<a href=http://www.baidu.com/s?wd=网站视频转码软件 target=_blank class=infotextkey>转码</a>效果对比电视剧.png

从以上测试结果可以得出大致结论:

使用2000码率以下的低画质视频使用CPU转码效果更好,压缩率高,文件小,清晰度更好。

使用2000码率以上的低画质视频使用GPU转码效果更好,压缩率高,文件小,清晰度更好。

因为篇幅原因就不取截图了,实际观察效果也是如此,有兴趣的可以自己转码对比看效果,肉眼就可以判断。

 

NVIDIA GPU转码结论:

如果你租用了两台或两台以上的服务器转码,并且输出码率超2000,就完全可以选择GPU转码,算一下成本,以NVIDIA家用显卡为例,价格1000-5000的1050TI—2060TI家用显卡即可胜任,但是转码速度至少比e5系列CPU转码快了五倍以上,相当于一台服务器顶五台服务器以上的转码速度,而成本只多了显卡+软件费用,一共不到一万块钱的成本,而多租五台E5转码服务器一年的成本远至少是十万以上。

成本公式:

普通版授权价格2000/年不变,GPU加速版授权价格为4999/年

CPU转码方案:(e5服务器一年最低两万+软件费用2000)x5 > 十万

GPU家用电脑转码方案:中高端家用电脑0.5万+NVIDIA家用显卡0.3万+软件费用4999 < 1.3万

对比一下,使用GPU转码省时又省钱,应该怎么选择,答案很明显。

开通方式:

已购买普通授权的老客户需联系客服QQ 9609008,补差价2999即可开通GPU转码功能。

刚才已经提到了GPU转码是为高端用户而准备,所以觉得显卡贵、软件贵、一台普通服务器即可满足转码需求的,完全可以忽略该方案。

跑车的设计可不是给我们老百姓拉货的。

 

如果你有兴趣可以看看最低成本的GPU转码方案:http://www.云转码.com/dianbo/wenti/558.html