IPTV终端中间件

发布时间: 2022-06-14 09:09:40
        图5-4给出了IPTV终端中间件的一般框架。
IPTV终端中间件的一般框架
图5-4  IPTV终端中间件的一般框架

一、设备驱动及资源系统

       设备驱动作为实现IPTV数据接收、解码、数据处理、显示等业务的基本硬件平台接口,是中间件软件平台调用的主要模块。设备驱动提供给上层应用或中间件软件平台各种各样的功能,从某种角度来说这些功能是一种系统资源,因此设备驱动模块又可称为资源模块。驱动模块或资源模块的上层接口为中间件软件平台移植接口,它包括实时操作系统(RTOS)、图形、消息管理、内存管理和设备驱动等几大子系统。主要资源模块有:
       ① 宽带网络接口模块(xDSLModem,Ethernet);
       ② 串口模块(SerialPort);
       ③ 解复用模块(Demux);
       ④ TCP/IP模块;
       ⑤ UDP/IP模块;
       ⑥ 智能卡模块(SmartCard);
       ⑦ 音频解码模块(AudioDecoder);
       ⑧ 视频解码模块(VideoDecoder);
       ⑨ 视频编码模块(VideoEncoder);
       ⑩ 音频编码模块(AudioEncoder);
       ⑪音频处理模块;
       ⑫视频处理与显示控制;
       ⑬输入设备模块(InputDevice);
       ⑭前面板显示模块(FrontPanel);
       ⑮加载(Loader);
       ⑯存储模块(Flash、EEPROM、HDD);
       资源模块层可以有不同的结构,这里不规定资源模块层的结构设计,各个软件设计可根据不同的硬件平台及驱动层模块的具体功能做出不同的设计方案。不管方案如何,各个模块之间应有一定的独立性。因此硬件平台所提供的各个设备资源模块均被看作一个个独立的模块,对这些模块的调用均可按对象方法看待,任何调用均可看作对资源的利用。对于某些临界保护的设备,其对象是一个实际的驱动,执行驱动对应的硬件操作;而某些对象是一个虚拟的设备,在调用该对象时由设备服务器层进行处理和解释,并执行相应的功能,但没有实际唯一对应的设备进行响应,它或许是几个设备的一个组合,或许是一个逻辑的数据处理。资源模块具有以下一些特征:
       (1) 每个资源模块均对应着一个或几个相应的底层驱动设备,此设备由硬件或软件组成。
       (2) 每个资源模块相对于其他的资源模块而言单独运行。它控制自身的行为,处理中断,并通过事件/消息与其他资源模块或应用程序间单独通信。
       (3) 中间件软件平台可以在多个线程里同时或不同时地调用同一个资源模块功能。对相同资源模块的调用及其环境值的保护均由资源模块封装层进行协调和管理。
       (4) 资源驱动模块的功能调用可以是实际对应的硬件操作,如解调,也可以是虚拟的设备,如数据装载等。
       (5) 对于应用层,每一个资源模块的调用都看作是一独立的行为,各资源模块之间的相互关系和系统资源共享等处理是系统设计和开发者的任务。
       (6) 应用程序对资源模块请求数据的回传方式有两种,一种是同步返回,即直接通过调用接口返回值返回;一种是异步返回,即驱动层执行到需要回传数据给客户端时以消息方式传给应用程序。

二、资源抽象层

        资源抽象层(Resource  Abstraction  Layer,RAL)包括系统抽象层接口和硬件抽象层接口。资源抽象层的目的是将具体的硬件平台实现与中间件内部模块设计隔离开来,使得同一套中间件软件能够平滑地移植到不同的硬件平台。该层仅为硬件平台和中间件软件内部提供匹配接口,不同的中间件软件可以由不同的资源抽象层实现。资源抽象层被用来与第三方机顶盒集成。也就是说对于任何第三方机顶盒厂家,只要实现了本层的软件,客户端中间件和应用程序都可以运行在任何机顶盒厂家的机顶盒里,不需要对不同的硬件和操作系统做适配。

