网络电视自动化EPG 系统设计与实现.docx
- 文档编号:29821501
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:9
- 大小:20.45KB
网络电视自动化EPG 系统设计与实现.docx
《网络电视自动化EPG 系统设计与实现.docx》由会员分享,可在线阅读,更多相关《网络电视自动化EPG 系统设计与实现.docx(9页珍藏版)》请在冰豆网上搜索。
网络电视自动化EPG系统设计与实现
摘要:
本文在简要介绍国内外网络电视和EPG系统的研究与发展现状的基础上,分析了广州电视台网络电视新媒体平台节目单发布管理的功能需求,结合Banacast网络电视系统的特性和发展需要,探讨适用于Banacast网络电视平台的EPG系统解决方案,提出了基于Web语义分析的自动化EPG获取与生成技术,方便快捷地实现智能化的EPG信息发布。
我们将该方案付诸于实践,设计成可用的软件系统。
该方案已经成功运用于广州电视台P2P网络新媒体平台建设,取得了良好的运行效果。
关键词:
网络电视EPG系统Banacast
0引言
随着互联网技术的发展和普及,网络电视正以惊人的速度飞速发展,以流媒体技术为基础的网络电视彻底改变了传统互联网以文字内容为主导的传播模式。
电子节目指南(ElectronicProgramGuide,简称EPG)就像电子化的广播电视报,服务商提供的电子节目指南是用来吸引观众收看其节目的。
EPG描述了提供给电视观众的所有项目信息,是构成交互电视的重要技术,可提供丰富的节目预告信息、方便灵活的检索引擎,通过它用户可以快速定位到自己喜欢的节目。
当网络电视为用户提供大量的节目及多种信息时,为了让用户更便捷地找到所需要的节目和信息,EPG系统成为行之有效的解决方案。
同时EPG还能够对节目内容进行分级处理以适应不同用户群的需求,为用户提供个性化服务,极大地方便了用户的收视[1]。
可见,随着网络电视业务的不断发展,电视节目数量迅猛增加,内容不断丰富,EPG是网络电视的标志性业务,它作为一个应用服务是实现网络电视观看的一个必不可少的内容,对它的研究和开发具有巨大的经济效益。
1背景
EPG在欧美等数字电视发展较早的国家已得到了广泛的应用,成为数字电视的基本业务之一。
据统计,在数字电视的各类业务中,EPG的点击率最高,并逐渐成为数字电视中一个发展迅速的行业,出现了如美国TVGuide等一批专业的EPG开发的制作公司。
实际上,EPG已成为数字电视的重要标志,是观众进入数字电视和IPTV的门户。
在网络电视平台上,提供的频道数量繁多,并且不断的在增长。
丰富的节目给用户带来了更多观看的选择,实时的更新让用户能够浏览到最新、最近的相关信息[2],但同时也带来了更多的工作量。
如何管理后台节目单,如何使用户能够随时方便的观看到节目预告信息。
为了满足当前这些需要,提出了EPG系统。
设计EPG系统的主要目的是为了降低对节目单维护的工作量和成本,方便后台管理员对节目单的管理和用户对节目单预告的实时查看,更好地支持P2P网络直播系统。
电子节目单的任务是制定频道的节目单信息,实现节目播放与节目预告的同步。
并且利用互联网现有的节目资源,自动生成节目单网页,减少人力开销,简化后台节目单的管理工作。
本系统是Banacast网络电视系统的一个子系统,主要负责后台节目单的管理和制定,后台管理员用户可以方便地制作和实时在线更新节目单,而观看用户能够在客户端播放器或者网站主页浏览节目单。
目前的EPG系统大多数都是用在机顶盒之上,而本文所提出的EPG系统,是针对网络电视(以Banacast为直接服务对象),寻找管理网络电视后台节目单资源,把节目信息更好的呈现给广大用户的有效方法。
2系统需求分析与设计
2.1系统总体设计
本系统采用C/S模式与B/S模式结合的方式,后台节目管理采用C/S,播放器客户端通过网页模式浏览EPG节目信息。
EPG系统划分为客户端和服务器两大模块,EPG服务器端在具有客户端功能的基础上,可以接收和管理客户端上传的EPG信息资源。
客户端主要负责对EPG信息的手动编辑和管理,具有定时更新EPG资源,和定时下载EPG资源的功能。
EPG系统的网络拓扑结构如图1所示。
2.2EPG服务器功能
2.2.1EPG资源编辑与管理
1.频道信息管理
1)添加频道节点;
2)修改指定频道节点的频道信息;
3)删除指定的频道节点。
2.节目单管理
1)添加节目单项:
添加指定频道的节目单项,包括播放时间,节目内容和相关图片;
2)修改节目单项:
修改指定频道的指定节目单项;
3)删除节目单项:
删除指定频道的节目单项;
4)查看节目单列表:
浏览频道某个时间点的节目,某一天或者某个星期的节目单列表;
5)导入节目单列表:
支持从文件中导入多个节目列表。
2.2.2EPGSpider
1.下载指定网站含有EPG信息的网页:
根据网站的地址变化规律,分析出一周乃至更长时间的含有EPG信息的网页URL地址,并把网页下载到本地目录。
2.分析提取EPG信息:
分析网页HTML源码规律,提取出网页里含有的EPG信息,并且转换为指定的结构化数据格式进行存储。
3.生成一天,一周节目预告:
在服务器端,利用已有的EPG信息,根据指定的网页模板生成一天到一周的节目预告网页。
4.可定制的实时节目预告网页:
在服务器端,根据指定的实时预告网页模板对每个频道生成实时的节目预告网页,生成预告网页的时间间隔可以由管理员定制。
比如:
每10分钟,30分钟,60分钟等生成一次节目预告。
2.2.3用户管理与权限控制
1.用户账号和密码管理:
服务器端管理客户端用户的账号和密码,客户端必须通过身份验证才能对EPG信息进行在线的编辑和更新。
2.权限控制:
用户分为管理员用户和自定义用户等多种用户类型,管理员用户具有最高的权限,可以编辑所有频道,而自定义用户只能编辑由管理员用户指定授权的频道。
2.2.4消息通信与文件传输
1.网络消息通信:
客户端和服务器端有自己的消息通信协议,能够识别出消息的来源和消息的种类,然后执行相应的响应操作。
2.文件传输:
客户端能够从服务器下载频道列表文件,节目列表文件。
在线更新后,能够把更新后的文件上传到服务器。
2.3EPG客户端功能
1.远程登陆功能:
远程连接服务器端,输入用户名和密码,接受服务器端的身份认证。
2.修改密码:
客户端在已经登陆的情况下,更改用户密码。
3.退出登陆。
4.EPG资源编辑与管理功能:
该部分功能与服务器端的EPG资源编辑与管理功能相同。
5.网络通信:
该部分功能与服务器端的消息通信与文件传输功能相同。
2.4网络通信协议
系统采用了EPGTP(EPGTransportProtocol)协议。
该协议总结了系统中的通信与传输,主要表现在EPGClient与EPGServer的消息通信上,包括:
消息格式的制定,消息的接收,分类,解析,发送上。
3系统实现
3.1EPG资源编辑与管理模块的实现
3.1.1频道信息管理
在EPG服务器系统启动后,从指定的路径读取频道列表文件,创建频道类型节点、频道节点和以频道ID为Key的哈希表,通过ID可以查找指定的频道节点和频道类型节点,然后对该节点在哈希表中进行查找、添加、删除、修改等指定操作,在哈希表中操作成功后对指定频道下载信息文件进行相应的操作,保证哈希表与频道下载信息文件的数据同步。
3.1.2节目单列表编辑
系统根据节目编辑员在频道列表中选定的频道,加载该频道一周的节目列表。
节目单项以节目日期和时间作为节目的唯一标识,并且每日的节目按照时间升序排列,进行添加删除操作时,在节目列表XML文件中查找到指定的节目单项,进行指定的操作,并保存结果。
另外,编辑员还可以根据指定的路径导入本地已有的节目列表文件。
当然,节目列表文件必须按照规定的格式。
3.2EPGSpider模块的实现
EPGSpider类似于搜索引擎的网络蜘蛛,主要功能是下载网页,分析、提取节目资源,转换数据格式,生成指定格式的XML文件,然后再根据XML文件可以生成一周网页预告和实时预告。
3.2.1下载网页
分析待下载频道列表的URL,丢弃格式非法和无效的URL,保留合法的URL。
一般同一个网站相关网页的命名具有一定的规律性,例如,同一频道不同一天的节目预告网页URL往往只有少部分(一般是日期部分)不同。
因此每个频道只需记住任意一天的URL,对日期部分进行替换,便可自动分析生成其他日期的URL。
对网页URL分析之后,通过http协议把网页下载到本地目录,成为源网页(原始网页)。
3.2.2分析网页,提取节目资源
对下载到本地路径的源网页的进行源码分析,根据分析,提取节目资源。
通过分析网页的源码,可发现含有有效节目资源的源码片断具有一定特征和规律。
利用这些规律提取节目资源,把节目资源转换成指定的节目结构(时间统一转换为24小时制),分割出每天的节目单,创建周、天、时间点三层结构的树,存储在以频道ID命名的XML文件中。
3.2.3生成一周网页
根据生成的节目列表XML文件,把节目资源以指定的网页模板的方式显示出来。
网页模板必须事先制定好,然后把节目资源代换到指定位置。
3.2.4生成实时预告小网页
预告小网页的生成方法和过程与生成一周网页类似,主要区别在于预告小网页生成的是当前在播放和即将播放的几个节目,采用的模板的也不相同。
预告小网页的内容主要包含:
类型、码率、热度等频道的基本信息,相关的图片,和正在播放和即将播放的节目列表。
3.3EPG定时模块的实现
3.3.1定时任务
定时任务的基本信息如表1所示。
任务设置完毕后,初始为等待状态(TASKWAITING),采用计时器的方式定期对任务的条件进行监测,如果任务满足条件则开始执行任务,此时任务转换为执行状态(TASKRUNNING)。
执行完毕,任务转换到完成状态(TASKFINISHED)。
对于循环任务,一次完成后,重新置为等待状态。
3.3.2定时预告设置
这部分的功能比较简单,主要是控制实时预告小网页的生成间隔。
一个节目的播放时长一般为15分钟到3个小时,所以生成定时预告的频率不需要很快,时间间隔以分钟为单位较为合适。
当启动实时预告定时设置器时,采用计时器计算时间间隔,若达到所设置的时间间隔长度,便开始执行生成实时预告。
3.4EPG用户管理模块的实现
用户管理主要是对客户端用户的管理,用户只有拥有合法的用户名和密码才能编辑和管理节目单,保证后台节目信息的安全。
3.4.1用户管理的基本功能
用户管理的基本功能是指系统服务器端对用户能够进行添加,删除,修改基本信息等操作,能够验证用户身份的合法性,对用户进行权限限制。
客户端用户能够登陆,修改密码,退出等。
3.4.2用户状态监测与统计
该部分主要功能是实现对用户状态的监控,统计在线用户数,方便管理员掌握用户信息。
用户状态监控主要采用心跳的方式实现。
在用户登陆后,该用户的状态将变为活跃状态。
在每隔一定的时间必须向服务器报告状态,否则用户的生命值将持续下跌。
只要收到报到信息,生命值就会恢复到最高状态。
如果用户生命值小于0,则视为断线或者掉线。
用户统计:
获取实时活跃的用户列表,计算当前活跃用户数目。
EPG系统涉及的网络消息类型比较多,采用自定义的通讯协议EPGTP,消息由整型的消息类型标志和消息内容组成。
3.5.2网络通信的实现
EPG客户端跟服务器通过Socket方式进行通信。
服务器启动后在固定的端口监听,客户端通过监听端口跟服务器建立连接,然后进行消息通信。
4系统测试与运行效果
经过多次的测试和验证,系统的各个模块的功能上都能正确的实现,各个模块集成后,系统也能够正常的运行,获得预期的结果。
系统在需求所定义的功能、性能、人机界面、错误恢复能力及可维护性等方面,基本上达到预期的要求。
系统已经与Banacast网络电视系统对接,投入使用。
到目前为止,系统运行总体情况良好。
系统后台界面如图2所示。
与Banacast网络电视系统对接后,实时EPG预告信息在Banacast客户端的显示界面如图3所示。
网站上的EPG信息显示界面如图4所示。
5结论
本文分析了网络电视后台节目管理的功能需求,结合Banacast网络电视系统的特性和发展需要,探讨适用于Banacast网络电视平台的EPG系统解决方案。
2009年初,我们将该EPG解决方案付诸于广州市电视台P2P网络新媒体平台建设实践,取得了良好的应用效果。
这是一个十分新颖的EPG解决方案,是一种适应于网络电视发展的方便、实时且运行维护费用十分节省的EPG解决方案,对网络电视业务的经营发展具有重要的促进意义。
参考文献
[1]阿米娜.EPG在数字电视中的应用[J].中国有线电视,2008(02):
124-127.
[2]黄志涛,张建标,包萨如拉.IPTV系统中EPG模块的设计与实现[J].计算机与信息技术.2006(04):
49-51
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络电视自动化EPG 系统设计与实现 网络 电视 自动化 EPG 系统 设计 实现