实时音视频技术选型四大要素

实时音视频技术的专业度和复杂度都很高,通过PaaS服务商来集成实时音视频,快速开发App,是时下开发者的优先选择。所选RTC是否好用易用、契合所需场景,将直接影响项目开发进度和后期运维成本。

开发者需要了解实时音视频技术选型中要避开的坑点,以便提高开发集成效率。具体来说,以下四个方面要综合考虑。

一、实时音视频与IM能力不宜分散

几乎100%的实时音视频在线应用都有文字/语音消息、文件传输、图片显示等IM需求。

目前市场上PaaS服务商这两方面能力强弱不一:有的大厂虽然两方面能力都提供,但不能确保两种能力同样高质量;有的专业 RTC 厂商,只能提供RTC能力,IM能力还得由第三方专业服务商提供。

这样,便迫使开发者在集成过程中不得不分别选择服务商。当实时音视频与IM质量不稳定时,需要逐一协调各个服务商,逐一排查问题,无形中增加了后期的运营成本。其实,IM和音视频在很多场景下有耦合,建议开发者在选型一开始就要考虑具有RTC+IM双重高保障能力的通信云厂商,尽量“用一套 SDK,解决所有通信场景”。

实时音视频技术选型四大要素

对开发者来说两项功能同时开发,开发包相对比较小;如果前期只用到了IM,没有用到RTC,那么只需要学习IM方面的开发文档就可以了,一旦有了RTC需求,再去学习RTC文档,开发者只需接入相关接口,快速与IM能力做对接和匹配,即可完成两类功能在App生命周期里的全覆盖。

除了开发上的易快速上手外,选择“IM+RTC+推送”整合的解决方案,开发者还可以享受一致的网络架构,提高传输的效率和质量,获得一致的服务保障。例如,融云近期升级了实时音视频能力,RTC的通信信令是复用IM信令通道,可以确保消息100%的连通率和到达率,使底层的通信优势发挥到最大。

二、延时、卡顿、抖动的质量问题要解决好

通过调研发现,用户最不能接受实时音视频的三个质量问题是延时、卡顿、抖动。

低延时要靠两个方面解决,一个是传输协议,一个是优化整体传输环节。实时音视频的主流传输协议有RTMP和UDP两种,一种支持CDN技术,一种支持WebRTC技术,相对来说,CDN技术延时性在3-5秒,WebRTC可以在几百毫秒以内,现在很多厂商可以同时支持这两种技术,分别适用于不同的场景。

整体传输环节中,采集/渲染、编解码/网络往返都会有一定的延时,有些是硬件的物理延迟,需要靠5G这样底层网络技术的提升,或者布更多的数据中心、边缘结点,便于就近接入;有些要针对实际场景,在具体形态上做一些权衡,比如在处理粒度上粗细的考虑,越细的粒度传输的数据包相对较大,延迟也会更高。

当音视频出现卡顿时,有一个视频流畅优先的原则。我们通过降低一些码率和帧率,即使画面模糊一点,也要让用户视觉上是流畅不卡顿的。这样在选型时候,要考虑几个方面:一个是优化低码率下的视频清晰度;二是要有带宽估算能力,当预判到这个带宽没法承受高清晰视频传输时,自动转化成低码率并通过优化算法,使低码率视频清晰度能媲美高清视频。

实时音视频技术选型四大要素

另外,数据包通常会以错误的顺序到达,从而产生抖动相关问题,或者直接丢失,造成音视频空白。谷歌一份资料显示,视频聊天应用 Duo 99%的通话都有数据包丢失、过度抖动或网络延迟情况。20%的通话丢失了超过3%的音频,10%的通话丢包率超过8%,也就是说每次通话都有很多音频需要替换。

处理上述问题,很多厂商会采用抗丢包及抗网络抖动能力的NACK(丢包重传)、FEC(前向纠错)、自适应带宽调整(动态调整码)、接收端 Jitter Buffer(媒体流平稳)等各种机制,有些是组合使用,有些是单独使用,开发者在选型前一定要做到深入了解。

三、拥有全球通信和场景化能力

刚才谈到低延时、抗丢包的解决策略,有些是与网络接入路径长短直接相关的。比如中美两地的音视频连接,没有全球通信网络支持、数据中心和节点布局的厂商是提供不了服务的。开发者选型开发前,就要考虑到自己业务的所属范围。

选择全球化服务的云厂商,除了看数据中心和节点分布外,还要仔细考察全球网络布局的品质,简单说,有的厂商提供了全球网络优化能力,中美之间的音视频连接在未优化前要经过 100 多跳,而优化后仅 6 跳就能完成连通。这是由于,这些厂商拥有自有的路径最优算法,通过智能路由就近接入,即使在异国/地网络环境较差的情况下,仍然能够及时切换到更好的线路上去。比如融云拥有全球优化加速网络,实时音视频通话可做到全球端到端延时小于400ms,最低延时66ms,保障端到端之间延迟无感知的实时互动。

在场景化能力上,实际上相比IM,实时音视频更加通道化,在各个场景中复用的程度也相对较高,能力也更基础。优秀的PaaS厂商会按场景提供不同的Demo,音视频技术的升级也针对解决更多的应用场景去优化,便于开发者拿来即用,这种方式对入门级的开发者都十分友好。各种API接口相对独立,开发者只需关注和使用所需要的SDK,就可以实现想要的场景,大大降低集成开发的难度。

四、开发者服务足够完善

在一些社区中,我们常常会看到一些技术文档下,开发者提出问题而没有回复。开发者为提高开发效率,越来越倾向于自助完成工作,因此,开发文档是否易懂,Demo 是否易用,都显得十分重要。

另外,工单回复的速度,微信群、社区的值守和响应程度等都能反映PaaS厂商服务意识的强弱。通常来说,7×24小时技术支持服务,1小时工单快速回复、快速远程接入、快速恢复的故障应急响应机制,这些都是对开发者很完善的服务支持。

有些厂商还会提供特色的质量监控服务,比如融云“北极星”的质量问题排查平台,通过可视化图表,快速定位卡顿位置,实时统计丢包率,使开发者可以自助排查每一次音视频通话过程中的丢包率、网络带宽等通信技术参数。可以直接定位用户问题,提高排查效率,提升用户体验。

(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )