手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

基于WINCE的教育IPTV数字电视机顶盒——软件设计及实现

胡宇,刘清堂,朱晓亮| 数字电视,IPTV,WinCE,嵌入式,机顶盒,三网融合| 2010-11-14
423 收藏
分享到: 
每日精选
热门推荐

【中心议题】
    * 介绍了一种
教育IPTV数字电视机顶盒系统
    * 给出了具体设计方案
【解决方案】
    *
WINCE开发
    * 学习模式设计
    * 键盘消息响应

1
 教育IPTV数字电视机顶盒的开发背景

国家的第十一个五年规划中明确表示,大力促进教育公平。为了实现这一目标,远程教育作为一种重要的手段肩负着特定的历史使命。三网融合为远程教育提供了新媒体技术的支持,尤其是IPTV技术的进展极大地促进了“SOF(School,Online,Family)”的教育模式的形成。传统的IPTV系统支持点播,例如广电IPTV定位一种新型的纯娱乐性的宽带增值业务,主要目的是娱乐和信息服务,应用的范围也局限于局部区域。但是,教育IPTV服务有着与之不同的特征:学习的内容多样化,学习的模式多样化,学习终端的多样化。其中,学习内容的多样化要求用户可以获取音、视频,文本,图像等多方面信息内容;学习的模式则要求能够提供答疑、在线课堂、问答交互等服务;学习终端的多样化指用户能够通过“双屏(电视、电脑)”等多种终端来获取分级学习内容服务。

教育IPTV机顶盒软件的开发需要紧紧围绕上述特征进行。首要的问题是如何便捷地开发相关软件。目前,机顶盒软件通常构建于Linux平台与Wince平台,相比较前者,WinCE. net是微软公司推出的一种32位、多任务、多线程的嵌入式操作系统,能支持多种嵌入式、移动或多媒体系列产品。在IPTV系统开发中,它具有得天独厚的优势。首先,其内置播放器Ceplayer支持主流的媒体格式,可以显著提高开发的效率。其次,它提供Directshow的开发支持,方便Windows程序员对代码进行移植。本文对教育IPTV机顶盒软件开发进行了研究,并实现了EPG的加载与节目的浏览与播放。

2 教育IPTV数字电视机顶盒系统功能

服务器端采用Windows server2003,系统的终端运行平台为WINCE平台,Microsoft VisualStudio 2008 .NET平台下使用C#语言进行开发完成,后台数据库采用对XML文件的读写。数据通信使用TCP/UDP协议。在进行系统设计时充分考虑了软件的通用性、可扩展性和相对独立性等方面问题,以便实现软件开发的灵活性。

2.1 教育IPTV数字电视机顶盒基本功能

·EPG显示:服务器端通过频道生成器管理频道,用户通过遥控器选择浏览频道。

·视频播放:用户打开机顶盒点击相应视频后,程序会链接到服务器上所对应的资源然后在机顶盒上播放。

·互动答题:支持用户主动学习,用户选择答案后程序会进行正误的判断,最后给出学习结果评价。

·新闻浏览:支持文本方式的新闻内容浏览。

2.2 教育IPTV数字电视机顶盒业务功能

IPTV机顶盒在本系统中处于客户端的位置,它具有视音频编解码处理、用户反馈信息上传和按系统后台管理下达的控制信息完成相应功能或转换的能力;用户通过操作遥控器能进入本系统中学习。

2.3 教育IPTV数字电视机顶盒系统工作机理

如图1所示,教育IPTV系统分为服务器端与客户端两部分。在服务器端,管理员通过频道生成器设置视频点播、直播、互动答题和新闻浏览等功能频道。在客户端,用户则可以浏览管理员预先设置的频道,通过遥控器在WINCE终端进行访问学习。视频媒体信息采用MMS流媒体协议传输,在客户端通过Directshow调用回放。频道信息通过XML加载。

图1

3 教育IPTV数字电视机顶盒系统的总体设计

教育IPTV机顶盒软件系统的总体框图如图2所示,机顶盒端软件主要包含三方面内容:多层次资源管理模块;用户遥控信息响应模块;学习活动管理模块。其中: 1)多层次资源管理模块负责读取频道生成器编辑后生成的xml,根据xml中节点的父子关系,在终端显示多级频道; 2)学习活动管理模块(LAF)实现学习者学习活动流程的实现和管理。LAF的引入,进一步体现了个性化、自适应的学习过程,增进了学习者与学习内容、学习系统间的交互; 3)用户遥控信息响应模块则支持机顶盒上程序对遥控按键的响应。

图2

4 教育IPTV数字电视机顶盒系统的实现

4.1 WINCE开发

4.1.1 开发环境要求

采用Microsoft Windows 2000 Professional with Service Pack 4或者Windows XP Professional with Service Pack 1操作系统和: Microsoft.NET Framework,版本v1. 1补丁;内存配置256MB;安装单处理器至少需要1.7GB硬盘空间,若完全安装,所有的处理器支持以及微软提供的工具,需要将近17GB空间;外设需要配置串口和网卡以进行调试。

4.1.2 WINCE开发过程

如图3所示,WINCE开发过程主要包括开发工具安装、系统工程建立、系统特性定制、系统镜像生成并下载、SDK开发应用程序安装等过程。

图3

1)安装开发工具

