Chrome 47 包含多项重要的 WebRTC 增强功能和更新。
从 Web 应用中录制视频
长期以来,MediaStreamRecorder
API 一直是热门的 chromium.org 请求,有超过 2, 500 颗星。媒体录制功能现已添加到 Chrome 的实验性网络平台功能标志后面,但目前仅适用于桌面设备。这样你就可以录制、播放或下载视频。我们提供了 WebRTC 示例代码库中的简单演示。如需了解详情,请参阅 think-webrtc 公告。如需通过屏幕截图录制视频的示例 Chrome 应用,请访问 github.com/niklasenbom/RecordingApp。这些是全新的实现方式,可能仍有一些错误尚未解决:如果您遇到问题,请在代码库上提交问题。
音频输出设备选择
发布了 MediaDevices.enumerateDevices()
。如需了解详情,请参阅 Chromium 问题 504280。除了 MediaStreamTrack.getSources()
已提供的音频输入和视频输入设备,您现在还可以枚举音频输出设备。您可在此次更新中详细了解如何使用该功能。
Windows 上的设备支持
现已在 Windows 上添加了默认通信设备支持。这意味着在 Windows 上枚举音频设备时,还会有一个 ID 为“communications”的通信设备条目。
默认音频设备(以及 Windows 上的通信)的设备 ID 将不再进行哈希处理(问题 535980)。而是支持“默认”和“通信”这两个预留 ID,它们在所有安全源中都是相同的。设备标签将转换为浏览器语言区域,因此开发者不应指望标签具有预定值。通过将拍摄时间戳一直传播到渲染算法,系统可以根据该算法选择合适的 Vsync,提高了视频渲染的准确性。对于 Windows 平台,Chrome 47 中的捕获时间戳也更准确。
代理处理
Chrome 47 新增了一项偏好设置,用于强制通过本地代理服务器发送 WebRTC 流量(如果已配置),这对通过 VPN 浏览的某些用户来说非常重要。这意味着 WebRTC 应用只能看到代理 IP 地址。请注意,这样做会影响应用性能,除非应用支持 TURN/TCP 或 ICE-TCP,否则根本不会起作用。请尽快查找新版 WebRTC 网络限制器扩展程序,以提供适用于此偏好设置的界面。如需详细了解 IP 地址“泄露”,请参阅 WebRTC 的后续步骤。
...等等
对于高延迟连接,数据通道吞吐量得到了极大的提高。
我们将在 Chrome 47 时间范围内逐步推出对 DTLS 1.2 的支持。
虽然此版本均不支持 VP9 和 H.264,但我们会继续努力,以确保在 Chrome 48 中支持 VP9 和 H.264 的初始版本(在标记后面)。
公共服务通告 (PSA)
- 从 Chrome 47 开始,
getUserMedia()
请求只能通过安全源(HTTPS 或 localhost)发出。 - 移除了 RTP 数据通道支持。所有仍在使用 RTP 数据通道的其余应用都应改用标准数据通道。
与所有版本一样,我们建议开发者通过 Canary 版、开发者版和 Beta 版试用 Chrome,并报告发现的任何问题。我们获得的帮助是非常宝贵的。如需获取有关如何提交优质错误报告的指引,请访问 WebRTC bug 页面。
样本歌曲
- MediaRecorder
enumerateDevices():
了解详情
- MediaRecorder 实现状态
- 媒体捕获和流编辑器草稿:MediaDevices
- 音频输出设备 API
- WebRTC 更新