Hangouts高清视频的背后:从H.264编码向WebRTC的进化

6990460438_3db0c27fc6_b-e1340743229537

我们对于Google提出的WebRTC这个概念并不陌生,它可以通过调用JavaScript API或HTML5标准来实现浏览器中的无插件视频播放。目前,Chrome、Opera以及Firefox浏览器的最新稳定版本已经全部支持这一解码标准。

而现在,Google+的Hangouts正在逐步摆脱传统的H.264编码,向WebRTC演进。但目前在过渡阶段,Hangouts的视频先从H.264过渡至了新一代的VP8标准。不知道你有没有注意到在进行Hangouts视频时画质有所提升,画面波纹减少了。

这就是Google目前正在向Hangouts用户普及的VP8标准,它的最直观的特点就是能让Hangouts切换到高清画面。Google工程副总Chee Chew表示,使用主流的H.264编码传输Hangouts视频时,要想实现一个10人会议中所有的人均具有高清画面是一件不可能的事,这会占用巨大的处理器资源和宽带资源。而VP8标准则可以保证在低比特率的情况下,为Hangouts传输高清画面。

VP8最早由On2公司开发,由Google以BSD协议发行,是一个开源的视频编码格式。目前也只有Chrome、Opera一集Firefox等“开源阵营”的浏览器支持该格式的视频。VP8基于libvpx函数库构建,是WebM视频格式中处理视频解码的一部分。

那么VP8为什么意味着WebRTC在Hangouts中的普及呢?因为VP8是WebRTC的一个组成部分。VP8负责WebRTC标准中视频的解码工作,而音频用的则是Vorbis标准。要区分开,WebRTC是一个API接口,而不是一个视频解码标准。使用WebRTC进行实时视频传输应用的视频解码技术是VP8。

之所以说WebRTC是Hangouts未来发展的方向,目前的VP8是一个过渡,指的是未来Hangouts将会全面采用包括VP8解码器在内的全部WebRTC组件,其中最重要的一个组成组件则是它的 API。

chrome_webrtc

通过Network Stream API、RTCPeerConnection、Peer-to-peer Data API三类API接口,WebRTC可以实现按无插件播放视频,因为解码工作都交给了云端进行。这对于需要承载多人视频会议的Hangouts来说,技能保障高清画质而又无需调用本地视频插件。

“我们将在未来数月内将Hangouts全部移向WebRTC”,Chee Chew表示。之所以进展较为缓慢,是因为有些问题还未得到解决。比如,在WebRTC格式下,Hangouts中的一些人脸特效就无法轻易地实现。因为这些特效需要人脸识别、图形渲染等多个步骤,需要较多的计算量。

在转向WebRTC后,进行网页视频将无需插件,而Google也会因此终止于第三方视频插件开发商Vidyo的合作。2008年Google在Google Talk中推出视频模块时调用的就是Vidyo的视频解码插件。

 

更多有趣好玩的内容 尽在品玩微信公众号
brand

PingWest品玩移动客户端