首先需要安装Microsoft .NET Framework以及Microsoft Visual Studio 2008;其次,安装Platform Builder 5.0;然后安装相应的主板支持包(Board Support Packet),由启动程序(Bootloader),OEM适配层程序及驱动程序和配置文件组成;最后应用Platform Builder,根据特定的BSP生成针对不同开发板(SDB)的特定的操作系统镜像。

2)建立系统工程

首先导入硬件设备的BSP,Platform Builder中新建工程,选择对应的硬件CPU类型,然后选择系统基本的特性组件,生成系统工程。

3)定制系统特性

增加或删除系统中特性组件,定制系统启动后的文件系统目录结构,并定制系统启动时应用程序加载的顺序。

4)生成系统镜像并下载

使用Platform Builder根据用户对系统工程的参数修改进行编译设置,编译完后生成系统的镜像,以二进制文件形式存在,导出该工程的SDK,可提供给应用开发工具使用。最后将其下载到硬件设备的存储介质中。

5)安装SDK开发应用程序

安装SDK,同时在应用程序开发环境Microsoft Visual Studio 2008中建立应用程序工程,开发基于SDK的应用程序。

4.2 EPG设计

EPG设计采用WINCE完成, WinForm.Net开发平台中对Windows Form的一种称谓。.Net为开发WinForm的应用程序提供了丰富的Class Library(类库)。这些WinForm类库支持RAD(快速应用程序开发),并被封装在一个名称空间之中,这个名称空间就是System. Windows.Forms。在此名称空间中定义了许多类,在开发基于.NetGUI应用程序时,就是通过继承和扩展这些类才使得我们的程序有着多样的用户界面。

本系统前台显示程序使用WinForm过程如下:首先在form的构造方法中加载EPG生成的xml:

private XmlDocument thedoc

public Form1() {

thedoc = new XmlDocument();

thedoc.Load("http://127.0.0.1/iptv.xml");}

然后读取xml中的节点属性,每一级我们都会动态创建一个panel及多个linklabel控件用于显示这级节点的信息。

panel1.Visible = true;

panel1.Location = new Point(0, 0);

panel1.Width = 640;

panel1.Height = 480;

panel1.BringToFront();

int x = thedoc.ChildNodes[1].ChildNodes.Count;

LinkLabel[] btn = new LinkLabel[x];

XmlNode node = thedoc.ChildNodes[1];

for (int i = 0; i < x; i++) {

btn[i] = new LinkLabel();

btn[i].Location = new Point(25, 115 + i * 65);

btn[i].Text = node.ChildNodes[i].Attributes["name"].

Value;

btn[i].Visible = true;

btn[i].Width = 120;

btn[i].Height = 28;

btn[i].Parent = panel1;

btn[i].Click += new EventHandler(btn_Click);

btn[i].Name = i.ToString();

btn[i].TabIndex = i;

btn[i].Focus();

btn[i].BringToFront();}

最后设计得到界面结构如图4所示,EPG分为教育频道、互动答题、校园新闻、电视视频、娱乐频道5个频道。教育频道主要为各年级精品课程点播,具体分为四级目录。

如图,互动答题频道为针对重要知识点而提供的专项强化学习,先播放视频对该知识点进行讲解,观看完视频后进行此相关问题的练习,最后系统会根据答题的情况给予正确率、学习结果的评价,并给出建议。校园新闻频道为校园新闻发布模块,使学习者能够在第一时间了解到发布的最新消息。电视频道即直播频道,与直播视频采集码模块连接,主要目的是使学习者进行远程实时互动学习,即直播课堂教学。娱乐频道是为帮组学习者调节学习压力,提高学习者综合能力所设置的频道。有游戏、课外知识杂志等。管理员可以在频道生成器中修改以上显示的内容及属性。最终呈现效果如图5所示。

图4图5

4.3 学习模式设计

1)内容点播

用户选择节目点击播放,信息上报服务器,系统记录所连接的视频名称,由流媒体服务器向客户端传送数据视频流文件,如图6所示。

图6

2)直播

用户选择节目播放,用户信息上报服务器,系统记录所连接的频道名称,连接直播视频采集码模块(主要由采集卡及相应软件组成),该模块向指定客户端传送数据视频流文件,如图7所示。

3)互动答题

支持用户通过遥控器选择频道,然后用户信息上报服务器,并返回统计信息,如图8所示。

图8

为了表示用户答题的状态,我们采用交互式答题的状态转移图描述。如图9所示:si表示题目0n的正确的数字状态,pi表示所有用户的正确率,qi表示正确回答第i个问题退出的概率,ri表示用户重新答第i个题目的概率,Se表示答题退出的状态。显然,用户的平均分数可以按照式(1)来表示:

公式

4.4 键盘消息响应

遥控器处理采用消息处理机制,主要包含功能如图10所示。

图10

5 结语

教育不公平和数字鸿沟是我国教育迫切需要解决的重大问题,教育IPTV服务提供了一种有效的解决手段。传统的IPTV服务并不符合教育特征,因此,教育IPTV服务的开发需要引入新思路,解决新问题。由于主要局限于遥控器与电视服务的要求,机顶盒端软件的开发必须简洁、有效。本文开发的教育IPTV机顶盒软件较好地满足了上述需求。基于WINCE开发的模式也使得系统具备较好的有效性与移植性。

 

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号