

WebRTC应用程序如何与浏览器更新同步?(一) | WebRTC中文网-最权威的RTC实时通信平...
source link: https://webrtc.org.cn/20200313-browsercompatibility1/?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

WebRTC应用程序如何与浏览器更新同步?(一)
如果你正在使用WebRTC进行开发,那你需要特别注意浏览器版本的更新。因为这些版本可能会破坏你的应用程序。下面我会谈谈我是如何处理这个问题的。
过去一周内,我不止一次被问到WebRTC的向后兼容性如何。这是一个内涵丰富的话题,我们用一个比喻来说明WebRTC的开发过程,请看下面这个视频。
Saudi’s Again Changing Wheels Tyres while driving!
当你使用WebRTC进行开发时(特别是Google WebRTC团队的开发人员),你会感觉就像在高速公路上边开车边更换轮胎。
浏览器更新周期
浏览器的更新周期很短,也很复杂。
- Chrome和Firefox大约每6周更新一次
- Safari每年两次
- Edge刚开始使用Chromium。微软会选择哪种更新频率呢?是以Google Chrome的速度来、比它更快还是更慢呢?我们拭目以待。
- 这就是大致思路的梳理。下图是2017年的数据,右栏是我们上述情况的总结:
浏览器自动更新发生在大型版本更新期间,短于2个月(Safari是例外)。并且在必要时,自动更新会主要版本更迭期间发布并推送安全性或稳定性版本。
2020年,浏览器更新频率将保持不变,甚至更快。
WebRTC的改革步伐
说到我过去几年中使用WebRTC的经验,下图很好地做了总结:
对于终端用户而言,这是真正的乐趣。大多数人甚至不知道他们正在使用WebRTC,但他们确实在用。
另一方面,开发人员则惴惴不安。因为不断的变化意味着他们面临的挑战更多。
不得不说,这比我们以前的替代方案好得多。
WebRTC保持不断变化的方式有3种:
- WebRTC浏览器实现与WebRTC规范。我们正在处理尚未完成的协议规范和更改浏览器,以缩小实现与规范内容之间的差距。这些更改有时不能向后兼容;
- 引入新功能。mDNS是一个很好的例子。不建议使用DTLS 1.0也是一个好的范例。接下来是Google Stadia(及其他)的播放延迟增加。不知道为什么,有些必须添加的内容是为提高安全性或连接性而引入,但他们可能会破坏互操作性;
- 优化。在实现中不断变化可以提高性能。在这里你可以重写回声消除器、修改音频的整个线程模型,并从接收器侧带宽估算切换到发送器侧。
这些不仅是新功能的介绍。更重要的是这些新功能包含大量WebRTC本身的行为更改。
WebRTC的改革步伐不会在2020年放缓。
WebRTC服务器端挑战
如果你的应用程序在云中并且在浏览器之前运行,那么你要做的就相对简单了。只要你会用adapter.js之类的工具、熟练使用各种浏览器的beta和开发通道,那么大多数情况你都可以应对。
但一旦你使用媒体服务器,事情就会变得复杂了。
现在大多数媒体服务器都是开源的。维护它们的团队规模很小并且有很多工作要做。二商用服务器情况也不很乐观。
我们知道,Google WebRTC小组会开发功能、错误修复和优化。他们的主要关注自家的需求、规范内容以及与其他浏览器的互相操作性。即使他们愿意,他们也无法放下手头的工作去向周围人解释一切。
原文作者:Tsahi Levent-Levi
Recommend
-
141
作者: 张鹏,资深音视频工程师 janus介绍 janus是Meetecho开发的一个WebRTC网关,janus的主要作用就是它可以和你的内网设备和浏览器同时建立连接,并将浏览器发来的音视频…
-
23
用WebRTC的Insertable Streams API把元数据添加到媒体帧 以前,许多WebRTC功能只有在本机应用程序中才能使用,包括带有修改后的Chromium代码的电子应用程序。 如今,借助WebRTC NV API,其...
-
25
AV1 vs HEVC——WebRTC编解码器之争卷土重来?(四) 有关最新WebRTC视频编解码器的常见问题解答 Web WebRTC是否支持HEVC(H.265)? ...
-
25
WebRTC+MongoDB+Vue+Docker:全栈用开源项目,实现一个Slack 现在聊天和视频会议应用火遍全球。 Slack、Microsoft Teams、Zoom、Google Meet、Facebook Rooms等应用程序越来越受欢迎。这是因为Cov...
-
22
AV1、H.265与Janus的爱恨情仇(一) 距回顾有关Janus的内容以来已经过去了几周,我们大致陈述了许多不同的改进。现在我觉得是时候深入探讨一个主题了——
-
31
AV1、H.265与Janus的爱恨情仇(三) 要开展下一步,我们就要能访问实际的AV1 / RTP数据包,即弄清楚如何检测关键帧。最重要的是将捕获的数据包转换为可播放的媒体文件。
-
18
Android上的WebRTC——多设备如何启用硬件编码?(一) Badoo 和 Bumble 是海外的社交、交友约会平台与应用,于 2006 年在伦敦创立。据公开报道显示,其活跃用户达1.3 亿。
-
63
Android上的WebRTC——多设备如何启用硬件编码?(二) 可以看到,Android仅对Qualcomm和Exynos芯片组启用了硬件编码支持。那么为什么标准的WebRTC实现不支持其他芯片组呢?最有可能是因为不同制造...
-
44
无法找到 20200703 Webgl2 ?hmsr=Toutiao Io&utm_Medium=Toutiao Io&utm_Source=Toutiao Io Oops! 你访问的...
-
29
博人眼球:用WebGL和WebRTC建造线上剧院(上) 简介 毫无疑问,我们过去几个月的生活与预期中的大相径庭。3月初隔离开始,我所有的投影设计工作都被取消了。我和几个好朋...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK