随着智能终端的快速发展,网络视频服务正走向多屏融合。除了传统的TV、PC等观看方式,平板电脑和智能手机等设备都可以作为视频内容的终端,帮助用户随时随地访问视频内容,用户可以随意地在多屏间进行视频切换。
多屏的融合给用户带来无缝的播放感受,提升了用户的视频体验。通过提供多屏业务,网络视频运营商可以提高用户的黏着性,增加运营收入。贝尔实验室的研究调查表明,全球“多屏”用户有望达到6400万,业务收入将达到186亿美元。
多屏融合已成为趋势,但是在多屏应用环境下,如何保证用户多屏之间的无差异视频体验,对于网络视频运营商来讲并不是一件容易的事。
不同的终端在媒体处理能力、网络接入方式、屏幕大小等方面都有较大的区别,同时,在视频观看过程中,同一终端的CPU使用率、网络带宽也会随时间变化。
因此,网络视频运营商在发送媒体内容时,不但需要兼顾所有类型的终端,而且还需要适应同一终端在能力和带宽上的动态变化,才能保证用户平滑的多屏观看体验。
传统的流媒体技术,包括HTTP渐进下载和实时流媒体技术在解决多屏的流发送上都显得力不从心:
HTTP渐进下载在网络带宽利用和响应的实时性上有明显不足;
实时流媒体技术则在应对网络带宽的变化上有所欠缺。
因而,面对快速增长的多屏应用,寻找更有效的媒体发送技术是网络视频运营商面临的一大挑战。
面对多屏带来的挑战,自适应流媒体技术应运而生。它克服了实时流媒体技术以及HTTP渐进下载技术的缺点,能够动态适配网络带宽的变化,为多屏用户提供良好的体验。
自适应流媒体技术的工作原理是:首先将内容源文件通过转码生成不同速率的文件存放到服务器上;然后在内容播放时,根据终端的网络带宽和媒体处理能力,动态选择合适速率的内容文件进行发送,终端的网络带宽和媒体处理能力可以通过监控其视频缓冲区状态和CPU使用率、丢帧统计等参数获得。
根据实现的方式的不同,自适应流媒体技术可以分为基于推的自适应流媒体和基于拉的自适应流媒体。
基于推的自适应流媒体是由传统的实时流媒体技术发展而来的。
在传统的实时流媒体技术中,服务器将编码速率作为发送速率,以便匹配客户端的消耗速率,这样可以保证终端视频缓存的大小在一定时间内保持恒定不变,同时使得网络资源利用率最佳。
然而,如果网络出现时延或丢包,则终端视频缓存中数据包的恢复速率会低于消耗速率,最终导致缓冲区下溢出,播放中断。
自适应流媒体技术能很好地解决这一问题,通过终端定时向服务器汇报视频缓冲区状态、网络带宽、时延等信息,服务器可以在网络环境差的时候,选择低码率的文件发送,当网络环境改善时,选择高码率的文件发送,从而在变化的网络环境下也可为用户提供平滑的视频体验。
基于拉的自适应流媒体技术,本质上也是HTTP渐进下载。区别在于内容准备时,不同速率的文件都被切割成了一系列的片段存储在服务器中;在内容播放时,终端以线性的方式向服务器请求媒体片段,并以传统的HTTP渐进下载方式进行片段的下载。
因为HTTP渐进下载是尽可能地利用网络带宽来进行内容的下载,没有流量的控制机制,终端可以很容易地检测到服务器到客户端的可用网络带宽,从而决定下载更大或更小的片段,实现码率的自适应。
两种技术相比,在基于拉的自适应流媒体技术中,终端实现码率的控制,服务器的实现相对简单。
而在基于推的自适应流媒体技术中,服务器需要实现码率控制、重传和高速缓存机制,实现的复杂度要高很多。
目前,市场上存在多种自适应流媒体技术,从标准的类型来看主要有两大类:
一类是各企业的私有实现方案,如苹果公司的HTTP Live Streaming技术、微软公司的Smooth Streaming技术、Adobe公司的Dynamic Streaming技术;
一类则是一些国际标准组织制定的技术标准,如OIPF的HAS、MPEG的DASH、IETF的草案(由苹果公司提议的草案)。这些企业私有方案或技术标准大都采用了基于拉的自适应流媒体技术。
面对众多的自适应流媒体技术,该如何进行选择呢?
需要考虑的因素有很多,首先需要考虑的是技术的成熟度。HTTP Live Streaming、Smooth Streaming和Dynamic Streaming等几个私有实现方案在市场上有很多的应用案例,商业成熟度很高,如NBC就利用Smooth Streaming完成了北京奥运会的网络转播。而像DASH等由标准组织推出的方案,大多还处于讨论或试商用的阶段。
其次需要考虑的是终端类型,因为对于网络视频运营商而言,他们提供多屏业务的最基本出发点是覆盖更多的用户。
如果网络视频运营商希望在TV屏外提供PC屏服务,则他们需要首先考虑Smooth Streaming或Dynamic Streaming的方案,因为在PC平台上,Silverlight和Flash分别有70%左右与95%左右的渗透率。
如果网络视频运营商希望能够覆盖手机用户,则苹果公司的HTTP live streaming是不可缺少的,因为在两个最重要的手机平台iOS和Android上,都已提供了对HTTP Live Streaming的支持,而且在iOS平台上,这是唯一原创提供的自适应流媒体技术。
使用何种协议也是需要考虑的因素,相比HTTP协议,RTP/RTSP和RTMP协议有更高的传输效率,但是,在一些具有防火墙的网络中,HTTP则具有更好的穿透性。
最后需要考虑的是DRM功能。Smooth Streaming和Dynamic Streaming都提供了DRM内容保护功能。而HTTP Live Streaming不支持DRM,需要通过HTTPS类似的功能来提供安全保护。