背景技术
当前在各级广播电视制作和播出机构中,都在进行网络化的建设,其核心的目标就是借助于日新月异的IT技术,将电视节目的摄制、采集、编辑、传输、管理、播出、多渠道发布等有机的整合在一个网络平台上,形成全新的电视节目生产的工艺流程,在不同的环节上,通过采纳不同的IT技术对流程及进行优化,提高资源的共享率,提高节目最终播出的质量。
在2006年和2007年国家广电总局发布的《电视台数字化网络化建设白皮书》中,特别强调了“电视台网”的概念:电视台网是指以现代信息技术和数字电视技术为基础,以计算机网络为核心,实现电视节目的采集、编辑、存储、播出交换以及相关管理等辅助功能的网络化系统。在这个电视台网中,最为重要的就是不同业务板块之间的互联互通,电视台网异构业务板块及设备由于接口标准不同,将会产生互联互通问题,会造成各板块的孤立,节目资源不能有效共享,对业务的连续扩展性、使用的便捷性等都会带来影响,电视台网将不能发挥其应有的优势。
也就是说,在目前电视台全台网建设中,异构系统的互联互通是一个非常关键的技术问题。这里所谓的异构系统指的是如下几种情况:
电视台播出线是电视节目的最终出口。通常情况下,一个电视台有若干个频道,每个频道有独立的播出设备。在目前大多数电视台的总控播出线上,每个频道的播出由如下几种系统板块构成:第一,视频播出系统,包括视频播出服务器和视频播控系统,根据事先编排的节目单顺序的播放视音频节目流;第二,字幕播出系统,包括字幕播出服务器和字幕播控系统,根据事先制作的字幕列表播出字幕;第三,视频切换和键混系统,负责将字幕播出的结果混合叠加到视频节目之中,最后通过输出通道进行信号的发射。
原来电视台对总控播出线上的字幕播出系统要求很低,播出需求的量也比较小,只是播出一些台标信息、时钟信息等。但是随着电视台频道整合,播出线图文信息内容播出任务大大增加,如滚动的时事新闻、突发事件、旅游资讯信息、公共服务信息、实时气象信息、广告图标、广告文字等等。同时字幕播出的形式也日益多样化,不是简单的仅仅是文字形式,而是以文字配合各种图形、动画的形式来表现,并伴有各种特技效果。这样以来,就给原有的字幕播出系统带来了如下的困难:
容易造成由于人为误操作带来的播出事故。电视节目内容的正确性、准确性和播出设备的稳定性是电视台播出部门最为关注的问题。一旦出现故障,将直接导致播出事故,带来不好的社会效应。
大多数的字幕是需要配合各频道的视频播出系统播放的电视节目进行精确的定时播出的,但是视频播出系统会经常性的进行节目内容调整、顺序调整等,此时字幕的播出肯定不可能自动与视频节目匹配,而且在这种情况下,人工的字幕调整会变得非常困难。
上述所有问题的根源就是在电视台总控播出线中,没有实现“视频播出系统”、“字幕播出系统”和“视频切换和键混系统”三个业务板块的数据交互。在“视频播出系统”中,是必然会有一个节目单的,它决定了一个频道每天在哪些时间播出哪些节目。在通常情况下,电视台的总编室会提前7天(针对不同的电视台,提前的时间略有差异)提交每个频道的节目单,当然遇到特殊情况会进行及时的调整。然后,电视台的播出部会根据这些节目单准备素材的上载、节目单提交给播出控制系统。这个节目单对于字幕播出系统也是非常有用的,最有用的应该是播出的时间,如果字幕播出系统能够得到这个节目单,对于字幕的制作和播出将会大有裨益。
另一方面,在字幕播出系统中,为了保证播出的安全性,需要设置一些字幕禁播时段,在这些时段内,是禁止任何字幕的播出的,例如各个省级电视台在转播中央电视台的“新闻联播”节目或者重大新闻直播节目时,是绝对要避免任何形式字幕的播出。一个频道的“禁播时段”对于“视频播出系统”来说同样重要,它可以根据这些时间段控制“视频切换和键混系统”的字幕下游键的物理开关,在更高级别上确保字幕播出的安全性。
发明内容
本发明的目的是针对上述问题,提供一种总控播出线异构系统间基于消息队列的信息交互方法,使得“字幕播出系统”和“视频播出系统”之间能够有效地获取信息,从而降低字幕播出系统的人工的工作量,提高字幕制作的效率,增加字幕播出的安全性和稳定性。
本发明的技术方案如下:一种总控播出线异构系统间基于消息队列的信息交互方法,包括如下步骤:
(1)在视频播出系统和字幕播出系统的网关上部署消息服务;
(2)视频播出系统和字幕播出系统分别向对方发送获取相关信息数据的消息;
(3)视频播出系统和字幕播出系统接收到对方发送的消息后,对消息进行处理,从数据库中取出对方所需信息数据,并封装成XML协议格式,发送给对发系统。
进一步,如上所述的总控播出线异构系统间基于消息队列的信息交互方法,其中,在步骤(1)中,在视频播出系统的网关上部署的消息服务受来自字幕播出系统的“获取节目单”消息的触发;在字幕播出系统的网关上部署的消息服务受来自视频播出系统的“获取禁播时段”消息的触发。
进一步,如上所述的总控播出线异构系统间基于消息队列的信息交互方法,其中,在步骤(2)中,视频播出系统向字幕播出系统发送“获取禁播时段”消息,字幕播出系统向视频播出系统发送“获取节目单”消息。
进一步,如上所述的总控播出线异构系统间基于消息队列的信息交互方法,其中,在步骤(3)中,视频播出系统将各频道的最新节目单信息封装成XML协议格式,发送给字幕播出系统,字幕播出系统读取其中的节目单信息,写到数据库中,用于生成字幕播出条目;字幕播出系统将各频道最新的禁播时段信息封装成XML协议格式,发送给视频播出系统,视频播出系统读取其中的禁播时段信息,写到数据库中,用于控制字幕的播出开关。
进一步,如上所述的总控播出线异构系统间基于消息队列的信息交互方法,其中,一个被封装成XML协议格式的节目单包括“任务时段”和“条目时段”两级结构,一个XML节目单包括一个或多个“任务时段”,每个“任务时段”包含一个或多个“条目时段”。
进一步,如上所述的总控播出线异构系统间基于消息队列的信息交互方法,其中,视频播出系统的一个频道的播出控制终端从数据库中取出本频道的禁播时段,根据禁播时段的起始时间和结束时间,关闭和开启该频道的字幕下游键。
本发明的有益效果如下:本发明通过标准的XML文件格式协议和消息服务,将播出线的视频播出系统中的节目单推送到字幕播出系统之中,字幕播出系统使用这些节目单,生成字幕播出条目,使得视频播出和字幕播出紧密耦合起来,从而降低人工制作字幕的工作量,避免由于人为操作失误导致的播出事故;另一方面,字幕播出系统的一些播控信息,特别是每个频道的字幕禁播时段信息,也通过标准的服务接口推送到视频播出系统中,从而控制字幕的播出开关,增加了字幕播出的安全性和稳定性。
具体实施方式
下面结合附图和具体实施例对本发明进行详细的描述。
本发明的主要核心方案是采用标准的XML格式和标准的消息服务技术,实现电视台总控播出线上的异构系统间跨平台的互联互通。“视频播出系统”的实时在线节目单可以通过消息服务被送到字幕播出系统中,从而大大提高字幕播放列表制作的效率,提高字幕播出内容和时间与视频节目的内容和时间的准确对应,达到紧密耦合的目的。同时,“视频播出系统”通过获得来自“字幕播出系统”的禁播时段信息,控制“视频切换和键混系统”,实现对字幕下游键的物理开启和闭合,确保字幕在这些时段播出的正确性,提高系统整体的安全性。
在硬件组成方面,总控播出线的视频播出系统由视频播出服务器、视频播出控制终端、视频播出总控终端、网关、WEB应用服务器和数据库服务器组成;字幕播出系统由字幕播出服务器、字幕播出控制终端、字幕集中编单终端、网关、WEB应用服务器和数据库服务器组成。
XML(eXtensible Markup Language可扩展标记语言)是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立。XML的简单使其易于在任何应用程序中读写数据,而且XML与具体的操作系统平台和编程语言是无关的,从而成为数据交换的唯一公共语言,可以在所有异构系统间进行数据的交互。本发明将XML作为系统交互协议,不同的厂商在不同的硬件平台下、在不同的操作系统、不同的数据库管理系统实现中,只要遵循这个标准的协议,就可以实现异构系统跨平台的数据交换。
本发明涉及到的数据信息交互中,包含如下的步骤操作:
一、在视频播出系统和字幕播出系统的网关上部署消息服务。
(1).在视频播出系统的网关上部署一个消息服务,这个服务受来自字幕播出系统的“获取节目单”消息的触发。
(2).在字幕播出系统的网关上部署一个消息服务,这个服务受来自视频播出系统的“获取禁播时段”消息的触发。
对于所部署的消息服务的消息队列中间件来说,可以选择JMSMessageQueue、IBM MessageQueue、Microsoft MessageQueue等。消息服务的部署就是将中间件系统安装到网关服务器上,并进行消息队列的建立和消息路由的配置。消息队列的创建有两种方式:静态的创建方式和动态的创建方式。静态的创建方式就是直接在中间件上创建;动态的创建方式是通过视频播出系统和字幕播出系统调用中间件系统提供的APIs,在消息中间件上建立两个消息队列,例如对于节目单信息来说,一个是字幕播出系统进行节目单申请的消息队列,另外一个是视频播出系统将节目单封装成XML格式后,进行节目单发送的消息队列。消息路由的配置也可以通过如上两种方式进行。
二、消息触发、消息处理、数据交互
(1).如图1所示,视频播出系统向字幕播出系统发出“获取禁播时段”消息,字幕播出系统的消息服务接收到这个消息后,从数据库中取出该频道的禁播时段信息,直接写到一个XML文件中,并把文件返回给视频播出系统。视频播出系统得到这个文件后,读取其中的禁播时段信息,写到数据库中,用于控制字幕的播出开关。
(2).如图2所示,字幕播出系统向视频播出系统发出“获取节目单”消息,视频播出系统的消息服务接收到这个消息后,从数据库中取出该频道的最新节目单信息,直接写到一个XML文件中,并把文件返回给字幕播出系统。字幕播出系统得到这个文件后,读取其中的节目单信息,写到数据库中,用于生成字幕播出条目。
当消息队列创建完成并配置好消息路由之后,就可以进行消息的发送、处理、接收了。消息的参数都可以封装成标准的XML格式。例如对于节目单信息来说,字幕播出系统的消息参数包括日期和频道标识;视频播出系统的消息参数包括该频道某个日期的节目单。字幕播出系统调用中间件的API将消息发送给节目单申请队列中,然后再启动一个线程,订阅节目单发送队列中的消息,订阅到一个消息后,就可以将其中的节目单信息解析出来。视频播出系统后台启动一个线程,订阅节目单申请队列中的消息,订阅到一个消息后,就根据其中的参数(日期和频道标识)从数据库中读取出来对应的节目单信息,封装成XML格式作为消息的参数,然后调用中间件的API将该消息放入节目单发送队列中。禁播时段信息的调用与此方式相同。
本发明涉及到的视频播出系统和字幕播出系统的数据交互是使用XML协议对需要交互的数据进行描述。
视频播出系统的节目单的描述如下:
在一个XML节目单中,包括了两级结构,分别是:“任务时段”和“条目时段”。一个XML节目单可以包括一个或多个“任务时段”,每个“任务时段”可以包含一个或多个“条目时段”。不同的“任务时段”由唯一的id标识来区分。不同的“条目时段”也是由唯一的id来区分。对其中的格式进行如下说明:
这个结点下面包含FILE结点、INFO结点、PGM结点。
(1)name:表示文件的名字
(2)version:表示文件的版本
(3)create:表示这个文件创建的时间
(1)channel:表示频道的标识;
(2)date:表示当前的日期;
(3)name:表示时间段,“上午”、“下午”、“晚间”
(4)description:频道的描述,使用一个GUID来表示
(5)index:频道的索引号
PGM结点:内容节点,作为任务时段和条目时段的容器
ITEM结点:任务时间段,每个ITEM描述一个任务
(1)date:播出日期
(2)time:播出时间
(3)som(Start Of Media):素材入点
(4)dur:持续时间
(5)name:时段名称
(6)id:任务时段的唯一标识,在整张单内不重复,该id在新增任务时段时产生,删除任务时段时消除,更新任务时段时保持不变
(1)date:播出日期
(2)time:播出时间
(3)som、eom:入点、出点,格式为时:分:秒:帧,
(4)name:条目时段的名称
(5)Primary ID:唯一标识符
(6)CLIPTYPE:表示素材类型(数字表示的素材类型,如0:广告;1:新闻;2:电视剧等)。
对于多个“任务时段”和多个“条目时段”的情况,举例如下:
例如对于晚间的一档节目中,有多个任务时段:
任务时段1:21:56:00-22:46:00星光剧场《春天后母心》第18集
任务时段2:22:46:01-22:50:00公益广告
任务时段3:22:50:01-23:40:00星光剧场《春天后母心》第19集
这三个任务时段中都包含了多个条目时段,例如任务时段1的条目时段如下:
条目时段1:21:56:00-21:56:30电视剧冠名广告
条目时段2:21:56:31-21:57:00星光剧场栏目片头
条目时段3:21:57:01-21:59:00厂商广告(包含多个广告)
条目时段4:21:59:01-22:19:00《春天后母心》第18集上半部
条目时段5:22:19:01-22:23:00厂商广告(包含多个广告)
条目时段6:22:23:01-22:45:30《春天后母心》第18集下半部
条目时段7:22:45:31-22:46:00《春天后母心》第19集介绍
以下是视频播出系统的节目单的XML格式的示意:
<?xml version=″1.0″encoding=″GB2312″?>
<!--根节点-->
<PROGRAM>
<FILE包括名称、版本和创建日期>
<!--INFO节点,描述频道、日期信息-->
<INFO包括频道标识、当前日期、描述、索引>
<!--内容节点,作为任务时段和条目时段的容器-->
<PGM>
<!--任务时间段,每个ITEM描述一个任务-->
<ITEM>
<!--MAIN节点描述任务的开始和结束时间,日期,时间,入点,
持续时间,时段名称,任务时段的唯一标识-->
<MAIN包括播出日期、时间、入点、持续时间、名称、ID>
<CLIP>
<!--条目时段-->
<ITEM包括日期、时间、入点、出点、名称、ID、素材类型>
</CLIP>
</ITEM>
</PGM>
</PROGRAM>
字幕播出系统的禁播时段的描述如下:
频道信息
禁播时段信息开始
时段段1,起始时间和结束时间
时段段2,起始时间和结束时间
......
时段段N,起始时间和结束时间
禁播时段信息结束
以下是字幕播出系统的禁播时段的XML格式的示意:
<?xml version=″1.0″encoding=″GB2312″?>
<!--根节点-->
<ForbiddenTime>
<FILE包括名称、版本和创建日期>
<!--INFO节点,描述频道、日期信息-->
<INFO包括频道标识、当前日期>
<!--内容节点,作为禁播时段的容器-->
<Time>
<!--禁播时段,每个ITEM描述一个禁播时段-->
<ITEM禁播时段1,起始时间和结束时间>
<ITEM禁播时段2,起始时间和结束时间>
<......>
<ITEM禁播时段N,起始时间和结束时间>
</Time>
</ForbiddenTime>
视频播出系统获取字幕播出系统的禁播时段的最终目是为了在这些时段关闭字幕播出的通道,因此,本发明采用了“以禁播时段为驱动的字幕下游键控制”的方法。
在电视台的总控播出线上,字幕信号与视频信号的叠加是通过“视频切换和键混系统”的字幕下游键实现的。“键”(KEY)就是我们通常所说的抠像,其本质就是“抠像”和“填充”。“抠像”就是利用前景物体轮廓作为遮挡控制电平,将背景画面的颜色沿该轮廓线抠掉,使背景变成黑色;“填充”就是将所要叠加的视频信号填到被抠掉的无图像区域,而最终生成前景物体与叠加背景相合成的图像。
在视频播出系统中,每个频道的播出控制终端都可以控制这个下游键。但在通常情况下,这个字幕下游键一直保持“开”的状态,一旦字幕播出系统输出了字幕信号,视频切换和键混系统就将视频信号进行扣像,然后将字幕信号叠加进去。在紧急情况下,可以在播出控制终端手动关闭这个下游键,此时无论字幕播出系统是否有字幕播出,都不会进行字幕的抠像和填充。
如图3所示,当视频播出系统得到所有频道的禁播时段后,就可以实现下游键的自动开启和关闭:
(1)视频播出系统得到所有频道的禁播时段,并存储到本系统的数据库中。
(2)视频播出系统的某一个频道的播出控制终端从数据库中取出本频道的禁播时段,根据禁播时段的起始时间和结束时间,关闭和开启该频道的下游键。
通过上述方法,总控播出线就可以在更高级别上保证字幕播出的安全性和稳定性。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。