WebRTC 概述

作者:追风剑情 发布于:2023-12-20 13:19 分类:Unity3d

在 Google Chrome 浏览器中查看 WebRTC 日志,在地址栏输入 chrome://webrtc-internals/

WebRTC 隐私和安全

为了保护用户的隐私,必须在安全的内容中使用 WebRTC,所谓安全内容指如下两点。

  • 使用 HTTPS/TLS 加载的页面内容。
  • 从本地 localhost/127.0.0.1 加载的页面内容。

  如果在不安全的内容中使用 WebRTC,navigator.mediaDevices 值为 undefined,此时访问 getUserMedia() 将会报错。

  在第一次打开媒体设备时,getUserMedia 会弹出请求授权的提示框,如果用户通过了授权,浏览器会记录授权结果,同一域名不重复请求授权。

  浏览器必须明确显示媒体设备的使用状态和授权状态,当摄像头处于使用状态时,硬件指示灯必须亮起。另外,浏览器通常会在 URL 地址栏中显示媒体设备的状态。

在 iframe 中使用 WebRTC 时,需要明确为该 frame 请求权限,使用 allow 为 iframe 请求摄像头和话筒权限。

<iframe src="https://mycode.example.net/etc" allow="camera;microphone">
</iframe>  

术语

SDP(Session Description Protocol,会话描述协议)是一种应用于流媒体的互联网工程任务组(IETF)标准。

ICE(Interactive Connectivity Establishment,交互式连接建立)是一组基于offer/answer模式解决NAT穿越的协议集合。ICE是一个框架,它整合了STUN和TURN。

ICE Server,NAT穿透服务器。

Signaling Server,信令服务器。主要负责交换Offer/Answer以及同步ICE信息。

STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信。TURN与STURN都是NAT穿透的解决方案。

TURN (Traversal Using Relays around NAT) 通过数据转发的方式穿透NAT,解决了防火墙和对称NAT的问题。TURN支持UDP和TCP协议。

通信双方借助STUN协议能够在不使用TURN的情况下成功建立P2P连接。如有特殊情况,无法建立P2P连接,则仍需要使用TURN进行数据转发。

Offer/Answer(提议/应答),WebRTC的Peer连接基于Offer/Answer机制。

bit rate(比特率),指每秒钟传输的二进制数,值越大画质越高,文件越大。

人说话的信号频率通常为300~3000Hz,人们把在这种频率范围的信号称为话音(speech)信号。

图像原始数据编码格式YUV420P又称为I420P。Y stride表示每行有几个Y,U stride表示每行有几个U,V stride表示每行有几个V。在I420P中各stride都为width*height。


DTLS 传输层

标签: Unity3d

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号