本文译自: http://www.nojitter.com/post/240172714/webrtc-video-conferencing-in-what-browser-take-vi
本文中我们将一起分析各浏览器对 WebRTC 支持的情况。下图是我 WebRTC 设备清单中的一部分,我们就以这张图作为切入点。
下面我们来一个浏览器一个浏览器的分析。
Chrome 还是整个队伍的领军人物。有些人抱怨 Google 不按照规范运行 WebRTC,可是话又说回来了,该遵循哪个规范呢?我们还是处在草案阶段,每个人都在为 WebRTC 规范做努力,但是现在还没有一个明确的规范。
我想表达的一个观点是:如果你的浏览器有超过十亿的下载量,那么你所改动的每一行代码都会造成某些功能发生错误。这意味要是想改变整个 API 以及 WebRTC 的表现层要难上加难。要花费大量的时间。
Mozilla 通过自家的 Firefox 浏览器加入 WebRTC 阵营的时间可以说跟 Google Chrome 一样长。实际情况是,所有的功能也只是止步于可以工作这个层次。读者可以注意一下 Mozilla WebRTC 高级博客上面关于质量的内容。
Microsoft Edge 浏览器支持 WebRTC 1.0,无论这里 1.0 指的是什么。它还支持 ORTC。但是主要是 ORTC,WebRTC 的优先程度排在它后面。
我还是很费解微软这么做的理由是什么,我相信我不是唯一一个想不明白的人。
对于大部分的性能,微软只是在努力达到并保持与 Chrome 相同的表现。Edge 浏览器的份额比较低,所以这是个聪明的做法—有公司开始在他们的产品中支持 Edge 浏览器,也有可能只是因为 Edge 版本的开发成本并不高。
苹果刚刚加入 WebRTC 阵营中,宣布 iOS 11 和 Safari 11 中支持 WebRTC。
但是苹果并不是全部支持,DataChannel 现在并不能使用,视频编解码是 H.264 ,而不是 VP8。而且这点可能不会发生改变。
总的来说,WebRTC 现在已经覆盖所有的现代浏览器了。
在这里,WebRTC 碰壁了。
是的,我们可以用微软的 Edge 浏览器,但是这款浏览器只能在 Windows 10 上使用。不过人们好像还是很乐意换用 Chrome 浏览器的。
当然如果能让 IE 也加入 WebRTC 大家庭是再好不过的事,但是可能永远不会发生。想要进行实时通信,我们可以使用插件或者独立的 PC 应用。
当 WebRTC 不能用或者不能够满足需求时,你总是可以在封闭的应用中使用 WebRTC 技术。
对于 iOS 和 Android 来说,你可以下载 WebRTC 源代码,然后在它的上面编写自己的应用,或者使用 WebView 这样的操作系统。
对于电脑端来说,最通常的做法是使用 Electron,一个围绕 Chromium 搭建的开源应用容器。它可以让你的网页应用编程一个电脑应用,并且可以跨 Windows,Mac,和 Linux 系统使用。而且不管你用的是 IE 或者其他任何浏览器都可以,没有问题。
说说你自己实际应用 WebRTC 的情况吧。
1
silencefent 2017-07-11 15:04:03 +08:00
居然 2017 年了还考虑 ie 的适配
|
2
liuxu 2017-07-11 15:04:50 +08:00
|
3
Agora OP 用浏览器做直播和视频通话的,有相当一部分是教育行业。教育行业的终端用户,甚至还有相当一部分比例在用 ie6...
|
4
imn1 2017-07-11 15:15:05 +08:00
没什么特殊需求的话,一般用户应该禁了 webrtc
|
5
lzhr 2017-07-11 15:23:43 +08:00
@silencefent 看 IE 的市场份额,怎么能不考虑
|
6
BoiledEgg 2017-07-11 15:31:37 +08:00
@lzhr 告诉老板,别看 IE9-份额在国内还高达 20%,但是从用户画像上看,这部分人 99%不是我们的目标客户,而前端成本提升是 100%。
|
8
t6attack 2017-07-11 16:09:11 +08:00
我也禁掉了。webrtc 会泄漏一些本机特征,包括本地 IP: http://net.ipcalf.com/
|
9
binux 2017-07-11 16:12:11 +08:00
这个对比太泛泛而谈了,实际使用中有很多 API 不兼容,特性不一致的坑。
至少两年前是这样的 |
10
sgissb1 2017-07-11 16:12:49 +08:00
不拿 webrtc 过来基于源代码级的二次开发,或深度改造都是逗逼行为。
因为 webrtc 的代码,只有你去看了才知道多么的“强大”,简直要让人疯了。我都已经快改不动 bug 了! |
12
initialdp 2017-07-11 17:22:06 +08:00
我们以前有个产品是基于 webRTC,后来还是放弃了。我们的基本结论是:TA 就是一坨屎!
|
13
xing393939 2017-07-11 17:28:42 +08:00
webRTC 用来做多人视频会议还是挺不错的,浏览器兼容性参考这个更清楚: http://caniuse.com/#search=webrtc
|
14
redsonic 2017-07-11 17:30:25 +08:00
每次同步完 chrome 的版本库编译前 第一件事就是把 webrtc 剔出去。
|
16
ghostheaven 2017-07-11 18:59:38 +08:00 via Android
考虑到碎片化的安卓系统 WebView,iOS 和一堆国产浏览器的适配,这个技术现在还处于未普及的状态。
给你的客户提供 Chrome 浏览器的安装包可能比技术上兼容古董级浏览器效率更高。 |