Zoom的Web客户端与WebRTC有何不同?

  • 时间:
  • 浏览:0

使用WebAssembly提供媒体引擎是非常有趣的,它允许支持Chrome/WebRTC不支持的编解码器。用emscripten编译的FFmpeg以后愿因做了过多次了,这里似乎也使用了emscripten。通过WebSockets传输编码后的数据,也能 使用Chrome优秀的调试工具检查RTP头和以后 帧来显示H264荷载。

原文 https://webrtchacks.com/zoom-avoids-using-webrtc/

令我惊讶的是,网络抽象层单元(NALU)没办法 表示H264-SVC。

DTLS-SRTP

尽管WebRTC 1.0还远远没办法 完成(为什么会么会让大多数开发人员仍在使用被称为“遗留API”的东西),为什么会么会让关于“下有另2个 版本”的讨论仍然过多。

Zoom Web client

和WebRTC的比较:

Zoom是非常出色的视频会议平台,拿Zoom的web客户端和WebRTC对比似乎有失公允。重要的是,未来WebRTC前会 不断做明智的改进。

Zoom网络客户端的总体设计强烈地提醒了我,在今年早些以后在斯德哥尔摩召开的工作组面对面会议上,Google的Peter Thatcher为WebRTC NV提出的建议。请参阅幻灯片(https://www.w3.org/2011/04/webrtc/wiki/images/5/5c/WebRTCWG-2018-06-19.pdf)。

Zoom有有另2个 Web客户端,允许参与者在不下载朋友的app的请况下参加会议。打开chrome://webrtc-internals显示没办法 getUserMedia用于访问相机和麦克风,为什么会么会让没办法 像WebRTC那样调用RTCPeerConnection。这我需用很感兴趣-朋友没办法 使用WebRTC是如保打电话的?

基于WebSocket传输媒体最主要的优势在于,它也能 在TURN/TCP和TURN/TLS被防火墙阻塞时,穿过防火墙。它外理了WebRTC TRUN连接不经过认证代理的问题报告 。这是Chrome WebRTC实施中长期趋于稳定的问题报告 ,去年才得到外理。

Zoom web客户端

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/83663344

RFC 5245 (RFC 8445)

加密

该设计的最大优点是也能 将编码器和解码器(以及相关的东西,如RTP打包)与浏览器分离,从而允许定制版本。主要问题报告 是找到一种好的最好的法子 ,以包括硬件加速的高性能最好的法子 使数据外理脱离主系统进程。这是Chrome早期面临的一大挑战,我记得过多关于沙箱让事情变得困难的抱怨。Zoom看起来很好,为什么会么会让亲戚朋友只尝试了1:1的聊天,而典型的WebRTC应用系统进程比一种要求更高以后 。重用像MediaStreamTrack另有另2个 的构建块来进行从工人到工人的数据传输也比使用Canvas元素和WebAudio要好。

这是以后 工作人员加载的WebAssembly (wasm) 文件

04000000

9062ae85bb9c9d74004000401bede0004124000003588b4002140021340000000000

1c4000000016764001eac1b1a682400bde54000000 ...

基于WebSocket的媒体传输整体设计非常有趣。它使用WebSocket传输媒体,这当然全部前会 最佳选用。例如于WebRTC中的Turn/TCP——它会影响传输质量,为什么会么会让在过多请况下全部前会 能很好地工作。使用TCP传输实时媒体的一般问题报告 是丢包,这会愿因重新发送和增加延迟。Tsahi前一段时间在TestRTC上描述了一种点,显示了使用一种方案对比特率和以后 社会形态的影响。

Simulcast

该最好的法子 是从工作组会议幻灯片中看到的:

Chrome实现

在WebSocket上接收的数据进入基于WebAssembly (WASM)的解码器。浏览器中的AudioWrkLead获取到音频数据。从那里,解码的音频使用WebAudio“magic”目的节点播放。

SCTP-based

就像朋友的网站上所说的那样,Zoom和WebRTC的关系比较错综复杂。

社会形态

n/a?

未知

基于WebSocket的媒体传输

总之,让亲戚朋友比较一下Chrome在本例中使用的与WebRTC标准(W3C愿因各种IETF草案)不同的地方:

基于安全WebsocketRTP

WebRTC下一版

将编码器和getUserMedia连接用于输入

将解码器与画布连接,WebAudio用于”布局”

n/a for Websocket

多码流

H.264

以一种最好的法子 连接RTCDataChannel反馈度量和音频/视频编码器

与Zoom最好的法子 相比,该方案具有非常明显的技术优势。例如,使用RTCDataChannels传输数据,这比WebSocket具有更好的拥塞控制社会形态,有点痛 是当趋于稳定分组丢失时。

编译用于wasm的webrtc.org编码器/解码器。

Audio codec

数据通道

web client上未研究

未研究

译 / 龙艳

WebSocket用于数据传输

Chrome网络开发者工具很慢了 了 显示了两件事:

另一方面,WebAudio通过getUserMedia调用捕获媒体数据,发送给WebAssembly编码器编码,为什么会么会让通过WebSocket传输。640*3400分辨率的视频数据在发送给WebAssembly编码器以后从画布中获取到,这是非常常见的。

视频被渲染出来,一种过程出乎意料的顺利,质量也非常高。

WebRTC/RTCWeb Specifications

JitSi团队最近通过比较质量宣告了这件事。Tsahi Levent Levi也对此发表了以后 有用的评论。为什么会么会让,让亲戚朋友在Chrome中运行一种非常有趣的环境下快速查看哪几种“优秀社会形态”。

为哪几种不使用WebRTC?

ICE

文 / Philipp Hancke

Opus

WASM文件似乎蕴藏 与Zooms本地客户端相同的编码器和解码器,这愿因网关暂且进行转码。相反,它愿因而是有另2个 websocet-RTP中继,例如于转换服务器。编码的视频有时以后 像素化。虽然编码器的CPU使用率相当高(在640×3400分辨率),但这愿因暂且重要,愿因用户愿因将问题报告 归咎于Chrome,并在下次使用客户端。

将编码后的数据通过不可靠的信道发送

愿因亲戚朋友要在2018重建WebRTC,亲戚朋友愿因愿因采取了例如的最好的法子 来分离组件。基本上采取以下步骤:

扩展社会形态