1. 系统抽象层接口

       系统抽象层(SAL)负责对操作系统进行抽象,它封装了所有的通用操作,包括任务、定时器、消息队列等,以及一些公共的数据结构,如队列、堆栈等。系统抽象层屏蔽了操作系统,因此它应该能支持多种操作系统,如VxWorks、Linux、WinCE等。通过使用SAL层接口,应用程序和系统软件层不需要关心当前使用的是哪种操作,而且这些应用软件能非常容易地移植到不同的操作系统平台。系统抽象层应该至少支持下列功能:
       (1) 进程管理;
       (2) 线程管理;
       (3) 信号量的管理;
       (4) 消息队列功能,包括创建、删除、读、写等;
       (5) 内存管理;
       (6) 定时器管理;
       (7) 网络操作;
       (8) 日期时间函数支持等。

2. 硬件抽象层接口

        硬件抽象层(HAL)负责对底层硬件平台进行抽象,它封装了所有底层硬件平台和接口设备的操作和接口,包括Flash,RAM,键盘、鼠标、遥控器等。接口抽象层维护一个来自于各种输入设备的键值队列,并且负责把这些键值传送到应用层。通过这种方式,应用层不需要关心当前使用的是哪种输入设备,而仅仅需要知道当前的键值以及怎么处理这些键值。为了达到这个目的,一个为所有输入设备服务的统一的键值映射表应该被定义。这层屏蔽了所有硬件平台的信息,主要功能包括:
       (1) 配置信息读写接口;
       (2) 状态灯操作接口;
       (3) 电源控制接口;
       (4) 文件读写接口;
       (5) CPU管理接口;
       (6) 视音频接口;
       (7) 内存管理接口;
       (8) 遥控器管理接口等。

三、IPTV终端业务逻辑适配层

        应用程序并不直接调用底层资源。中间件软件平台软件层为这些资源提供了一个抽象层,该中间抽象层将应用程序和硬件平台互相隔离开,可实现应用程序的可移植性和跨平台可执行性。中间件软件平台中包含有一个中间件框架,它负责启动应用程序、插件、中间件API库,管理所有应用程序、插件、中间件API库的生命周期,包括彼此之间的相互操作,便于各种应用程序能够协调地执行。
IPTV业务配置

1. 中间件API接口层。

        中间件API接口层向应用层开放一个让应用开发商迅速创建应用业务的应用程序接口。这些接口包含两部分:中间件功能接口和中间件管理框架接口。中间件功能接口覆盖了终端及终端和系统进行交互的各种功能,包括媒体传输和控制功能、升级下载服务功能、安全和认证功能、元数据接入管理功能等。中间件管理框架接口对应用层使用中间件功能接口提供必需的安全、管理支持。中间件API是和终端平台及网络无关的,基于该API接口开发的应用能在不同的支持该API接口标准的网络上运行,也可以在支持该接口的不同终端平台上运行。

2. 终端中间件业务功能层

       终端中间件业务功能层实现中间件管理框架、中间件的核心模块库、中间件RunTime及插件等功能。

3. 中间件管理框架

        中间件管理框架为中间件业务功能层及应用层调用中间件功能提供一些必要的外围支撑能力,如服务注册与发现、认证鉴权、服务订购、完整性管理等。中间件管理框架的作用是确保中间件功能接口的开放性、安全性、一致性和可管理性,保证了中间件业务功能层的有序运行。

4. 中间件业务功能横块库

        中间件模板库实现了对终端和系统交互的能力的抽象,它允许应用程序访问网络的各种能力,如媒体控制、升级下载、用户认证、消息服务等。

5. 中间件RunTime

        中间件RunTime实现各种协议及各种基本的中间件内核程序。

6. 插件模块(Plug-In)

       插件模块允许终端灵活引入各种特有的服务程序,以支持应用层调用它和系统或者增值服务器交互实现各种应用。应用可以是事先内嵌的,或者以插件的方式下载的。插件程序有两种可能的实现方案:
(1) 和中间件软件平台一起嵌入的c、c++代码或其他本地代码;
(2) 作为一个应用程序,此应用可以成为系统程序的一部分。
中间件API

四、中间件API接口

      中间件通过API接口向上层应用提供服务。中间件软件平台包含资源管理、安全和认证管理、初始化及下载服务、升级下载服务、媒体/RTSP服务器、DRM/CA、用户服务、通信控制、终端管理、元数据管理.Internet接入等。其中通信控制、资源管理、终端管理和Internet接入为可选组件。双模机顶盒的中间件软件平台基于同样的中间件接口提供DVB中间件功能。

1. 初始化及下载服务

       初始化及下载服务模块是机顶盒上电运行的第一个软件模块,它负责初始化机顶盒系统、准备运行环境及对机顶盒进行终端。它主要的功能应该包含:
       •  对机顶盒进行初始配置;
       •  系统初始化,包含应用管理初始化、启动DRM等相关任务、进行用户认证处理等;
       •  网络链接初始化,包括获取相关网络参数、配置接入模式等;
       •  系统资源初始化,包含内存的预分配、创建定时器、I/O设备及A/V编解码器的初始化准备;
       •  和其他中间件模块协同工作,如和升级下载模块一起完成软件的版本检査及实现软件升级,和安全认证模块一起完成用户的认证流程;
       •  对机顶盒进行终端。

2. 安全和认证管理

       安全和认证管理负责整个系统的安全机制,包括应用程序的鉴权和安全策略、用户认证、网络安全等。当机顶盒下载应用程序时,安全管理器必须对应用程序进行鉴权。运营商对应用程序进行数字签名,安全管理器将下载的应用程序进行数字签名的检査,确保应用程序没有被篡改。没有进行数字签名的应用程序只能具备基本的权限。附录3给出了一个IPTV机顶盒及用户认证授权模型。安全认证管理模块应该包含以下功能:
      •  用户认证及相关信息管理;
      •  应用业务授权;
      •  软件升级和下载时进行认证;
      •  网络安全策略管理;
      •  密钥、口令字及注册信息管理;
      •  家长控制相关信息管理;
      •  内容购买信息管理。

3. 升级下载服务

       升级下载服务负责机顶盒系统平台及应用软件的动态版本检査和更新服务,它完成应用程序的动态下载和应用程序所需要的一些IPTV特有数据的下载,如电子节目单的下载。升级下载服务模块主要完成下列功能:
       •  应用软件的升级和下载;
       •  中间件层软件的升级和下载;
       •  平台资源的升级和下载;
       •  应用层数据及其他配置数据的升级和下载;
       •  和安全认证模块一起实现软件和数据的合法性检查。

4. 媒体RTSP服务

       媒体RTSP服务管理负责管理媒体流、媒体呈现、媒体存储。对媒体流的控制包含单播、多播媒体流的媒体播放控制,也包括对针对IPTV服务的事件进行管理,如快进、快退、暂停、PVR录制及直播电视热键等。媒体RTSP服务模块包含以下主要功能:
      •  媒体流管理,如媒体流会话的建立、VoD控制、多播、单播、时移等;
      •  每天解码管理;
      •  媒体流呈现和控制模式管理,如播放、停止、暂停等;
      •  字幕呈现;
      •   DRM触发;
      •  媒体缓存管理;
      • PVR和存储管理。

5. DRM

       DRM负责处理权限控制消息、权限管理消息,它提供独立的接口。DRM的接口提供给应用程序一个高级接口来访问条件接入系统,而底层的条件接入系统在处理权利控制消息和权利管理消息时,并没有暴露给上一层的应用程序。DRM模块屏蔽了不同的DRM系统的差异性。DRM模块的主要功能包含:
      •  许可证管理;
      •  权限管理;
      •  密钥管理;
      •  媒体流和数据流的解密。

6. 元数据管理

元数据管理负责元数据的接入、元数据呈现及业务选择管理。元数据管理主要包含以下功能:
       •  接入元数据系统;
       •  元数据分发系统;
       •  元数据呈现,如节目单和事件目录;
       •  业务选择管理。

7. 用户服务

用户服务模块负责终端用户的交互、分发相应的事件给应用层。用户服务模块的主要功能包含:
       •  通过键盘、鼠标、遥控器和终端用户进行交互;
       •  接收和分发终端用户的事件给应用层;
       •  运营商发送通知给终端用户;
       •  业务运营商的LOGO显示。

8. 终瑞管理

       终端管理模块提供终端的管理功能,包括配置管理、性能管理、安全管理等。终端管理模块主要的功能包括:
      •  远程控制管理;
      •  日志管理;
      •  软件版本管理;
      •  系统参数配置,如服务器地址配置等;
      •  接入模式和相关参数配置;
      •  媒体服务参数配置,如编解码的配置等;
      •  用户参数配置,如接入账号配置、业务账号配置等。

9. 资源管理

      资源管理器负责对终端中所有应用程序使用资源的调度,管理应用程序的使用状态。任何具有有限资源的系统都需要某种方式管理这些有限的资源,并且保证任何资源争用的公平的分配和应用程序的稳定性。所有的应用程序都需要注册资源的使用状态,如果资源管理器发现多个应用程序有资源使用的冲突,它将通过既定的规则进行资源调度。详细的功能包括:
      •  资源使用状态注册;
      •  资源使用分配调度;
      •  资源释放管理等。

10. 应用管理

应用管理负责对各种应用福序的运行进行协调管理,并管理应用的下载和升级。

11. 插件管理

插件管理负责对各种加载到终端的插件进行管理,包括插件的下载、注册、升级、调用及注销等。

12. 通信管理

通信管理负责终端中进程之间的通信方式、通信机制的管理,各插件和中间件模块之间信息的传递和调用关系的管理。

13. API管理

API管理负责中间件业务功能模块的管理及各业务功能模块内部和插件内部的API的管理,应用对API的查询等。

14. 中间件注册管理

中间件注册管理负责中间件业务功能模块的认证注册管理,升级和注销等生命周期管理。

15. 图形用户界面

图形用户界面负责向应用层提供各种图形元素的实现,如按钮、窗口、线条等的实现和管理。

16. 呈现引擎

呈现引擎负责对应用和业务进行解析并呈现给用户。

五、应用层

应用程序层是为用户提供IPTV的各种业务、基于机顶盒的各种应用。应用程序分成以下几大类:
    (1) 浏览器/服务器(B/S)方式的各种应用。浏览器又分两种情况:通用浏览器及定制的浏览器。EPG的呈现可以釆用通用浏览器,也可以釆用定制的浏览器。增值应用可以基于通用浏览器,采用B/S方式开发。通过对浏览器提出要求,如支持JavaScript,Flash插件,能通过插件方式调用IPTV系统的消息能力等,可以丰富B/S方式应用的表现能力。
    (2) 客户端/服务器(C/S)方式的应用程序。C/S方式的应用程序直接与服务器端交互,实现各种应用,适合于实现无法通过B/S方式实现的游戏、证券等应用。
    (3) 本地应用程序。不需与服务器端交互的本机应用,如本机游戏、用户收藏夹、本地通信录等。
exit

申请演示

IPTV网络电视系统仅适用于企业和公司。

电话:028-83110277
  • 端到端解决方案
  • IPTV/OTT 中间件 (CMS)
  • OTT 播放器应用程序(支持超过 11 个平台)
  • IPTV电视系统媒体服务器
  • 转码器
  • 机顶盒
  • 数字版权管理/CAS
  • 酒店IPTV系统方案
联系我们