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

制定中的标准
                          WebRTC 可以为 10 多亿用户提供服务:最新的 Chrome 和 Firefox 浏览器
                          为它们所有的用户提供 WebRTC 支持!  话虽如此,WebRTC 标准仍然在
                          紧张地制定中,包含浏览器 API、传输层及协议。因此,本章讨论的个别
                          API 和协议有可能在将来发生变化。



               18.1 标准和WebRTC的发展

               在浏览器中实现实时通信不可谓不雄心勃勃,毕竟,这是 Web 被发明以来最重大的
               一次功能增补。WebRTC 脱开我们熟悉的 C/S 通信模型,重新设计了浏览器的网络
               层,同时引入了全新的媒体机制,而这对于有效处理音频和视频是必需的。

               正因为如此,WebRTC 架构由十余个标准组成,涵盖了应用和浏览器 API,以及很
               多必要的协议和数据格式:

               •   W3C 的 Web Real-Time Communications(WEBRTC)  Working Group 负责制定浏
                 览器 API;
               •   IETF 的 Real-Time Communication in Web-browsers(RTCWEB)工作组负责定
                 义协议、数据格式、安全及其他在浏览器中实现端到端通信必需的内容。

               WebRTC 并不是一个孤立的标准。虽然它的目的主要是实现浏览器间的实时通信,
               但设计它的时候也会考虑已有通信系统:VOIP(Voice Over IP)、各种 SIP 客户端,
               甚至 PSTN(Public  Switched  Telephone  Network,公共交换电话网),等等。这些
               WebRTC 标准不规定任何特定的互操作需求或 API,但它们会尽可能重用相同的概
               念和协议。

               换句话说,WebRTC 不仅要赋予浏览器实时通信能力,而且会把浏览器的全部功能
               带到通信行业——2012 年产值 4.7 万亿!不必说,这个步子迈得很大,很多电信巨
               头、企业及创业公司都紧随其后。WebRTC 可远远不止是浏览器的一个新 API。

               18.2 音频和视频引擎


               要实现电话会议功能,浏览器必须访问系统硬件采集音频和视频。为此,无需第三
               方插件或自定义的驱动,只要使用一套简单统一的 API 即可。可是,只捕获原始音
               频和视频流还不够,还需要对它们分别加以处理以增强品质,保证同步,而且要适
               应不断变化的带宽和客户端之间的网络延迟调整输出的比特率。

               接收端的处理过程相反,必须实时解码音频和视频流,并适应网络抖动和时延。总



               272   |   第 18 章
   277   278   279   280   281   282   283   284   285   286   287