
随着大量视频产生,怎样才能够高效精准地对视频进行云端转码和处理,来适配多终端展示需求和应对复杂的网络情况,是我们视频行业开发人员工作的重中之重。作为从业者,我们会经常接触各大云转码服务商,对音视频转码技术也有一定的理解。今天,我们挑选了国内主流的三家音视频转码服务提供商:阿里云、腾讯云、七牛云,进行横向测评,从产品功能、转码性能、控制台及API文档、售后支持、服务可用性、收费标准六个方面,逐一进行客观的对比说明,希望给予正在技术选型中的开发者一些参考。 一、产品功能 对视频平台而言,有视频采集、编辑、上传、转码、媒资管理、分发、播放众多链路环节。在转码这一环,选择技术实力强大和产品功能丰富的云服务商,可以省去自研的时间和成本,更专注于业务和产品本身的打磨。在选择中,功能完整度是十分重要的考量标准。我们从阿里云、腾讯云、七牛云官网上音视频转码产品页面及相关公开文档中获取了功能信息,如下图所示: 从产品功能对比中可以看出,各视频云产品在转码的基本功能上大同小异,基本可以满足当前市场上的常见需求。从功能完整度来看,阿里云的倍速转码、窄带高清和画质修复技术三个特色功能,明显与另两家拉开差距。在边转边播功能中,七牛云则更灵活,支持用户自定义是否存储转码输出文件。接入难度上,七牛云不支持自动触发工作流转码,只能通过API调用,对开发者的技术水平有一定要求。腾讯云则功能最少,也并没有亮点技术。 需要特殊说明的是,我们发现,在腾讯云官网对于H.265的支持前后有出入。在产品页的宣传是这样的 https://cloud.tencent.com/product/vts 实际是这样的https://cloud.tencent.com/document/product/266/9910 综上所述,产品功能角度看,阿里云最优,七牛云次之,腾讯云最差。 二、转码性能 了解转码的视频行业开发者都知道,评价转码性能优劣的三个指标是速度、码率、画质,我们从这三个方面来展开测评。 1. 转码速度 转码速度的定义为1分钟的视频,在几分钟转码完成。使用相同视频,相同参数的转码模板,在同一网络环境下,测试72(18个视频*4个模板)组转码数据,结论如下: 转码速度七牛云最快,阿里云其次,腾讯云最慢。对输出视频分析发现七牛云默认配置转码preset的档位是faster,阿里云/腾讯云设置为medium,faster比medium低2档,但这个参数会影响视频画质,建议根据自己实际的需求配置(效率优先/画质优先)。转码速度角度:七牛云>阿里云>腾讯云 2. 视频码率 使用相同视频,相同参数的转码模板,阿里云开启窄带高清选项(腾讯云和七牛云不支持),在同一网络环境下,测试64(16个视频*4个模板)组转码数据,结论如下: 七牛云和腾讯云的码率无差异;阿里云窄带高清转码码率比七牛云、腾讯云码率平均低31.35%,文件大小平均小28.98%。视频码率角度:阿里云>七牛云=腾讯云 3. 视频画质 选取转码速度测试中的10组视频,找19个人参与测试,选出主观感受最差的视频,结论如下: 七牛云画质明显比阿里云差,腾讯云画质略差于阿里云;动漫类视频,三家差异不大,综艺类视频则七牛云明显较差。视频画质角度:阿里云>腾讯云>七牛云 所以在性能这一环节,阿里云实力比较均衡,表现最优,腾讯云和七牛云一个是速度较差,一个是画质最差。 三、控制台及API文档 进入到接入及操作层面,开发者更在意的是控制台的友好度与接入便捷度。我们对比了三家的控制台及API文档后,得出如下结论: 七牛云控制台非常简陋,仅支持最基本的数据查询,需要通过API实现视频转码。仅提供API接口文档,缺乏场景化文档,对接入者的技术能力有一定要求; 阿里云控制台支持大部分功能配置,比如:自定义转码模板,水印模板,工作流等,能够达到零代码快速接入。提供API文档和少量场景文档,但文档较多,场景不完全,部分功能找不到文档; 腾讯云控制台交互体验最好,但功能太封闭,不支持自定义,可用性不高。提供API文档和场景文档,对每个功能和概念都有详细说明。 四、售后支持 阿里云控制台支持自定义配置,接入过程中未提交工单;七牛云工单回复较快,能够解决问题;腾讯云工单回复较快,但售后对视频云产品不了解,答非所问。 五、服务可用性 在选择云平台来支撑业务的时候,通常我们也会对服务等级协议SLA进行对比,这点考量了云平台服务可用性的承诺。我们从三家平台官网得知,在视频转码服务中,只有阿里云承诺99.9%的服务可用性,并支持自动赔付,腾讯云与七牛云官网暂时未见关于该服务可用性的承诺。 六、收费标准 云服务的价格已经趋于透明,我们可以从官方收费标准中看到,按量付费模式下,七牛云价格最底,阿里云和腾讯云价格一致。 另外,七牛云和阿里云每月都会提供一定时长的免费额度,腾讯云不提供免费额度。同时,阿里云推出了号称最低3.5折的套餐包,可供用户按需购买:https://help.aliyun.com/document_detail/64066.html 所以从收费标准上来看,七牛云价格最低,阿里云的计费方式最为灵活。 总体而言,这三家主流平台都已经具备相当雄厚的企业背景和技术实力,可以满足绝大部分市场需求,在以上六个测评方面也是各有千秋。相对而言,阿里云对于音视频转码技术的理解更加深入,产品功能和支持上也更为完整,并且具备一定的价格优势。作为视频行业从业者的我们,究竟该选择哪家视频转码解决方案提供商,还是需要结合其特点和自身的需求来看,希望通过这篇测评,给同行们带来一点帮助。
我们公司主要做视频在线点播,还有少量视频下载。比较关心网络加速,首先就是价格,其次是首播时间、流畅率这几个核心性能指标。目前使用阿里云PCDN也有几个月了,整体结果是超预期、值得安利的。写这篇文章,希望能通过选型对比、接入过程、效果实现几个方面的真实感受,给还在犹豫的同行们一些启发,希望文章内容对你们有所帮助。 废话少说,先直接说效果:每月的CDN费用比以前少了近50%,首播时间、流畅率略优于使用中的2家CDN。这个结果真是让人喜大普奔,原以为PCDN价格比CDN低这么多,性能会不好,没想到这货不仅价格低,性能比CDN还只好不差,一年能给老板省将近100万,妈妈再也不用担心我的年终奖啦。这个羊毛究竟该怎么薅,请听我一一道来。 先说选型阶段,是什么原因让我们选择了阿里云PCDN? 上半年公司花大力气推广,我们的视频点播业务量增长挺快。业务量大了,不仅带宽成本有压力,我们也同样压力山大,怕产品服务不稳定,怕出各种问题。于是乎,我们一方面找目前使用的CDN公司申请价格折扣,申请服务质量保障;另一方面,也在不断寻找其他质优价廉的CDN产品。 现在CDN各家公司竞争也很激烈,基本都能爽快的给一定的折扣,但价格还是不够理想。找来找去,最后目光落在了P2P上。但深入了解之后,问题来了。要使用P2P CDN,各家都是要在客户端上集成SDK,SDK集成难度、SDK大小、SDK出bug后是否影响到主APP等各类因素都会可能造成影响。另外,从P2P原理上看,要有一定的P2P分享率,可能需要在终端上传流量。我们的视频点播业务在OTT盒子和移动端上都有,一旦在终端上传流量,不仅会占用带宽影响用户体验,而且还要在终端划一块存储空间用于缓存内容,频繁读写T卡/ROM也将影响到终端的寿命。这些问题对我们都很致命,如果这些问题真的存在,即使P2P CDN成本低,我们也没法使用。 我们了解了四家P2P CDN的资料,排除了终端上传的、SDK太大的、业务刚起步的、没有典型点播领域客户案例的几家。最终将目光锁定在阿里云PCDN产品上,优酷全站都在用PCDN,用户体量足够大,并且SDK可以远程升级。我们决定先测试看看效果。 随之而来的就是非常关键的一步—— 接入,这是最能考验服务质量和易用性的一步了。 首先在阿里云官网找到PCDN产品,申请开通。PCDN开通后,还要提供阿里云CDN域名和url给他们后台,说是要匹配规则,然后就把SDK和对接文档发给我们了。阿里云的人专门拉了钉钉群来支持我们的SDK集成和测试,他们的产品技术同学都在里面,响应的还挺及时,碰到问题都能很快解决,这要赞一个。 他们的SDK整体还比较简单,就三个接口:启动、停止和地址转换。SDK对接照着他们给的文档进行就可以了,APP的业务逻辑也不需要更改。从开始对接到集成成功,一共就花了不到一个小时,我数了数,总共也就4行核心代码,这有点颠覆我以前对SDK集成的认知,没想到这么简单。给你们看看我是怎么做到的吧。 和大多数SDK一样,启动APP时启动SDK,传入阿里云分配给我们的token,这样就把PCDN服务启动起来了。 需要播放视频时,播放器拿到云端提供的播放url地址后,增加一步调用SDK获取PCDN播放地址,然后使用PCDN提供的本地地址播放即可。 最后再退出应用程序时停止PCDN服务即可。 我们在APP上做了埋点监测,比对了首播时间、流畅度等指标,PCDN的指标略优于我们使用的CDN,这些关键指标测试下来,效果还是比较满意的。另外,阿里云PCDN有两点是超出了我们预期的。 第一个就是PCDN支持下载限速,我们大部分的业务是点播,有少部分的视频是要下载的,下载都是后台进行,要求下载的同时还能够流畅的播放视频,同时也希望尽量限制在带宽高峰期下载的速度。这就要求对下载进行限速了,还好阿里云PCDN已经支持了下载限速这个功能,下载速度可以由我们灵活控制,这个功能很好的解决了我们的问题。 第二个就是解决视频被劫持的问题。之前时不时有用户反映视频没法播放,经过分析基本都是域名被运营商劫持造成的,这种情况尤其在一些小地方小运营商中出现,比较头疼。给我们提供服务的CDN公司也能解决域名劫持的问题,但需要在APP上集成SDK,我们是不大愿意单纯为了这一个功能去集成SDK的。刚好阿里云PCDN SDK自带了HTTPDNS功能,保证了域名解析的正确性,避免域名被劫持的情况,并且HTTPDNS还免费给我们用,简直太方便太贴心了有木有。 成功接入后,我们就要看看效果了,毕竟老板们对数字指标是相当关心啊。 我们内部测试验证了一周左右。从测试情况看,产品稳定性不错,各方面性能指标也都达到了要求。但这毕竟只是实验室几个测试同学的测试,要真正反映产品表现,还是要大量数据来说话。阿里云PCDN的同学建议我们控制渠道灰度发布,有较多的用户使用才会体现出P2P效果来。经过跟老板商量,我们挑了个渠道,灰度发布了版本。几个小时后,就有几千的安装量,几千个用户对于验证PCDN效果也足够了。 接着又是一周时间,我们持续观察了各方面的数据,首播时间跟CDN不相上下,流畅度方面,使用CDN时流畅度98%左右,使用PCDN时流畅度98.5%左右,下载稳定性和完成率也符合要求,整体的表现还是很不错的。老板看到测试数据比较满意,同时,阿里云PCDN的同学对我们的问题的响应和支持都比较及时,老板果断决定正式上线PCDN产品,在各个渠道逐步全量发布。 现在,我们使用PCDN有几个月时间了,新版本的覆盖率已经很高了。产品还是很稳定的,即使偶尔有问题也能很快得到解决,这是我们非常看重的一点,省了很多麻烦。虽然业务增长,带宽量也在增长。但使用PCDN后,每月的带宽支出却实实在在的省了不少。照这个情况看,每年就能省将近100万的带宽费用了。而这所有的一切,只是花了不到一个小时集成阿里云PCDN SDK,增加了4行核心代码带来的成果,真是相见恨晚。 总结下整体的感受:接口简单服务给力,测试性能稳定优秀,阿里云有这么大的羊毛,不赶紧来薅,还等什么呢?