基于MiniGUI/mDolphin/mPeer技术的网络电视设计方案

时间:2011-06-23

  MiniGUI是由北京飞漫软件技术有限公司创办的开源Linux图形用户界面支持系统,经过近些年的发展,MiniGUI已经发展成为比较成熟的性能优良的、功能丰富的跨操作系统的嵌入式图形界面支持系统。"小"是MiniGUI的特色,它目前已经广泛应用于通讯、医疗、工控、电子机顶盒、多媒体等领域。目前,MiniGUI的版本为MiniGUI 3.0,所以MiniGUI对中文的支持。它支持GB2312与BIG5字元集,其他字元集也可以轻松加入。MiniGUI 为嵌入式 Linux 系统提供了完整的图形系统支持,是针对嵌入式 Linux仅有的两个商用嵌入式GUI系统之一。MiniGUI为嵌入式Linux 系统提供了完整的多进程支持;可以 MiniGUI-Processes、MiniGUI-Threads或者MiniGUI-Standalone 三种运行模式运行。

  网络电视(IPTV)也叫交互式网络电视,是利用互联网的基础设施,以电视机作为主要终端设备,集互联网、多媒体、通信等多种技术于一体,通过互联网络协议(IP)向家庭用户提供包括数字电视在内的多种交互式数字媒体服务的崭新技术。现在市场上基于各种嵌入式操作系统的网络电视软件解决方案有很多,本文重点描述在嵌入式Linux平台上,基于MiniGUI/mDolphin/mPeer技术构造出的网络电视方案。

  无论是何种嵌入式设备,只要涉及到用户交互,那么GUI就是该设备软件部分的基础,网络电视也不例外。在嵌入式Linux平台上可供选择的GUI系统也有很多,如X Window、Qt/Embedded和MiniGUI等,而MiniGUI的性能及资源占用明显优于其他图形系统。

  网络电视的一个是网页浏览器,有了它用户才能够进行站点浏览、等操作。本方案中采用的mDolphin浏览器,使用的是WebKit开源浏览器解析和渲染引擎(也是Apple Safari浏览器、Google Chrome浏览器采用的引擎),确保浏览器产品具有和PC机上的浏览器相同的网页解析和渲染能力,从而保证产品的高起点。

  网络电视的另一个应当是大量的应用软件,如游戏、音视频播放等。本方案还引入了嵌入式J2SE解决方案--mPeer,将Java语言引入到网络电视应用程序的开发中,使得开发者既可以进行基于MiniGUI的Linux程序开发(C/C++),也可以使用Java.

  基于MiniGUI来开发应用软件的难度相对较高,开发者不但需要Linux程序开发,更要精通MiniGUI API才能够进行开发,但是这种开发方式的优点也是很明显的,那就是开发出来的应用软件性能较好。因此,对一些关键的应用软件,如浏览器、电子邮件、媒体播放器等应用软件,应当直接在Linux和MiniGUI之上开发。而mPeer解决方案则为Java程序提供了一个通用的平台,可运行各种符合规范的J2SE应用程序。利用Java开发应用程序可带来巨大的便利性,从人才、社区资源、开发工具等方面,都可获得巨大的现有技术及资源的支持。这两种开发方式的结合使得开发灵活性增加的同时,大大降低了难度,节省了资源。

  此外,一直被广大用户所诟病的嵌入式Java的效率问题,在MiniGUI与mPeer的协同工作下也得到了解决。本方案基于小巧灵活的 MiniGUI,在其上实现的Java应用软件的性能,是完全可以和基于X Window、Qt/Embedded的C/C++本地应用软件相媲美的。本方案的整体架构见图1.

图1 基于MiniGUI/mDolphin/mPeer的网络电视整体架构图

  本方案基于嵌入式Linux操作系统,在其上运行各种可能的应用软件。它采用MiniGUI 3.0提供的多进程支持,实现多进程的图形程序运行环境,从而提高系统的整体稳定性,即使有单个应用进程的失效,也不会影响整体系统的运行。本方案可以在线应用软件并运行,且便于应用软件和系统的在线升级。依托MiniGUI 3.0在界面特效方面的强大功能,还可以实现类似Apple iPhone/iTV的用户界面特效。

  在浏览器方面,本方案包含一个全功能的Web浏览器产品mDolphin 2.0.mDolphin 是飞漫软件基于开源的浏览器 WebKit  开发的嵌入式浏览器产品,并使用 MiniGUI 作为其底层图形系统。由于采用了的 WebKit 作为浏览器引擎,因此,mDolphin 2.0 可提供对如下 W3C 以及相关标准的支持:

  ◇支持流行的 W3C 标准:HTML 4.01、XHTML 1.0、XML、CSS(CSS 2 全部及 CSS 3 的部分)、XSLT、DOM (Level 2 全部及 Level 3 的部分)、XPATH 以及 JavaScript 1.5.

  ◇支持 HTTP 1.1、HTTPS、Cookie 和代理服务器。

  ◇支持 AJAX 应用。

  ◇基于 MiniGUI,mDolphin 2.0 实现了如下独特功能:

  ◇支持三种渲染模式以适应不同大小的屏幕或者不同的用户界面需求。

  ◇以 UNICODE 为内核支持多字符集和编码,并支持双向排版。

  ◇支持 Linux/uClinux 、VxWorks 和 eCos 等可运行 MiniGUI 的操作系统。

  ◇插件接口。您可以自行开发符合 NetScape 标准的浏览器插件,以便支持 Flash、MultiMedia 等。

  ◇JavaScript 本地绑定。您可以自定义 JavaScript 对象及其接口,从而将网页和本地功能绑定在一起。

  ◇协议扩展。您可以自定义对特殊协议的支持接口,从而轻松扩展浏览器的协议支持。

  ◇用户界面定制。您可以针对自己的产品,自定义浏览器的用户界面。

  在J2SE实现方案方面,mPeer可采用Dalvik/Kaffe/JamVM/Cacoo等开源的Java虚拟机,并提供符合Sun定义的Java CDC Personal Profile类库。开发者既可以将mPeer作为mDolphin的插件来运行嵌入到网页中的Java Applet程序,也可以独立运行Java应用程序。

  mPeer 基于开源的 J2SE(Java 2 Standard Edition)类库 ClassPath 开发,为 ClassPath 提供了 J2SE AWT/Swing 接口的 MiniGUI 实现,从而为打算利用 J2SE 技术的嵌入式设备提供了低资源消耗、高性能、低成本的开源解决方案。mPeer 的版本为 2.0.

  基于Broadcom 7405 SoC,采用本系统架构,能够实现网络电视方案。该系统的参数如下:TV 显示输出分辨率为720P,利用了芯片的硬件加速;芯片主频为400MHz;存储空间为128M NAND Flash;内存为256M RAM.


  
上一篇:Android os设备谎言分辨率的解决方法
下一篇:简述IPTV的特点及应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料