新的软件结构核心是基于机顶盒实时操作系统和用户应用之间叫做“中间件”的用户应用程序,它表示在机顶盒软件和通讯系统里使用的通讯软件堆栈的中间层 和上层的逻辑抽象概念。本文将介绍机顶盒中间件系统的基本概念,讨论定义公开的机顶盒中间件标准的各种行业发起组织和标准机构。
  1 中间件概念
  中间件可视同开放式系统互联(OSI)七层模型的应用层、表示层和会晤层,是定义两个设备之间进行通讯的一套协议的网络架构。
  中间件用于把机顶盒的应用程序与具体的底层硬件和网络部件隔离开,机顶盒应用程序可以透明地在网络上运行,而不必涉及底层的网络协议,因为使用通用API编写应用程序,相对简化了开发。
  假定机顶盒的软件开发商决定编写使用网络运营商计算机资源的应用软件,为了有效地利用这个分布式的软件,程序员将保证常驻程序与一个通讯堆栈如 TCP/IP协议交互。通过使用中间件,程序员不需要关心底层协议结构的大量相关知识,就可使用TCP/IP协议特征。目前内存和处理器价格的下降使制造 商可以设计出能够运行大量高级中间件软件产品的机顶盒。
  2 虚拟机
  为了避免为一个平台重建内容,许多中间件软件商已开始通过加入表示和应用的虚拟机扩展其功能。一个虚拟机也称作驱动程序,可定义为像单独机顶盒一样的 独立工作环境。虚拟机层有如交互式机顶盒应用程序的运行环境。因此,程序员可开发机顶盒的应用程序并创建内容,而不必关心底层的硬件结构。
  网络运营商可以容易地下载新的虚拟机到用户的机顶盒上,例如,可下载OpenTV的虚拟机用来支持交互式电视程序设计。用户想浏览互联网时,一个HTML虚拟机随后被下载到机顶盒上,这种功能对支持新的机顶盒软件标准非常重要,下面将描述多数客户喜爱的虚拟机。
  (1)HTML虚拟机
  HTML虚拟机是目前可用的最受欢迎的表示层驱动程序,机顶盒可以处理、显示为互连网所开发的大量内容。机顶盒HTML虚拟机的主要功能是处理和组织网页内容,在标准电视屏幕上可轻松地收看。
  机顶盒的浏览器将按指定的命令生成在电视屏幕上显示的格式文件,当用户在电视屏幕上观看网页时这些命令是隐藏的,除了使用HTML作为格式语言,它也可以被内容提供商用于:
  ・在机顶盒网页上加入实时音频、视频多媒体部件;
  ・与其它机顶盒网页和互联网网站链接集成;
  ・生成数字电视运营商可向电视网络运营商反馈信息的交互形式;
  ・增加丰富的图像;
  在HTML语言中使用的命令被称作部件或标签,所有的部件放在[ ]中,例如,部件[em]是可被机顶盒浏览器识别的命令,命令指示浏览器在电视屏幕上显示一个特殊的斜体字文本,由设计者使用的其它HTML标签包括字幕、Java程序、表示和图像映射。
  一旦从宽带网上接收一个网页,虚拟机解析HTML代码,并生成厂商规定的具体表示法。HTML的解析可以是机顶盒处理器和内存的增强型功能,在机器内 部的其它部件承担着各种HTML部件的功能(图像、表格、文本等),并优化网页在标准电视机上显示,HTML驱动器与许多机顶盒软件部件集成,包括实时操 作系统、CA模块和浏览器。
  (2)JavaScript虚拟机
  机顶盒使用这个驱动器运行JavaScript语言编写的应用程序,JavaScript是由SUN和Netscape公司发明的用于扩展HTML文 件的一种开放的、适用于跨平台的、基于对象的脚本语言。脚本语言是用于生成脚本的简单编程语言,一个脚本是解释程序的一系列指示和规则,如机顶盒浏览器、 如何运行一个操作,与一个宏相似。JavaScript与其说是一个编程语言、不如说是一种脚本语言。脚本语言比起编程语言使用更简单的规则,这意味着它 们更易于学习和使用,同时,它可以执行许多功能齐全的编程语言的功能。
  JavaScript是以一个基于对象的语言,使用能够以有限的方法控制和更改的预定义对象,使JavaScript的指示更加短小,这是为什么人们 越来越喜欢在网页中把JavaScript作为控制互联网部件的应用软件。使用JavaScript,一个HTML网页可以有活动的画面。例如,“翻转” 显示,当机顶盒用户移动遥控器指向电视屏幕上的图像时,图像就会发生变化。
  JavaScript代码嵌在一个HTML文件里,与网页上的HTML代码通译,人们常常把JavaScript编写语句集成 到</BODY>之间标签的HTML文件的文体上。真正的脚本放在文件主体的[SCRIPT][/SCRIPT]标签之中,因为 JavaScript是一个脚本语言,而不仅仅是一个格式语言,它比起HTML可以单独执行更复杂的任务。
  现在使用的JavaScript虚拟机支持1

  4 中间件标准
  (1)多媒体家庭平台(MHP)
  MHP机顶盒使应用程序能够在厂商、内容制作商和广播商的中间框架上接收和显示,各种服务提供商的应用程序可以与市场上不同的MHP工具共同使用。
  DVB MHP方法试图涵盖了所有的工具,包括集成接收机编码器(IRD)、集成电视机、多媒体电脑、与家庭数字网络(IHDN)相连的设备本地集群。
  MHP由用户终端(PC、集成电视、数字机顶盒、有关的外围设备和许多与家庭网络相连的数字机)、标准中间件、一套能够支持许多服务的API。
  (2)系统软件与API
  系统软件叫做平台软件或中间件,从软、硬件抽象的观点分离出应用软件,这保证了程序在各种MHP工具中的整体性(外观和感觉)和互操作性。
  系统软件包括交互驱动程序、实时驱动程序或虚拟机、软件管理器、程序库和数据库。这个系统软件或固件定义为依赖于平台、并完全由各个制造商负责提供。
  软件管理器负责管理所有应用软件的生命周期。
  ■检查代码和数据的完整性;
  ■使命令和信息同步;
  ■改变显示图画的格式以适应平台显示;
  ■获取和处理系统资源;
  ■管理和控制错误信号的发出和例外;
  ■发起并终止新的会晤;
  ■允许分享变量和内容;
  ■以有序的、清晰的方式做出结论;
  API可描述为一套高水平的功能、数据结构和代表一个独立平台应用软件的标准接口的协议。它使用面向对象的语言并提高平台功能的灵活性和重复使用性。软件程序设计接口被解释为用于操作硬件和软件的功能。
  一些主要的系统功能为:
  ■软件的发送和控制,会晤/事件的管理;
  ■安全管理和接收控制;
  ■内容的下载管理;
  ■导航和选择;
  ■发布内容和流显示控制;
  ■通讯和I/O控制;
  ■信号发送、比特传输、驱动器和管理功能;
  MHP API实际上包含一系列API具体的寻址功能,根据程序的格式,低级和高级API分别用于处理程序和发布功能。
  MHP组织正在进行定义基于Java API规范的运行MHP DVB-J的平台,发往MHP平台的任何软件符合Java VM字节码格式。
  应用软件
  DVB-TAM定义了作为以软件模块实现的交互服务的功能性工具。一个软件可看作一套请求激发MHP软、硬件资源的有组织的功能。
  5 机顶盒中间件的选择
  (1)OpenTV
  OpenTV产品家族由一个与机顶盒集成的中间件产品、一套编辑工具、一套交互电视应用软件和把软件程序与数字电视发送环境相集成的公用设施所组成。
  OpenTV机顶盒系统的结构由适合于350至560KBFlash内存的许多层组成。OpenTV客户软件平台的核心是一个支持许多嵌入式实时内核 的自适应层。OpenTV的优点之一是能够从机顶盒硬件平台中屏蔽上层应用程序。因此,OpenTV应用软件可在不同厂家生产的机顶盒上运行。解释层负责 把OpenTV编写语言翻译成主CPU的本地指令。OpenTV还开发了一套丰富的程序库,这些库逻辑上位于程序库层。
  OpenTV机顶盒软件结构的最后一层需要把机顶盒用户的指令翻译成可由机顶盒硬件设备理解的低级命令。驱动层向程序员提供一个API用于开发具体的 硬件设备的驱动器。设备层不在OpenTV操作环境的一部份,这样使制造商在选择实时操作系统和硬件平台方面有更大的选择余地。OpenTV完全支持通过 电视运营商宽带网下载更新。
  (2)PowerTV
  PowerTV驻留软件通过一个标准用户接口进入数字电视服务,在机顶盒开机时即刻工作。PowerTV公司本身不开发驻留软件,但与开发商密切合 作,向客户提供最优化的工具。除了驻留软件,PowerTV已集成了一个HTML虚拟机,在中间件层嵌入该部件使得电视机顶盒处理在电视网络上已广播的网 页内容。在PowerTV中间件环境内的另一个子系统是Java虚拟机。
  (3)微软TVPAK平台的WebTV
  WebTV是微软数字电视软件平台的一个关键部分。公司已把WebTV中间件技术集成到TVPAK系统的微软电视部分。微软电视客户软件解决方案的各层结构如图2所示。

