您当前的位置是:  首页 > 新闻 > 国际 >
 首页 > 新闻 > 国际 >

各浏览器中的WebRTC表现对比、其实还是有坑

2017-07-06 10:52:09   作者:Tsahi Levent-Levi   来源:声网Agora   评论:0  点击:


  本文中我们将一起分析各浏览器对WebRTC支持的情况。下图是我WebRTC设备清单中的一部分,我们就以这张图作为切入点。
\
  下面我们来一个浏览器一个浏览器的分析。
  Google Chrome
  Chrome还是整个队伍的领军人物。有些人抱怨Google不按照规范运行WebRTC,可是话又说回来了,该遵循哪个规范呢?我们还是处在草案阶段,每个人都在为WebRTC规范做努力,但是现在还没有一个明确的规范。
  我想表达的一个观点是:如果你的浏览器有超过十亿的下载量,那么你所改动的每一行代码都会造成某些功能发生错误。这意味要是想改变整个API以及WebRTC的表现层要难上加难。要花费大量的时间。
  Mozilla Firefox
  Mozilla通过自家的Firefox浏览器加入WebRTC阵营的时间可以说跟Google Chrome一样长。实际情况是,所有的功能也只是止步于可以工作这个层次。读者可以注意一下Mozilla WebRTC高级博客上面关于质量的内容。
  Microsoft Edge
  Microsoft Edge浏览器支持WebRTC 1.0,无论这里1.0指的是什么。它还支持ORTC。但是主要是ORTC,WebRTC的优先程度排在它后面。
  我还是很费解微软这么做的理由是什么,我相信我不是唯一一个想不明白的人。
  对于大部分的性能,微软只是在努力达到并保持与Chrome相同的表现。Edge浏览器的份额比较低,所以这是个聪明的做法—有公司开始在他们的产品中支持Edge浏览器,也有可能只是因为Edge版本的开发成本并不高。
  Apple Safari
  苹果刚刚加入WebRTC阵营中,宣布iOS 11和Safari 11中支持WebRTC。
  但是苹果并不是全部支持,DataChannel现在并不能使用,视频编解码是H.264,而不是VP8。而且这点可能不会发生改变。
  总的来说,WebRTC现在已经覆盖所有的现代浏览器了。
  Microsoft Internet Explorer
  在这里,WebRTC碰壁了。
  是的,我们可以用微软的Edge浏览器,但是这款浏览器只能在Windows 10上使用。不过人们好像还是很乐意换用Chrome浏览器的。
  当然如果能让IE也加入WebRTC大家庭是再好不过的事,但是可能永远不会发生。想要进行实时通信,我们可以使用插件或者独立的PC应用。
  封闭的应用
  当WebRTC不能用或者不能够满足需求时,你总是可以在封闭的应用中使用WebRTC技术。
  对于iOS和Android来说,你可以下载WebRTC源代码,然后在它的上面编写自己的应用,或者使用WebView这样的操作系统。
  对于电脑端来说,最通常的做法是使用Electron,一个围绕Chromium搭建的开源应用容器。它可以让你的网页应用编程一个电脑应用,并且可以跨Windows,Mac,和Linux系统使用。而且不管你用的是IE或者其他任何浏览器都可以,没有问题。
\

专题