新版Safari支持VP8格式以及Unified Plan配置,将更符合WebRTC 1.0标准

Apple持续改进WebKit对网页即时通信WebRTC协议的支持,Safari 11是Apple第一个支持WebRTC的版本,现在Apple开始在iOS 12.2和macOS 10.14.4上测试Safari 12.1,这个版本对WebRTC实例进行重大更新,开始支持VP8视频格式、视频同步播放(Video Simulcast)以及Unified Plan SDP(Session Description Protocol)实验性功能。

VP8是一个开放免授权费的压缩视频格式,最初由On2 Technologies开发,而后On2 Technologies在2010年被Google并购,Google便将VP8贡献给WebM影音格式开放源码项目。 VP8对手是目前普及的网络视频标准格式MPEG H.264,而VP8的优势在于其为免费的标准。

VP8也被广泛用于许多WebRTC解决方案中,而Apple在iOS以及macOS的Beta测试版中支持VP8,也仅作为WebRTC的视频解码器,通过同时支持VP8和H.264 ,Safari 12.1可以与任何WebRTC端点交换视频。

H.264有其不可取代的优势,目前H.264仍为Safari的默认解码器,因为H.264支持硬件加速还可以支持进行即时通信,能提供良好的用户体验和电力效率。而且经过实验,在iPhone 7 Plus上,720p图片通话使用H.264的电池续航力,能比VP8还多出一个小时,因此在Safari提供H.264、VP8和Unified Plan,让开发者可以在单个链接上,依照需求容易地混合使用H.264和VP8。

另外,针对多方视频会议应用,Safari 12.1现在支持H.264和VP8的同步播放。视频同步播放是一种使用不同编码参数,包括不同的画面大小以及码率,对相同视频内容进行编码的技术,Apple提到,当SFU中央服务器向多个客户端发送相同内容时,SFU可以根据客户端的屏幕尺寸或网络条件,发送最适合的串流。

WebRTC使用SDP作为协商链接配置的格式,虽然之前的Safari版本只使用Plan B SDP,而现在新版本Safari将改用Unified Plan SDP,Apple提到,Unified Plan SDP能够提供灵活的方式表达WebRTC配置,而且能针对每个音频和视频串流传输进行独立配置。对每个链接最多使用一个音频和视频频道的网站,不会有重大的影响,反之,开发者的网站则可能需要进行调整。

采用Unified Plan SDP支持后,Safari对WebRTC 1.0 API的支持将更加完善,特别是在Transceiver API。目前Unified Plan仍然是实验性功能,只会在Safari技术预览版中打开。