介绍一下Microsoft Edge中的WebRTC 1.0以及交互实时通信技术

作者:Bernard Aboba & Shijun Sun(原文链接

翻译:刘通

         我们很高兴的宣布在Microsoft Edge浏览器中,已经支持了预览版的WebRTC 1.0 API,以及H.264/AVC和VP8视频编解码器,以及夸平台和浏览器的可交互视频通信解决方案。

         这些功能将会从上个星期发布的15019版本开始内置在Windows内部预览,并且会从Windows 10开发者更新开始稳定更新。

 

背景及Object RTC

         Microsoft Edge从EdgeHTML 13(Windows 10版本1511)开始支持ORTC,给Edge浏览器提供了实时通信的基础。我们关于WebRTC 1.0 API的优先工作是利用已有网站的基础提供可交互性,这些网站之前在其他浏览器中应用过WebRTC API。

         我们的WebRTC 1.0 API实现基于2015年W3C WebTC-PC API,提供了端到端音频和视频支持。因为这个实现主要是注重于遗留的交互性,我们并不打算在这次更新以外继续更新本地WebRTC 1.0 API。

         为了在Microsoft Edge RTC堆栈中使用最先进的特性,我们建议考虑使用ORTC API,尤其是在那些更希望直接单独控制传输,发送端,以及接收端对象的时候,或者想设立一个组音视频通话的时候。如果你需要使用现在的WebRTC 1.0 API支持对象或者先进的特性,比如多流和同时联播,我们建议使用adapter.js库,其现在支持微软Edge浏览器了。

 

Codec交互性

         Microsoft Edge RTC堆栈支持H.264/AVC和VP8视频编解码器,意味着视频通信现在在Microsoft Edge浏览器和其他主要WebRTC浏览器及RTC服务器之间可以进行交互。我们实现了下面的对于H.264/AVC和VP8视频codec的拥塞控制和坚固性机制:

# 支持绝对发送时间报头扩展(abs-send-time)

# 支持Google接收端最大估计比特率,“goog-remb”

# 支持图像丢失指示(PLI)和通用NACK反馈信息,按照RFC 4585

# 支持RTP重传,按照RFC 4588

         这些特性在ORTC API和本地WebRTC 1.0 API中都包括,所以你可以独立地创建API和视频codec决定。

         注意,尽管Edge浏览器的H.264/AVC实现在编码器和解码器中都支持硬件卸载,但是VP8是纯以软件方式实现的,可能造成更高的CPU负载和更高的功率消耗。如果你的应用使用的是VP8,我们建议你在下端设备中进行测试,以确保得到可接受的表现。

 

接下来

         在我们的实时通信道路上,我们下一个目标是加入对W3C屏幕捕捉规范的支持,以及改善企业情景的支持。我们会在工作进程中分享进展以及预览版内容。同时,我们希望看到你们对WebRTC和我们目前RTC路线的反馈。你可以在预览版中先尝试WebRTC 1.0,如果你遇到了任何bug,请在Microsoft Edge平台问题上进行反馈,或者通过Twitter @MSEdgeDev进行反馈。

填写常用邮箱,接收社区更新

WebRTC 中文社区由

运营