全民直播时代——基于WebRTC开发实时通信服务
浏览:487 次

内容来源:2017年7月8日,云多媒体开发高级工程师刘波在“云计算之外的云时代的宝藏是什么”中就云通信——基于WebRTC技术的实时通信服务开发实践进行了演讲分享。IT专家表示,(ID:itdakashuo)作为独家视频合作伙伴,经赞助商和演讲者授权发布。
阅读单词:1126 | 4分钟
有关嘉宾演讲的视频回放和PPT,请点击:
摘要
这一次,我们分享了基于WEBRTC技术开发实时通信服务的经验。我们希望这次分享能让大家对这方面更感兴趣。
什么是互动直播?交互式直播是一种多通道音频、视频和实时数据通信的解决方案。
首先,让我们看看我们自己的应用场景。优派云由杭州研发总部和北京、上海、广州等多家分公司组成。我们的管理层每周一上午举行一次周会。我们真的需要一个简单可靠的远程会议系统。
过去,我们使用传统的电话会议硬件,这种硬件复杂且难以使用,不便宜,也不理想。
现在,我们只需要一台笔记本电脑和一台高清摄像头,不需要任何配置或插件。
互动直播与传统直播的本质区别在于延迟。
与传统直播相比,互动直播让每个参与直播的成员都有了互动的能力。因此,对实时性和抗回波的要求更高。
在视频会议、远程教育、远程咨询、视频社交、互动游戏等诸多场景中,只能选择实时性更高的互动直播技术。

为什么选择WEBRTC?WebRTC是一个开源、免版税的项目,大大节省了我们的开发时间和成本。
WebRTC由谷歌主导,其技术非常先进。
所有主要浏览器和终端都逐渐增加对WebRTC技术的支持。
WEBRTC OVERVIEWWebRTC的全称是Web实时通信。WebRTC不是一个单一的协议,而是一个标准,包括一系列协议和API。
WebRTC通过提供易于使用的JavaScript API而无需安装任何插件,使浏览器能够共享P2P音频、视频和数据。
2010年5月,谷歌斥资6820万美元收购GIPS。一年后,谷歌开启了WebRTC项目。
WEBRTCW3C工作组:浏览器API;
RTCWEBIETF工作组:协议、数据格式、安全性、P2P等。
WebRTC不是一个孤立的协议。最初,它用于浏览器之间的实时通信,也可以通过信令协议连接现有的SIP客户端、PSTN网络、移动终端等。
WEBRTC的核心组件是音频和视频引擎:OPUS、VP8/VP9、H264;
传输层协议:底层传输协议为UDP;
媒体协议:SRTP/SRTCP;

数据协议:DTLS/SCTP;
P2P内网渗透:STUN/TURN/ICE/Trickle ICE;
信令和SDP协商:HTTP/WebSocket/SIP提供-应答模型。
我们的实时通信底层平台UPRTC的传统WebRTC应用模式是P2P,我们将其转变为服务器传输模式。
全分布式系统,部署到全国所有边缘节点,通过我们的内部加速网络进行加速。
网络拥塞自适应控制,网络适应性强。
优化和转换底层开源组件以支持高并发性。
灵活高效的服务信令支持敏感信令的认证。
utun解决了诸如高和不稳定的跨区域和跨ISP延迟等网络问题。
覆盖200多个边缘节点和4000台服务器;它包括3个大型运营商和2个小型运营商。
UPRTC实现媒体访问,并访问Web端和移动端。
第一个项目基于我们的底层UPRTC平台——我们选择的编码格式为H 264+Opus修复WebRTC核心的iOS端音频处理过度消耗CPU的错误,并修复WebRTC核心的音频和视频不同步的错误。Android H 264编码不支持高通以外的芯片硬解码。客户端的解码能力有限,呼叫方总数需要控制在8个以内。服务器需要添加速率自适应算法,根据参与者的数量自动将总带宽控制在2Mbps以内。美观和过滤器访问会增加处理延迟,因此性能要求非常高。

今天的分享就到这里了。非常感谢。