PC端的网络视频直播主要是利用Flash实现,但是移动端的HTTP视频直播应用还有不少的争议,各家厂商都提出了不同的实现方案。微软提出了IIS Smooth Streaming,Adobe提出了Flash Dynamic Streaming,Apple提出了HTTP Live Streaming,Google则利用webm视频格式实现直播。
1. Apple HTTP Live streaming
Apple提出了基于客户端的HTTP自适应在线直播方案。服务器将视频切分成短时的视频片段,可以配置持续时间和视频质量。服务器还会生成一个播放列表,列表中顺序保存了视频片段的地址。客户端动态下载连续的视频片段,可以选择不同的视频分辨率。视频编码器采用基于MPEG-2传输流的H264。Apple的HTTP Live Streaming适用于iPhone OS 3以后的版本(包括iPad),还有安装有QuickTime X的PC。HTTP Live Streaming还支持加密和认证功能。
2. WebM Live Streaming
Google提出了WebM视频格式,可以用于视频点播也可以用于视频直播。 WebM是开放免费的媒体格式,专为web设计。WebMaster定义了文件存储结构,视频音频格式等。WebM文件包含了由VP8视频编解码器的视频流和由Vorbis音频编解码器的音频流。WebM文件结构设计基于Matroska容器。WebM的好处有两条:开放性创新性以及为web作出的优化。
开放性和创新性。web能够成功的核心就是他的核心技术是开放给任何人去实现和推动,比如HTML, HTTP, TCP/IP。视频正在成为web体验的核心,高质量、开放视频格式成为十分必要的。WebM是100%免费的,基于BSD许可证的开源项目。
为web作出的优化。网络视频服务与传统的在线直播和离线媒体都不一样,现有的媒体格式都是为离线媒体而设计的,而且做得很好。WebM关注于网络视频服务的特殊需求。1) 更低的计算量使其可以运行于任何设备,包括低功耗的上网本或者手机等。2) 简单的文件容器。3) 最高质量的实时视频传输。4) 最小编解码器配置,必要时由编解码器做出选择。
3. IIS Smooth Streaming
IIS Smooth Streaming是微软提出的在线直播服务。流技术用于基于web的方案,只要安装插件就可以支持Windows和iPhone平台。流技术的编码目前支持VC-1和H.264编解码技术。IIS Smooth Streaming利用不同分辨率的流切换方法,自适应调整比特率。
4. Adobe Flash Dynamic Streaming
Adobe的自适应流方案是基于Web的服务,所有的设备都可以通过一个浏览器和Adobe Flash插件实现。服务器保存了不同质量的流,通过客户端对用户带宽和CPU的反馈,在这些流中切换。该服务支持RTMP流协议,支持的编解码器有H.264和VP6.这个方案的优势在于Adobe Flash插件在客户端广泛普及,可应用的机会大。