NRTC+WebRTC:网易云告诉你实时音视频要这样做

日期: 2017-10-31 作者:蒋红冰 来源:TechTarget中国

随着网络速度的提升,以及移动互联网的普及,终端用户观看音视频的需求也越来越多。Market Research Reports Search Engine的调查显示,预计企业视频市场将从2017年的1,634亿美元增长到2022年的4,084亿美元,年复合增长率为20.1%。的确,视频以更直观的形式传递着信息,但是视频产业的发展却也存在着挑战。

视频需求上升,开发却是门槛

伴随着WebRTC的兴起,基于网页、浏览器的实时音视频通信成为可能,web端的音视频通信被用户广泛接受,成为市场热点。例如,用户希望通过Web能参与音视频通话,与移动端、PC端等互联互通,并能够参与各种实时、准实时的音视频服务。但是实时音频视频的研发门槛却阻碍了音视频的发展。

首先,实时音视频研发涉及复杂、多样的技术栈,对资深的人才投入要求很高。同时,要做好音视频应用,尤其公网视频,需要投入大量的网络服务资源,例如,多节点的投入、多元化的网络基础设施的支持等。所以,实时音视频研发是高门槛、高投资的领域,不是每一家公司都能轻易做到的。

其次,虽然WebRTC为Web端的实时音视频研发提供了功能强大的技术支持,但它还在实验室级别,并没有在过多的在生产环境中应用,开发人员依然需要基于实际应用场景和具体的业务需求,做技术难度较高的二次开发。

十年积累,终有NRTC的出现

网易云在视频与音频行业具有十多年的经验,经过多年在视频领域的深耕,网易云内部形成了一套成熟的音视频技术方案NRTC,并公开给外部企业使用。

据网易云通信与视频的CTO赵加雨介绍,NRTC是一个工业级的功能完整的音视频技术方案。从架构功能来看,NRTC包含了从NRTC SDK到NRTC MCU的端到端的完整的技术方案。SDK在客户端推流至MCU,NRTC MCU是一个媒体中转服务器,负责中转音视频流给其他客户端,同时推给NRTC BMS,即互动直播服务器;然后,互动直播服务器会将音视频混流后推送给NRTC LVS直播源站,LVS再推送给NCDN来实现海量分发。NRTC技术方案里包含了基于UDP的实时音视频方案和基于TCP的准实时直播方案,将两者结合,也就是将实时音视频的能力和直播能力结合起来,就形成了实时互动直播;同时,基于海量存储功能,也支持了点播功能和短时频功能。

NRTC+WebRTC:网易云告诉你实时音视频要这样做

(图:网易云通信与视频CTO赵加雨)

NRTC方案涉及许多技术点,包括信令、SDP、JSEP、SIP,还有传输、RTP、DTLS、RTMP、FLV、HLS。同时,因为流媒体应用涉及到P2P的打洞,所以也含有ICE;还包括流媒体服务器、网络拥塞控制和抗丢包、音频前处理、Opus、H264、各种端适配等。赵加雨说,“这里涉及到的技术点是非常多的,也反过来印证了做音视频开发是非常困难的。”

网易NRTC深度支持WebRTC

虽然WebRTC技术在一定程度上解决了音视频开发的难度,促进了音视频行业的发展,但却也存在着一定的缺陷。

第一,WebRTC没有定义信令具体如何做,虽然保留了灵活性,但多样化的信令方案,增加了用户选择的难度。信令是把一端能力通过信令服务器送到另外一端,另外一端也通过信令服务器反馈自己的能力,双方知道对方的能力和网络连接等很多信息之后才可以实现网络互通和媒体的互通。

第二,对于音视频来说,涉及很多媒体服务器、转码、录制等功能,但是WebRTC却没有。仅仅只是基于代码,是无法实现音视频应用的,因此,避免不了要实现服务器的组建。

第三,WebRTC是一个开源项目,其所有的协议都是基于标准的,这是优势,但是深入到开发层定制就不够灵活了。

第四,WebRTC依赖浏览器,互通性差。接口上的区别还容易兼容,行为上的区别和标准支持上的区别就很难相互兼容了,譬如Edge浏览器虽然也支持H264,但与Chrome和Firefox支持标准不一样,没有办法做到灵活互通。

网易NRTC从代码来说,早于WebRTC,相对来说技术框架更成熟;而且,NRTC是完全自研的音视频解决方案,研发使用更灵活,可以真正压榨每一个链路,每一个点,每一个毫秒,这样才能实现更好的音视频效果。

为了支持Web这个音视频入口,NRTC通过WebRTC网关方案深度兼容了浏览器,WebRTC网关支持Lite ICE,实现了RTP/RTCP协议栈,实现了RTCP SR/RR以及transport cc等各种RTCP报文,支持了GCC拥塞控制机制。同时,NRTC与浏览器端实现了双向的丢包重传。通过多样化的方法监测Web端网络连接,在整个网络连接中确保了连接的可靠性,使链接在任何情况下都能够建立。

NRTC+WebRTC:网易云告诉你实时音视频要这样做

(图:网易云NRTC音视频技术框架)

对于WebRTC,网易并不是仅仅只是提供一个基于这一技术的客户端,而是通过深入理解这一模型,尝试支持WebRTC的NRTC技术,帮助外部企业更容易实现音视频能力。

结语

音视频的信息传播方式更直观,生动。现在许多线下的游戏也以视频的方式推送给了用户。网易NRTC技术就已经在教育、医疗、娱乐等行业得到了应用。例如,时下流行的狼人杀游戏就是依托了网易易云音视频能力,针对狼人杀场景化需求提供了场景化解决方案 。该方案提供了纯音频与音视频的轮麦与多人互动场景方案,充分满足狼人杀类音乐、音效与人声复合的复杂场景,具体效果如何,你可以亲自体验一下。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

蒋红冰
蒋红冰

TechTarget云计算主编,主要负责云计算和虚拟化网站的内容建设。长期专注于IT前沿技术,对云计算、虚拟化、人工智能、区块链等技术都有了解;对行业趋势、市场动态有一定的洞察。

相关推荐