面向OTT业务的智能电视系统架构设计
2012-06-26马立铭曹三省
马 骁 ,马立铭,b,曹三省,b
(中国传媒大学 a.信息工程学院 b.新媒体研究院,北京 100024)
1 OTT业务简介
OTT(Over The Top)业务最典型的特征是,其运营者利用网络服务提供商(ISP)的网络开展新媒体业务[1]。从世界范围来看,全球OTT有三种发展模式:第一种是美国完全以互联网架构为基础的开放模式;第二种是欧洲的兼顾传统广播电视与OTT业务的HbbTV模式;第三种则是中国强调内容监管的可管可控模式。
1.1 美国开放模式
美国业界将数字电视设备定义为以开放互联网服务为核心的终端,依托浏览器技术实现业务的传递与呈现。在该架构下,传统广电运营商、内容提供商、电信运营商、互联网企业、硬件设备商等产业链各环节均可根据各自的优势条件,直接参与OTT业务的运营。因此,这一进程推动了OTT业务向互联网电视、蓝光播放器、PC、iPhone、iPad、Android、Xbox、Wii、PS3等多终端的全面覆盖。美国OTT行业的代表企业有谷歌(Google)、苹果(Apple)、Netflix、Hulu等。
1.2 欧洲HbbTV模式
HbbTV(Hybrid broadcast broadband TV)作为一种混合广播技术,其与DVB标准相兼容,除最基本的广播之外,HbbTV在互动媒体服务方面则有VOD、时移电视、互动广告、在线购物等应用。随着家庭接入网速度的提高和信号质量的改善,基于互联网的宽带媒体也变得越来越可靠。但是欧洲的数字电视运营商认为应该以电视服务为核心,再在此基础上开展数字电视增值业务,对互联网应用需要进行有限度的兼容和采取围墙式的管理。
1.3 中国OTT电视的可管可控模式
中国OTT电视行业的发展必须符合中国国情,内容的可管可控是必须正视的问题。目前,针对互联网电视,国家广电总局采取牌照制的方式保证了对OTT业务的可管可控,由广电总局认可的集成牌照方负责提供内容播控,且互联网电视与牌照方客户端完全绑定,通过牌照方的集成播控平台对客户端实行控制和管理。
2 架构介绍
本文所提出的面向OTT业务的智能电视系统架构,从技术上以嵌入式操作系统为基础[2],通过移植并扩展WebKit浏览器内核以实现OTT业务的传递与呈现。同时,为遵循我国对开展OTT业务所制定的相关政策要求,本架构在设计上,向互联网电视牌照方及电视生产商提供了网络管理接口层,支持特定的网络接入策略进行二次开发,以实现对OTT业务的可管可控。
在本架构中,基于WebKit浏览器内核的智能电视应用程序基于Web技术构建,利用Web技术开发应用程序,有着部署成本低、迭代更新快捷、跨平台等优势,开发人员通过编写HTML、CSS、JavaScript代码即可实现功能逻辑的跨平台运行。在此种架构中,浏览器内核负责网络通信、内容渲染和脚本解释运行等内部底层工作,并提供人机界面以呈现页面及响应用户交互操作。
本架构自底向上分别为Linux Core(内核)层,Way⁃land层,Qt Lib层,系统管理层和基于Qt接口的WebKit层,以及JavaScript框架层。图1展示了本文所提出的系统架构。
2.1 Linux内核
Linux作为开源操作系统内核,广泛应用于嵌入式系统、移动终端、服务器及个人电脑等领域。选用Linux内核作为底层操作系统主要是由于它的开源特性使得系统可以根据项目的需求进行定制。同时,其在ARM架构和X86架构下都有现成的操作系统作为参考借鉴,例如An⁃droid,WebOS等[2]。
Linux内核层为底层硬件加载了操作系统,且为上层的Wayland提供支撑环境。
2.2 Wayland
Wayland是一个新兴的轻量级窗口管理系统。它的架构使得它可以直接绘制和合成窗口,这样带来的最为直接的好处就是桌面图形的渲染效率将会非常高。这对于智能电视系统架构无疑是一种明显的优势。
同时在最近的GTK+和Qt 5版本中,已经对Wayland提供了相应的接口。图2描述了Wayland的工作模式。
2.3 Qt库
Qt是一套跨平台的GUI程序开发框架,本架构使用Qt的主要原因是Qt对WebKit的内核封装的较为完善,而且其特有的信号槽技术使得事件处理得到简化。
2.4 系统管理器层
该层基于Qt库,为整个系统提供内容管理、进程间的通信、窗口切换等管理功能。其中的网络接入管理模块(Network Acess Manager)通过调用Qt提供的网络管理库以及相应的底层驱动模块实现对网络接入的管理。在此模块的基础上提供相应的接口,牌照商和电视生产商可以利用接口层针对特定的网络接入策略进行二次开发,以实现对OTT业务的可管可控。
2.5 WebKit浏览器内核
WebKit内核引擎包含WebKit,Web内核和JavaScript内核三大部分。WebKit层为上层应用提供了一个呈现的平台。使得应用的界面通过简单的CSS与HTML标签得到呈现。相较于传统的GUI编程,这无疑大大简化了开发者的工作量。同时,JavaScript的“无须编译,解释执行”的特点,缩短了开发周期。
2.6 JavaScript封装
JavaScript封装层的作用类似于Windows操作系统下GUI编程的MFC[3]。通过对WebKit层进行内核级的C++扩展开发,使得JavaScript具备一些操控底层硬件的功能,并通过封装,为上层的开发者提供API接口,使得应用程序的开发者可以更为方便地进行应用的开发。
3 关键部件设计
3.1 Qt库和Wayland窗口系统的连接
Qt库提供了一个名为Qt-Lighthouse窗口系统的抽象层,为Qt图形库屏蔽了窗口管理系统的异构性,这使得Wayland窗口管理系统对于Qt库是“透明的”。
针对不同的Wayland模块,Qt库也提供了与之对应的封装。在Wayland窗口系统中,Compositor模块向上层提供显示服务,对于该模块,Qt封装了一层Qt-Compositor作为Qt-Lighthouse访问Wayland Compositor的接口。显示 信 息 传 递 到 Wayland-client模 块 ,由 Qt-Lighthouse Wayland Plugin接口获取,Qt应用程序就可以利用Qt-Lighthouse Wayland Plugin的API获取到显示信息(如图3所示)。
3.2 系统管理层(System Manager)的结构
系统管理层的功能是管理运行于WebKit环境之上的多个应用程序及实现对各种资源的调度[4]。
应用程序运行在WebKit平台之上,其资源的调用需要通过系统管理层。举例来说,应用程序需要打开位于硬盘里的某个文件,则需要向系统管理层发送请求,由其通知文件管理系统以打开文件。除了文件管理,进程的管理、各种应用程序间的通信都要通过系统管理层进行[5]。系统管理层结构如图4所示。
3.3 网络接入管理
网络接入管理由位于系统管理层的Network Acess Manager模块实现,其主要目的是为硬件厂商和内容的提供方提供一个可以操作网络接入方式的有效途径。Net⁃work Acess Manager模块将提供一个编程接口(SDK包),这样,便可以通过二次开发,定义网络接入方式、控制网络访问策略,从而对OTT业务在网络接入层面进行管理。
在本文提出的架构中,将提供一个Network Acess In⁃terface抽象类,提供了包括HTTP协议的get请求、post请求、是否接入网络(Network Accessibility)等在内的纯虚函数。内容提供方可以通过继承此抽象类、重写纯虚函数的方法,按照自己的需求定制网络接入服务的具体逻辑。而Network Acess Manager模块提供的只是一种如何与本架构进行交互的“规范”。
3.4 对WebKit的扩展
原生的WebKit内核主要针对标准浏览器进行页面解析及渲染,而针对在智能电视终端上开展的OTT业务,需要在其支持标准的HTML,CSS和JavaScirpt基础上进行一定的扩展开发[6]。
对WebKit的扩展主要有两个方面,一是扩展WebKit从而形成针对智能电视的插件体系,二是扩展JavaScript的执行上下文(Execution Contexts)。插件的目的在于使WebKit的功能得以扩充,完成对智能电视底层资源的调用。而对JavaScript执行上下文的扩展是实现JavaScript Encapsulation层的基础[7]。
利用QwebPluginfactory类,可以定制开发构建出基于QtWebKit的插件体系。通过这种方式,可以在WebKit内核中嵌入用C++扩展的应用程序,实现本地应用程序与基于Web的应用程序交互。例如:可以用C++编写存储介质中音视频文件检索及访问的扩展,通过插件的方式嵌入到智能电视内核中,并通过JavaScript脚本与之进行互操作,完成具体业务逻辑。以上思路的实现方法是,在QtWebKit提供的API中,向浏览器对象模型(BOM)的根节点window添加扩展对象,以该对象为桥梁,即可实现应用程序的C++模块与JavaScript之间的互操作,流程如图5所示。
4 结论
在三网融合及新媒体终端不断涌现等多种因素的带动下,以互联网为基础而形成的OTT业务以其形式多样、内容丰富、交互性强的特点,将成为下一代电视的发展方向。本文提出的以Linux操作系统为基础,以WebKit内核为核心,通过适当扩展而形成的智能电视架构,因其开放性和可扩展性,为OTT业务的开展提供了技术支撑。
与此同时,在本架构设计中,充分考虑到了对内容可管可控的要求,在网络接入管理层提供了二次开发接口,以支持特定的网络接入策略,保证内容提供方在获得监管部门许可的情况下向用户推送OTT业务。
希望中国OTT业务的开展与相关技术体系的发展能够相互促进,为推动三网融合起到正向牵引作用。
[1]BERTIN E,CRESPI N,L’HOSTIS M.A few myths about Telco and OTT models[C]//Proc.the 15th International Conference on Intelli⁃gence in Next Generation Networks,2011.[S.l.]:IEEE Press,2011:6-10.
[2]Apple IOS、Android、WebOS系统体系架构对比[EB/OL].[2012-03-03].http://my.oschina.net/zjhe223/blog/13070.
[3]HE Xiangzhen,WU Zhiqiang,MENG Xianghe,et al.Research into mobile learning based on WebOS[C]//Proc.2011 International Con⁃ference on Internet Technology and Applications(iTAP).[S.l.]:IEEE Press,2011:1-3.
[4]VAHDAT A,ANDERSON T,DAHLIN M,et al.WebOS:operating system services for wide area applications[EB/OL].[2012-01-03].http://www.cs.berkeley.edu/~culler/papers/hpdc98.pdf.
[5]李阳,黄文明.IPTV中EPG模块的设计与优化[J].电视技术,2011,35(21):73-76.
[6]蒋章概,陈榕.基于CAR构件的WebKit本地扩展策略[J].计算机应用,2009,29(S2):195-197.
[7]刘小卫,何海洋.基于WebKit的数字电视终端软件[J].中国数字电视,2011(9):68-69.