Page 308 - Web性能权威指南
P. 308

身份与验证

                WebRTC 两端之间的 DTLS 握手有赖于自签名证书。而这样的证书不能用于验证
                身份,因为没有要验证的信任链(4.4 节“信任链与证书颁发机构”)。必要的情况
                下,WebRTC 应用必须自己对参与各端进行认证和身份验证:

                •   Web 应用可以利用之前用于建立 WebRTC 会话的身份验证系统(比如通过登
                   录来验证用户);
                •   此外,每一端也可以在生成 SDP 提议 / 应答时指定各自的“身份颁发机构”,
                   等对端接收到 SDP 消息后,可以联系指定的身份颁发机构验证收到的证书。
                后一种“身份颁发机构”机制是 W3C WebRTC 工作组目前还在讨论和制定的一种
                机制。要了解最新进展,可以阅读相应的规范和邮件列表。


               18.5.2 通过SRTP和SRTCP交付媒体

               WebRTC 以完全托管的形式提供媒体获取和交付服务:从摄像头到网络,再从网络
               到屏幕。WebRTC 应用指定获取流的媒体约束,然后通过 RTCPeerConnection 对象注
               册它们(图 18-13)。从此以后,就都是浏览器提供的 WebRTC 媒体和网络引擎的事
               了:编码优化、处理丢包、网络抖动、错误恢复、流量、控制,等等。



                                  ᆌᆩ                              ᆌᆩ










                                              एᇀUDPڦSRTP

               图 18-13:通过 SRTP 和 SRTCP 交付音频和视频

               这种架构设计的用意很简单,就是应用除了在一开始指定媒体流的约束外(如 720p
               还是 360p 视频),无法直接控制媒体如何优化以及如何交付给另一端。这样的设计
               是有意为之的,毕竟,通过带宽波动、分组延迟的不可靠传输机制交付高品质、实
               时的音频和视频,不是一件容易的事。浏览器可以替我们做这些事。

               •   不用关心提供的媒体流的品质和大小,网络组件会实现自己的流和拥塞控制算法,
                 让每个连接开始时的比特率保持较低(<500 Kbit/s),然后再根据带宽调整流的
                 品质;


               298   |   第 18 章
   303   304   305   306   307   308   309   310   311   312   313