互联网电视技术方案分析与比较夏勇(国家广电总局广播科学研究院互联网技术研究所)摘要:互联网电视作为一种新的内容服务方式正在快速发展。本文详细介绍了互联网内容传输技术发展历史,总结了互联网内容传输技术的三种方式。并针对目前国外主要的4种互联网电视技术方案进行了分析,重点研究了其中的关键内容,优势和不足。关键字:互联网电视流媒体传输方案1.互联网内容传输方式的转变在几年以前流媒体传输领域就出现了一种发展趋势,流媒体传输由传统的RTSPMMSRTMP等协议在线服务向纯粹的HTTP下载转变。现在已经有许多视频网站采用HTTP传输方案进行媒体内容的传输,形成这种转变主要有以下几个理由:CDN以及服务器主机提供的网页下载服务比传统的媒体流服务要便宜;传统的媒体传输协议通常很难穿过防火墙或是路由器,因为它们主要是基于UDP协议不定端口传输,而HTTP协议没有这个问题,HTTP基于80固定端口,网络设备对80端口默认支持;HTTP方式媒体传输不需要特别的缓存或代理;通过HTTP封装将数据传给用户比其他方式更加方便及便宜;即使流媒体传输协议是设计用来专门传输媒体的,但事实上是互联网是基于HTTP方式来建设和优化的。这便产生了一个有趣的问题,“为什么要整个互联网去适应媒体传输,而不是让媒体传输适应互联网”。2.互联网内容传输三种形式互联网上媒体传输主要有三种类型:传统流媒体、渐序性下载及自适应流媒体传输。2.1传统流媒体RTSP协议是一个典型的流媒体传输协议,也是一个有状态的协议。有状态的意思是指从客户端连接上流媒体服务器的那一刻起,一直到客户端断掉与流媒体服务器端的连接,流媒体服务器一直保持着与客户端的连接状态。客户端通过play、pause、teardown等命令来与流媒体服务器进行通信。在客户端和服务器端建立连接之后,服务器端开始稳定发送小数据格式的媒体流,传输协议通常采用RTP协议,RTP数据包是1452字节,这就意味着在一个1Mbps视频流中,每个数据包包含大约11毫秒的节目。RTSP协议既可以基于UDP传输也可以基于TCP传输。UDP比TCP更容易被防火墙或代理服务器阻隔,但是TCP容易产生延迟。从另一个方面来说,HTTP是一个无状态的协议。如果HTTP客户端请求数据,那服务器端会及时响应,但是服务器不会记住客户端的状态,每个HTTP请求都是在一个时间会话中独立处理。HTTP无状态协议很难直接应用在媒体流传输上。WindowsMediaService使用改进版本的HTTP协议,MS-WMSP协议作为微软媒体传输的基础协议。MS-WMSP使用标准的HTTP协议来传输数据和信息,同时也为此会话状态,有效的将HTTP协议转化成类似RTSP的传输协议。类似RTSP和WindowsMediaHTTP传统流媒体协议有两点比较重要:服务器向客户端实时发送数据包,媒体流的码率在编码时被决定。例如:一个视频节目被编码成500Kbps的码流,那么传输到客户端的码率大约也是500kbps。服务器只会发送部分未播放节目的数据包去填充客户端缓冲区。通常,客户端的缓存区是1秒到10秒之间。这就意味着,如果你暂停一个节目流10分钟,在这段时间内大约只有5秒钟的节目被下载到客户端。2.2渐序性下载另一种通常的互联网媒体传输形式是渐序性下载,它本质上和从网页服务器上下载一个文件差不多。大多数的播放器和媒体传输平台支持渐序性下载,渐序性来自于大多数播放器允许媒体文件回看,而后台同时也在下载节目。支持HTTP1.1的客户端能够定位到未下载完整的文件位置。目前流行的视频分享网站包括:YouTube、Vimeo、Myspace、MSN都支持渐序性下载。不像传统流媒体服务器很少能在一个时间段内够发送超过10秒媒体数据给客户端,HTTP网页服务器能够保证持续的节目数据传输直到整个文件下载完成。即使客户端在回看时暂停节目播放,节目数据依然会持续下载到浏览器的缓存中,保证用户能有良好的收看体验。这种方式也有它的问题,如果客户端找30秒内下载完成了10分钟的节目,而用户只观看了30秒钟的节目就退出观看,那就浪费了9分30秒的带宽资源。为了解决这个问题,微软IIS7.0提出了一个名为“BitRateThrolling”的技术,它能够控制流媒体服务器的内容传输速率,以达到减少带宽浪费的目的。2.3HTTP为基础的流媒体自适应传输HTTP为基础的流媒体自适应传输是一种混合型的传输方式,它的传输动作类似流媒体,但是实际上是基于HTTP渐序性下载。HTTP为基础的自适应流媒体传输的好处是使用了已有的HTTP协议而不是去开发一个新的传输协议。微软提出的SmoothStreaming和移动网络自适应码流传输都是HTTP为基础的自适应流媒体传输的应用实例,该技术能够实现持续的小数据的下载,而不是一个大文件的连续下载。在典型的HTTP为基础的自适应流媒体传输方案中,音视频节目被编码成许多小的数据片,这些小的数据片组成一个数据块,一个数据卡通常是2~4秒长。从编码技术角度,一个数据块正好就是一个GOP的大小,每个GOP里有一个关键帧,每个数据块或GOP的解码都是独立不依靠其他的数据块或GOP。码流自适应技术有几个共同的技术特点,第一,它从同一个源产生多个不同码率的节目流以适应不同的带宽和不同的设备类型。第二.自适应分发文件以及码流传输的变化都是适应有效网络吞吐量和可用的CPU资源。第三:所有的操作对用户都是透明的,节目流的切换都在后台进行,用户很难注意到节目流的变化。同时,码流自适应技术运行特点也是相似的,当然也有几点关键不同点,相同点是所有的码流自适应技术都有几个相关的关键参考参数,例如:视频缓存区状态、网络有效吞吐量、CPU利用率以及丢帧后消耗的计算资源等,这些参数决定了何时去改变码流。不同厂家的在码流自适应技术一个关键的不同就在是否部署流服务器上。一种设计方案是由流服务器来实现不同码率节目的切换,而另一种则没有码流服务器,而是同时部署多个网页服务器或利用一台网页服务器来提供不同码率节目的传输,而用户端的设备通过监视终端CPU利用率、缓存区状态等参数以决定何时在不同的码率节目见切换。自适应流媒体传输相对与传统流媒体传输具有以下几个优点:(1)由于该技术方案能够充分利用广泛存在HTTP基础环境,它实施起来成本更低;(2)它具备了更好的伸缩性和可达性,减少了最后一英里带来的问题;(3)它能够让观众有更好的体验,而不需要内容提供商或运营商去猜测用那种码率传输更适合观众;对用户而言它同样具有以下几个优点:(1)快速播放以及拖动,因为播放或拖动节目都是在低码率下完成,等动作完成后客户端会主动切换到高码率上去;(2)没有缓冲等待、没有链接中断、没用回看停顿;(3)平滑的在不同码率节目间切换;目前,不同的IT、软件已经互联网企业已经看到了未来互联网电视发展趋势,纷纷推出自己的解决方案,以下主要想介绍Apple、Microsoft、Adobe以及MPEG组织的互联网电视技术方案。3.APPLEHLS3.1.1发展历史Apple公司首次在2009年IOS3.0中集成了HLSHTTPLiveStreaming技术,截止到今天HLS是全球应用最广发的互联网电视传输技术协议,该技术被广泛应用到Apple公司产品终端和机顶盒中。在2010年9月1日,StevenJobs报告中公开介绍了基于HLS的直播技术,同时宣布了APPLETV2。IPAD的成功很大程度上适合了用户使用IPAD看视频的需要。MeFeedia公司一向研究报告表明IPAD用户在线看视频时间长度是传统视频网站用户的三倍。3.1.2关键技术点HLS主要基于TS的视频流或文件进行封装传输,HLS类似一个容器封装MPEGTS传输格式。TS是广播电视行业中采用的节目传输格式。HLS编解码采用MPEG-4或H.264,音频采用AAC。这样技术路线使得APPLE可以使用成熟工业标准,将其应用在互联网电视技术方案上几乎不需要改动,对现有标准兼容的越好,HLS便可以更快进入到产业链中。HLS方案主要技术特点:(1)节目源采用H.264/TS编码格式,可变码率;使用流切片技术将一个完整的节目切成若干小片,通常是10秒每片,同时使用m3u或m3u8格式生成播放列表文件用来指导播放器如何播放文件切片;(2)通过HTTPServer分发节目,同时提供合适的缓存。HLS技术另外一个优势是能够实现动态自适应码率传输。相对于移动流媒体RTP传输技术,HLS能够根据终端用户带宽的可用性在终端而不是在前端视频服务上,实现对码率的切换。这种实现方式是为用户在无保障的网络上提供好的用户体验。(3)索引文件说明了在同一个频道或文件中不同码率节目流的对应性;(4)终端根据接收切变文件的时间长度来选择最合适的码率;(5)每个切片文件最长10秒,所以接收设备可以自动适应码率变化;开发基于HLSDRM客户端并不困难,Verimatrix,Widevine,NDS,Latens与SecureMedia一些DRM公司基于PC平台的DRM解决方案也可以适应HLS方案。如果进一步研究HLS中的DRM技术,会发现HLS只是描述了如何利用128位AES算法加扰HLS流,并没有说明如何从DRM密钥服务器中获取密钥。这就说明DRM与HLS之间并不完全兼容。3.1.4优势截至到2011年9月,APPLE已经出售了13亿台IPHONE,6千万台IPODTouch,以及超过3千万台IPAD,因此HLS技术有着巨大的市场,特别是针对便携设备。HLS为不可靠的开放网络提供了一种有效的码率自适应方案。HLS使用成熟的H.264编解码技术,目前H.264解码芯片提供商有很多。HLS基于TS技术,使得它可以很容易集成到已有的数字电视系统中,许多IPTVDRM方案提供商能够提供相应的解决方案。3.1.5不足自适应技术方案只限制在用户端,这种动态方法可能限制某些专业用户希望能够自己对特殊内容传输进行微调和控制;APPLE并没有支持主要浏览器集成HLS,缺乏插件使得利用WebTV收看HLS节目变得困难;HLS主要使用MPEG标准,兼容HLS技术的设备可能需要向MPEGLA支付一定的专利费。HLS中DRM加密采用是端到端整体加密实现,这样降低了系统的灵活性;目前,HLS只能提供一个音轨在一个视频流中。IOS5能够提供可切换的音轨,但是音轨数量被限制在2个,而在SmoothStreaming或MPEG-DASH中则对音轨的数量没有限制。3.2MicrosoftSmoothStreaming3.2.1发展历史微软在1998年在NetshowService和WindowsMediaPlayer6.1中首次采用了根据客户端状态自适应节目传输码率的“streamthinning”的技术。该技术通过自动检测终端网络情况,自动减少帧率。在网络条件比较恶劣的情况下,客户端可能会终止整个视频的播放而只是播放声音。最早的多码率媒体流传输时在Microsoft2000中,作为WindowsMediaTechnology4.0和WindowsMediaService4.1服务的一部分,和WindowsMediaPlayer6.4一起发布的。在2002年,微软在WindowsMedia9系列产品中引入了“IntelligentStreaming”。IntelligentStreaming依然采用ASF封装格式,但是在该技术的设计上,它将带宽侦测、streamingthinning、MBR以及更好的图像处理结合起来。随着技术发展,微软在2009年发布MicrosoftSmoothStreaming是Silverlight3.0相关标准。Microsoft在它的技术方案中采用H.264与AAC编码方案,也能够支持微软自己提出的WMA与VC-1或者能够支持3GP封装支持的编码方案。3.2.2关键技术点IIS采用MPEG-4Part14标准格式作为其文件存储格式以及传输封装格式。SmoothStreaming方案中定义每个文件块/GOP作为一个MPEG-4电影帧,并