Page 283 - Web性能权威指南
P. 283
之,采集及处理音频和视频很复杂。不过,好消息是 WebRTC 会让浏览器具备功能
完备的音频和视频引擎(图 18-1),由它们替我们完成处理信号等琐碎的工作。
WebᆌᆩAPIDŽW3CDž
ాևWebRTC API
ᅼೕᆅ ೕᆅ
ᅼೕՊஓഗ ೕՊஓഗ
۶ۯ0۪Ԉց ۶ۯ0۪Ԉց
࣮ำၩأ ཞօ
ইሯ ᆖၟሺഽ
ᅼೕ֑ण ೕ֑ण
ยԢᆘॲ
图 18-1:WebRTC 的音频和视频引擎
要详细介绍音频和视频引擎,轻易就能再写一本书,已经超出本书讨论范
围了。更多信息,请参考:http://www.webrtc.org。
获得的音频流要经过降噪和回声消除处理,然后自动通过一种优化的窄带或宽带音
频编解码器编码。关键在于,还要通过特殊的错误补偿算法消除网络抖动和丢包造
成的损失,这是重点!视频引擎的流程与此类似,但着眼于影像品质,选择最优的
压缩和编解码方案,应用抖动和丢包补偿,等等。
所有这一切都由浏览器负责,而且更重要的是,浏览器会动态调整其处理流程,以
适应不断变化的音频和视频流及网络条件。经过浏览器这一系列处理之后,Web 应
用接收到了优化的媒体流,然后可以将其输出到显示器和扬声器,发送给另外一端,
或者使用 HTML5 的媒体 API 进行后期处理!
通过getUserMedia获取音频和视频
W3C 的 Media Capture and Streams 规 范 规 定 了 一 套 新 JavaScript API, 应 用 可
以通过这套 API 从平台取得音频和视频流,并对它们进行操作和处理。其中,
WebRTC | 273