音响论坛 门户 技术 综合 查看内容

朱晓松:数字电视EPG内容转换软件开发

2010-10-8 13:49| 发布者: admin| 查看: 257| 评论: 0

  电子节目指南(EPG)是数字电视优势之一,它给用户提供详细的节目预告信息,并结合用户终端实现了节目预约收看等功能。通过前端系统加载 EPG内容文件,将EPG信息编码与视音频一同广播至用户终端-机顶盒。目前,由于我国EPG加载软件及机顶盒支持的EPG显示形式不统一,所以加载的EPG内容文件的格式也不相同。河北广电集团秦皇岛渤海公司朱晓松以秦皇岛渤海在线数字电视EPG系统为例,阐述EPG内容文件转换软件的开发思路。

  1.需求分析

  秦皇岛渤海在线公司数字平台采用永新同方的条件接受系统(CAS),其中EPG的播发加载采用了北极星电子节目指南播出系统-天鸽2。由本地制作符合其标准格式EPG文本文件,然后通过天鸽2加载播出。EPG文本文件即待修改文件最初从相关的节目网站或官万网站上下载,对下载的txt文件进行内容和格式的修改。由于频道众多,每周播出节目众多,所以人工逐个修改准EPG文件的格式、内容需要耗费大量的时间,甚至耽误EPG的播发。基于以上原因,开发本软件代替人工,提高修改效率。

  EPG文本标准格式要求:频道名称要与EPG系统最初添加节目时的名称相同;播出日期采用yyyy/mm/dd的格式;每天的节目起始至终止时间间隔小于24小时,并且每天都要有节目结束的标示,结束时间小于23:59;每天播出的节目按节目播出时间从小到大排列,播出的节目时间不能相同等。由于EPG内容文件在多个网站上下载获得,所以其内容格式也各不相同,需要在软件设计时各种可能情况都要考虑。除了提到的问题之外,还可能包括无频道名称、无播出日期、无结束标示等。

  2.项目设计

  2.1目标

  软件能够将非标准格式的EPG文本转换成标准EPG以记事本格式输出。操作方面:输入输出文件均为txt文本格式;频道名称通过人工录入或者制作成下拉菜单选择;节目播出日期人为设定起始终止日期(默认起始日期为软件启动当天,与终止时间间隔为一周。

  内容处理:对于某个频道的EPG内容文件,在一天24小时内节目列表同一时间播出的节目超过两次或者节目内容重复的。删除第二次出现的节目;EPG内容文件中如果节目播出时间精确到秒,应能够去掉“秒”保留小时和分钟;EPG内容文件每天的节目播出时间可能超过24小时(包括前一天或者第二天的节目),对于每天节目播出时间超过23:59的节目放到下一天播出列表中,节目播出时间在00:00之前的节目放到前一天的播出列表中,一天的节目播出列表按时间先后顺序排列,介于00:00到23:59之间等。还有去掉EPG内容文件中的节目简介等,在此不一一列举。格式处理:软件能自动检测输入文件的内容格式,包括频道名称、播出日期、播出时间、结束标志及各种空格等,并且能够修复错误格式。

  2.2设计工具 

  EPG内容文件的修改关键需要完成对txt文件中大量宇符串的操作。基于这个原因,软件开发采用微软公司的ViSual BasiC 6.0。VB6.0具有上手容易,在完成较小的工程时具有开发周期短。开发效率高的优势。VB6.0在文件处理方面功能强大,可以采用VB控件、VB命令、Windows API函数任何一种方法或者几种方法结合使用。

  2.3系统流程图

  对EPG内容文件采用逐行读入的方式,读入一行处理一行,直到文件未。行处理:根据文本中每行的内容将“行”分为五类——播出节目行、文字行,每天播出开始标示行、 行、播出结束标示行、频道名称行。其中播出开始标示行、播出节目行、播出结束标示行具有时问。通过判断读入行是否具有时间以及是否具有内容、内容是否为“结束”来判断该行的类别。标准的EPG文件具有一个频道名称行、多个播出开始标示行、一个播出结束标示行,播出结束行一般设定其时间为23:59。

  3.设计

  3.1输入界面

  界面力求简洁,尽量减少人工输入。频道名可从下拉菜单中选择。也可以手动输入与EPG播发系统一样的频道名称,否则EPG播发系统内容加载时,系统将不能识别EPG内容文件;起始日期默认为软件启动的当天,起始与终止日期间隔为6天,终止日期也可以具体设定。源文件(待修改的内容文件1、目标文件(修改后的EPG内容文件)可以通过“测览”进行选择。

  3.2内容处理

  把频道名、起始和终止日期、源文件及目标文件选中后,单击转换按钮开始转换。为了防止误操作,软件对输入内容进行验证:频道名称不能为空,名称输入错误,系统自动提示;源文件目标文件名称不能相同;终止日期不能大于起始日期。先用for语句遍历整个文件得到文件行数,然后逐行读入写入。通过调用Open和Point命令对文件执行打开,新建、修改操作。读入一行,判断该行属性,应用Is-Numeric函数以及“&”连接字符串来判断时间,从中提取节目的播出时间,节目名,赋值给对应的变量。详细此处不再赘述。软件使用后效果非常明显,每周103套EPG文件制作工作速度在软件应用后由9人时提高到1人时。

  软件具有很好的通用性:通过设置CommonDialog控件的Flags属性为cdl OFN Allow MUltiselect or cdl OFN PathMust Exist or cdl FN File Exist,可以方便的对多个文件同时进行修改操作,经过相应修改软件可实现同时处理多个EPG文件。软件虽然为北极星电子节目指南播出系统、天鸽2开发,但是由于各EPG播发系统对内容文件的要求相似,只需更改软件的字符串控制程序段就移植到其他系统上。

2009年12月22日
发表评论

微信扫码关注公众号