首页 > 新闻 > 专家观点 >

视频通话demo到千人直播,中间差1万个WebRTC

2016-03-30 09:26:30   作者:声网Agora   来源:CTI论坛   评论:0  点击:


  WebRTC开源之前,音视频通信听起来好高级:回声消除、噪声抑制……对于看到傅里叶变换都头疼的工程师很难搞定这些专业领域的问题。
\
  Google收购了GIPS,开源了WebRTC项目之后,开发者可以自己折腾出互联网音视频通信了。下载、编译、集成之后,第一次听到通过互联网传过来的喂喂喂,工程师会非常兴奋,demo到万人直播现场只差一步了。
  但是,电信行业要求可用性4个9,而刚刚让人兴奋的“喂喂喂”,1个9都到不了。某公司在展会上演示跨国音视频,多次呼叫无法接通,自嘲说我们还没有做网络优化嘛。这就等于互联网全民创业时期的”就差个程序员了“,本质上是和demo与真正产品之间的差距,是外行与内行之间的差距。
  小红说家里WIFI聊QQ、打斗地主毫无压力,用你的音视频通话就卡的不行。想开发分享到微信这个功能,百度个文档照着一步步干就好了;但是找不到这样一个文档,照着做就能解决用户报的这些问题,进而把音视频通话做到电信水平。
  音视频通话对教育、社交、约会类APP是刚需功能,上述问题会迫使用户使用更稳定的skype或微信来沟通。技术原因造成用户流失,是每个工程师都不愿意看到的事情。
  为什么很难?
  因为音视频通话 = 音视频处理 + 网络传输
  而公共互联网不是为了实时通信设计的。
  • 协议方面:tcp有无法忍受的延时,udp有丢包延时抖动乱序。
  • 政治方面:各个国家出口光缆屈指可数,带宽也有严格限制。
  • 商业方面:由于成本原因,跨运营商的网络传输惨不忍睹。
  • 用户设备:无线路由器从802.11G开始才支持实时通信模式;多个路由器使用相同的频段会造成信号污染;2G网络上行带宽只有20kbps。
  • 架构方面:公共网络每个节点都不可靠,后台工程师熟悉的mtr命令可以分析哪个路由节点丢包高,如果此时正在传输音视频,质量必然受到影响。
  要在这样一个公共互联网上传输音视频数据,却没有做任何网络传输的工作,不遇到问题的话可以买彩票了。
  网络传输要怎么搞?老师没讲过、网上搜不到,是不是有一种深深的无力感。
  干货开始了,声网Agora.o怎么搞?
  音频传输与视频传输有很多相同点,又有一些不同点。我们先从音频开8,在整个音频传输解决方案基础之上,再来研究视频的差异点。
  先看下边一个工程师小明的故事:
  • 老大在测试demo的时候来找小明:刚才声音卡成翔。小A这时候如果一脸懵B状基本要跪,如果拿出数据解释说在30秒到50秒之间丢包造成,效果好很多。所以首先需要通过网络参数来评估语音质量 —— 质量评估
  • 老大体验了几次卡顿之后想起来问小明,其他用户质量怎么样?小A拿出数据说我们只有2%的用户遇到您这样卡顿 —— 数据统计
  • 利用前边几个工具,小明找到了影响质量的原因1:联通用户和电信用户通话时丢包大。小明搞了个多线服务器,联通用户接联通线路,电信接电信 —— 智能接入
  • 随着用户扩张到海外,小明发现电信用户和美国用户通话时丢包大,没有一边电信一边美国这种多线服务器,小明发现通过日本转发过去就不丢包了 —— 智能路由
  • 小明觉得智能接入加上智能路由,可以媲美网络专线的质量了,所以得意地起了个名字叫做虚拟专线
  • 现在抱怨的用户明显少了很多,还剩下一些自己网络不给力的用户。用户x一直用2G,用户y在公司里很多WIFI有信号污染,需要 ——丢包对抗
  • 用户报虹桥机场打不通,小明过去抓了个包发现公共场所WIFI有很多限制 —— 网络可用性
  • 用户没问题了,但各种互联网公司事件让小A担心自己服务器电源也被挖掘机铲断 —— 后台高可用
  这些东西,具体怎么搞?
  声网 Agora的首席音视频架构师 孙雨润,在上周六segmentfault进行了相关的专题演讲。他凭借出精彩的演讲,受到现场观众的热烈追捧。
\
  错过了怎么办?
  2016年4月21~23日,QCon全球全球软件开发大会上,雨润会再次奉上精彩演讲。
分享到: 收藏

专题