以各云服务商对于视频直播SDK的支持能力为核心,根据视频直播的技术特点,分为推流和播放两大板块展开
测第一部分:推流SDK功能项比较如下
上面是用来评测推流SDK各功能项的表格,内容比较多,共有41项。阿里云、腾讯云、金山云都支持的功能项有11个
在对iOS最低版本的支持上,阿里云要求iOS版本在8.0以上,腾讯云和金山云则支持7.0版本,这说明阿里云对用户的软硬件要求较高,支持的机型较少
在对Android最低版本的支持上,阿里云要求Android最低版本在4.3以上,腾讯云要求4.0以上,金山云则要求软编4.0以上、硬编4.3以上,这说明金山云的SDK对Android机型的覆盖更广泛,兼容性更好
五大模块功能项三家支持情况评测
在推流SDK这部分,主要从音频处理、视频处理、弱网/画质优化、多样化推流模式、摄像头操作这五大模块进行评测,每个模块里面又包含很多功能项。
(1)音频处理模块包括变声、混响、双声道音频、升降调、背景音乐、音频降噪、耳返、蓝牙麦克风等。阿里云无一支持,腾讯云和金山云支持混响和背景音乐,变声、双声道音频、升降调、音频降噪、耳返、蓝牙麦克风这些功能项,只有金山云支持。可以看出,金山云在这个模块有一定的技术积累,为开发者提供的功能更为丰富。
(2)视频处理模块包括内置美颜、自定义滤镜、场景编码等三项。内置美颜三家都支持,自定义滤镜只有腾讯云和金山云支持,场景编码只有金山云支持。
(3)弱网/画质优化模块包括码率自适应、动态帧率、H.265编码、场景编码这几项。码率自适应三家都支持,动态帧率、H.265编码、场景编码只有金山云支持。在对H.265的支持上,三家里只有金山云支持H.265软件编码器,这更适合移动端直播,特别是高清画质的直播,流畅度更高,卡顿更少,也更有利于客户节省带宽成本。
(4)多样化推流模式模块包括画中画、悬浮窗、背景图片推流、多视角、画笔推流、纯音频推流、后台音频推流这些。阿里云无一支持,腾讯云和金山云支持后台音频推流,其它这些功能项,均只有金山云支持。
(5)摄像头操作模块包括切换摄像头、闪光灯操作、对焦、Zoom操作这四项。其中只有Zoom操作一项,只有腾讯云不支持,其它三项三家都支持。
其它功能项三家支持情况评测
推流SDK除了五大模块之外,还有一些其它功能项,包括推流地址自定义、混音、横竖屏、音频mute操作、截帧功能、镜像、水印、视频软件编码器、视频硬件编码器、游戏录屏、边推边录、短视频录制、动态横竖屏切换、连麦。
其中,三家都支持的有6项,分别是推流地址自定义,横竖屏,镜像,水印,视频硬件编码器和连麦。音频mute操作和截帧功能,只有阿里云和金山云支持。混音,视频软件编码器,游戏录屏这3项,只有腾讯云和金山云支持。只有金山云支持的功能项有边推边录,短视频录制,动态横竖屏切换。
综上所述,在推流板块的评测中,金山云在为客户提供各种细分的视频功能上,确实更加丰富,像蓝牙麦克风、画中画、纯音频推流、边推边录、短视频录制、场景编码、动态横竖屏切换、耳返、动态帧率、悬浮窗、背景图片推流、多视角、画笔推流、音频降噪这14项功能,只有金山云支持
第二部分:播放SDK功能项比较如下:
上面是评测播放SDK各功能项的表格,其中包含的功能项共有28个。阿里云、腾讯云、金山云都支持的功能项有6个。
在对iOS最低版本的支持上,阿里云要求iOS版本在8.0以上,腾讯云和金山云则支持7.0版本,这说明阿里云对用户的软硬件要求较高。
在对Android最低版本的支持上,阿里云要求Android最低版本在4.0以上,腾讯云要求4.1以上,金山云要求2.3以上,金山云的SDK对Android机型的覆盖更广泛
两大模块功能项三家支持情况评测
播放SDK包括播放体验优化和多种播放模式这两大模块。
(1)播放体验优化模块包括重连功能、首屏秒开、HTTP-FLV直播累积延迟消除技术、RTMP直播累积延迟消除技术、硬解加速5项。其中,首屏秒开三家都支持,阿里云不支持重连功能和硬解加速,腾讯云不支持RTMP直播累积延迟消除技术,而HTTP-FLV直播累积延迟消除技术只有金山云支持。
(2)多种播放模式模块包括画面旋转、画面填充模式、悬浮窗、纯音频播放、后台音频播放、立体声播放6项。其中,三家都支持的功能项有画面旋转,阿里云不支持画面填充模式,腾讯云不支持纯音频播放和后台音频播放,悬浮窗和双声道音频只有金山云支持
其它功能项三家支持情况评测
其他特色功能还有拉流地址自定义、硬解支持、软解支持、截屏、音频mute操作、探测视频信息功能、获取文件缩略图、重连功能、单实例重复播放、反交错、镜像、H265解码、Seek功能(点播)、AirPlay录屏、边播边录、分段播放、视频缩放。
三家都支持的功能项有Seek功能(点播),拉流地址自定义,硬解支持,音频mute操作。阿里云不支持的有边播边录,软解支持和重连功能。其它各项均只有金山云支持
总结SDK
从上面的评测中,我们可以看到,在推流环节的41个功能项中,阿里云不支持的功能项有25个,腾讯云不支持的功能项有21个,金山云所有功能项均支持。在播放环节的28个功能项中,阿里云不支持的功能项有17个,腾讯云不支持的功能项有15个,金山云所有功能项均支持。很明显,阿里云和腾讯云在推流和播放这两个环节中,所提供的SDK功能项并不丰富,这与金山云形成了较大的反差。
出现这种情况的原因,这与三家的策略和发展进程不同有关。先看阿里云,其更加注重全领域布局,视频并不是其最重要的发力领域,因此在视频云服务上起步的时间较晚。阿里云在2016年6月才推出视频云直播SDK的首个版本,很多基本功能都落后于腾讯云和金山云,所以他们在对直播SDK的支持上落后,也就不足为奇了。阿里云不光在直播上落后,在短视频的服务能力上,阿里云是通过在前段时间收购趣拍云的方式来补齐的。
再说腾讯云,腾讯云在视频云上的发力时间与金山云差不多,都是大约在2015年底开始的,刚开始时推出的是互动直播方案,2016年9月到10月,又推出了移动直播方案,但两个方案都比较封闭,SDK功能项上并未与其它厂商进行合作,又与腾讯云自己的云服务进行了绑定,业务集成度比较高,因此直播SDK开发的接口上,也就没那么多了。
最后的金山云。金山云一直专注于视频和游戏领域,金山云的视频云从2015年11月开始,起步时间与腾讯云差不多,不过与腾讯云不同,金山云视频云走的是一种差异化竞争的路线,在对直播SDK的支持上,金山云选择对外开放,与其它厂商合作,构建组件化的框架,强化在音视频方面的处理能力,因此在SDK这块,就显得更具竞争力,从评测中我们也可看到,金山云基本上覆盖了视频直播的绝大部分功能,而且还提供了不少细化功能,服务显得更加全面和完整。
价格
阿里云的计费:
计费方式
示例截图
这里,我自己做了一个小评估:
假定,
峰值为2G,
截图200张,
转码:标清60 分钟,高清60 分钟,超清60 分钟
一天的直播金额为
(这里也可能是我对价格明细的理解有误,所以我将价格链接贴出来了)
详细情况:
https://cn.aliyun.com/price/product#/live/detail
腾讯云
详细情况:
https://cloud.tencent.com/document/product/268/5127
金山云
详细情况需要咨询
详细 http://www.ksyun.com/proservice/cloud_live
分析了云服务器商直播SDK的优缺点与价格后,如果,要做一款直播app,那么核心的一些功能:推流,拉流,秒开,美颜,这几个SDK几乎都是ok的。再一个就是价格了,说实话,有点没看明白价格的算法,原因有我对直播具体的运作还比较陌生,有些东西是需要真正接触后,才能有一个较深的体会。当然,大致的流程,和需要注重的功能与逻辑还是有了一定的了解。
就个人而言,就我目前收集到的资料而言,阿里云稳定,金山云一些小功能更多