微软电视平台

  (4)MediaHighway
  法国的Cana+公司开发出灵活、开放的中间件产品MediaHighway(图3)。

MediaHighway系统结构

  (5)Liberate eNavigator
  Liberate技术公司提供了称作eNavigator的产品,它是一种核心客户技术,设计为嵌入到网络信息设备中,如销售点信用卡读写器、 PDA,可视电话、数字机顶盒、其它网络信息设备。eNavigator支持所有主要互联网和计算机标准,包括HTML、JavaScript、 HTTP,并且它容易与多种操作系统集成,硬件平台价格低。客户软件只有在广播功能的网络上运行,并要求一个双向的网络提供全面的交互服务。 Liberate的中间件产品可客户订制,网络运营商可通过许多参数配置机顶盒。
  (6)PlanetWeb
  PlanetWeb公司提供一系列集成软件方案,使机顶盒厂商能够在如视频游戏、可视电话、电视机顶盒、视频电视和DVD播放器等设备中加入互联网接收功能(图4)。

PlanetWeb机顶盒结构

  6 总  述
  随着网页爆炸性的增长,HTML和JavaScript已成为发表电子文档的主要标准,而且,大多数机顶盒中间件产品支持HTML和JavaScript虚拟机。
  HTML驱动程序支持电视屏幕上网页的分列和布局,JavaScript虚拟机要求发送高质量的交互服务给数字机顶盒,支持基于互联网标准的虚拟机为服务提供商能够在高速宽带网络上重复使用现有的网页内容和服务。
  Sun公司已经推出一种轻便的Java工具,称作Personal Java,它为软件开发商提供了功能强大的编程语言。
  机顶盒中间件系统内开放标准的要求使得在美国和欧洲出现了三个组织,它们分别是DVB-MHP、DASE和ATVEF。(福建省广播影视信息网络中心)

机顶盒中间件与API相关推荐

  1. 全能中间件 REST API 使用手册

    全能中间件 REST API 使用手册 Ver:17.6.24 技术支持QQ:64445322 QQ群:339616649    任何第三方应用或网站都可以通过使用开放API为用户提供实时优质的服务. ...

  2. 了解IP网络上的IPTV终端和机顶盒技术

    了解IP网络上的IPTV终端和机顶盒技术 作为支持交互式应用的IP机顶盒,将不仅支持IPTV业务,还将在更为广阔的交互式多媒体领域发挥作用. 宽带网络和接入技术的发展,扩大了宽带业务的应用范围.大众熟 ...

  3. 多个中间件_前端如何正确使用中间件?

    简介:中间件可以算是一种前端中常用的"设计模式"了,有的时候甚至可以说,整个应用的架构都是使用中间件为基础搭建的.那么中间件有哪些利弊?什么才是中间件正确的使用姿势?本文将分享作者 ...

  4. 无责任畅想:云原生中间件的下一站

    作者 | 于雨 来源|阿里巴巴云原生公众号 本文源自 2020 年 12 月 20 日作者在云原生社区 meetup 第二期北京站演讲 <Apache Dubbo-go 在云原生时代的实践与探索 ...

  5. 前端如何正确使用中间件?

    简介:中间件可以算是一种前端中常用的"设计模式"了,有的时候甚至可以说,整个应用的架构都是使用中间件为基础搭建的.那么中间件有哪些利弊?什么才是中间件正确的使用姿势?本文将分享作者 ...

  6. 用HttpReports快速搭建API分析平台

    HttpReports 简单介绍 HttpReports 是 .Net Core下的一个Web组件,适用于 WebAPI 项目和 API 网关项目,通过中间件的形式集成到您的项目中, 通过HttpRe ...

  7. 产品发布 | 全程托管、化繁为简,京东云上线API网关服务

    导语 京东云推出了互联网中间件产品API网关(API Gateway),并免费开放公测.京东云API 网关是API托管服务,它提供了API的全生命周期管理.流控策略.访问授权.后端签名和API调用情况 ...

  8. Python爬虫之Scrapy框架系列(18)——深入剖析中间件及实战使用

    目录: 1.下载中间件: (1)终端获取下载中间件状态信息的命令: (2)下载中间件的API: (3)中间件的项目应用:通过添加中间件设置UA代理及IP代理 ①在middlewares.py中间件文件 ...

  9. 【翻译】为什么你需要一个API网关来管理对你的API的访问?

    作者:阿曼德-苏尔坦托诺 2022年2月9日 原文为Armand Sultantono在Snapt的博客上发表的客座文章 越来越多的组织正在向API驱动的架构转变.这种强大的方法可以帮助他们快速创新, ...

最新文章

  1. pandas重命名列名称、数据列名称重命名(Rename Column Names): rename、set_axis、df.columns
  2. 设计师学习HTML/CSS之路-13
  3. boost::interprocess::message_queue用法的测试程序
  4. Microsoft SQL Azure论文笔记
  5. Hibernate懒加载
  6. Java学习笔记11-1——Spring5
  7. mysql5.7安装教程
  8. 基于单机hdfs安装hive
  9. 使用IHTMLDocument3 的getElementById获取控件总是返回空的解决方法
  10. PyTorch学习笔记——PyTorch简介
  11. PHP常用函数性能对比
  12. jquery 如何获取某个元素中的第几个子元素
  13. 闲谈摩根 --兼答关于JP摩根和摩根斯坦利的渊源和区别,其他的摩根八卦
  14. Linux下查看SSD硬盘型号、大小等信息
  15. 传奇人形怪爆率怎么设置?人形怪增加教程
  16. 司美格鲁肽进入临床竞速期,减肥“神药”生于偶然、火于乱象?
  17. 戴尔Inspiron14加【固态硬盘】更换【内存条】装【win10+ubuntu16.04】双系统
  18. open-falcon学习总结
  19. IDEA + SSM + Maven + MySQL搭建一个论坛系统(非常详细)
  20. ESRI.ArcGIS.AnalysisTools.Erase 结果是空?

热门文章

  1. mw320r虚拟服务器,水星MW320R路由器桥接设置上网方法
  2. 释放被系统保留的内存容量
  3. python if 多个条件判断
  4. vue结合Lodop前端实现打印机的获取及打印
  5. 联想服务器bios查看网卡信息,深度教你联想电脑设置BIOS启用或禁用网卡的方法...
  6. 微信小程序源码使用反编译工具解码
  7. 互联网+智慧医疗:基于Python打造智慧医院项目之智能分诊
  8. 学生成绩管理系统软件测试毕业设计,软件测试《学生成绩管理系统》测试资料报告材料.doc...
  9. Java读取pdf模板,并动态生成pdf文件,如动态生成准考证
  10. 素描风格图片 彩色转素描python pillow库