一种码流切换的方法、装置、服务器和系统的利记博彩app

文档序号:7791412阅读:282来源:国知局
专利名称:一种码流切换的方法、装置、服务器和系统的利记博彩app
技术领域
本发明涉及数字电视领域,尤其涉及一种码流切换的方法、装置、服务器和系统。
背景技术
目前在数字电视领域中,通过编码器将卫星信号转换成IP (Internet Protocol, 网络协议)信号,然后将IP信号数据保存到本地服务器中,完成电视节目的录制。在实际录制中,主编码器可能出现故障,这样就需要切换到备编码器继续工作。一般完成由切换器来完成切换的功能,切换器对主用设备输入的码流进行检测,当检测到所述主用码流异常时, 切换到备用设备输入的备用码流作为输出码流。但上述技术方案的缺点是,需要切换器作为切换设备,增加了硬件设备,从而增加了成本。

发明内容
本发明实施例在于提供一种码流切换的方法、装置、服务器和系统,可以通过服务器对主备数据流的缓存,当主编码器出现故障时,无缝的切换到备编码器的方案,解决了需要增加硬件设备、成本高的问题。本发明是这样实现的,一种码流切换的方法,包括接收主编码器图像组和备编码器图像组;给新的主编码器图像组和新的备编码器图像组打时间戳;如果主编码器异常,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳;将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较;如果找到与所述主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘。本发明的另一目的在于提供一种码流切换的装置,包括缓存模块,用于接收主编码器图像组和备编码器图像组,给新的主编码器图像组和新的备编码器图像组打时间戳;检测模块,与所述缓存模块相连接,用于检测主编码器是否异常,如果异常,发送异常消息给切换模块;切换模块,与所述检测模块相连接,用于接收所述异常消息,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳,将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较,如果找到与所述主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘。本发明的又一目的在于提供一种包含上述码流切换装置的服务器。本发明的再一目的在于提供一种码流切换的系统。主编码器,用于向服务器发送主编码器数据包;备编码器,用于向服务器发送备编码器数据包;服务器,用于接收主编码器图像组和备编码器图像组;给新的主编码器图像组和新的备编码器图像组打时间戳;如果主编码器异常,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳;将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较;如果找到与所述主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘;本地磁盘,用于接收从所述服务器传来的主编码器图像组或者备编码器图像组。实施本发明实施例,通过服务器对主备数据流的缓存,当主编码器出现故障时,无缝的切换到备编码器,可以不需要硬件的添加,降低了成本。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例的一种码流切换的方法流程示意图;图2是本发明一种码流切换的方法的另一实施例的流程示意图;图3是本发明实施例的一种码流切换的装置的结构示意图;图4是本发明一种码流切换的装置的另一实施例的结构示意图;图5是本发明实施例的一种码流切换的系统结构示意图。
具体实施例方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。请参阅图1示出的本发明实施例的一种码流切换的方法流程示意图,包括步骤SlOl 接收主编码器GOP (Group of Pictures,图像组)和备编码器G0P。具体的,接收主编码器GOP和备编码器GOP到缓存中。步骤S102 给新的主编码器GOP和新的备编码器GOP打时间戳。具体的,在缓存中,给新的主编码器GOP和新的备编码器GOP打时间戳。步骤S103 如果主编码器异常,读取每一个备编码器G0P,获得每个备编码器GOP 的时间戳。具体的,当一定时间内(比如4秒内),缓存接收不到从主编码器发送来的主编码器G0P,则判断主编码器异常。
步骤S104 将每个备编码器GOP的时间戳与主编码器异常前最后一个主编码器 GOP的时间戳进行比较。步骤S105 如果找到与主编码器异常前最后一个主编码器GOP的时间戳相同的备编码器GOP的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有相同时间戳的备编码器GOP以后的备编码器GOP送到本地磁盘。实施上述实施例,通过服务器对主备数据流的缓存,当主编码器出现故障时,无缝的切换到备编码器,可以不需要硬件的添加,降低了成本。下面结合图2示出的本发明一种码流切换方法的另一实施例的流程示意图,包括步骤S201 服务器接收主编码器和备编码器发送的两路数据包,将主编码器数据包和备编码器数据包分别存入缓存中。步骤S202 服务器查找接收到的主编码器数据包和备编码器数据包中是否含有 GOP头,如果没有查找到GOP头,进入步骤S203 ;如果查找到GOP头,进入步骤S204。具体的,一个GOP是一组连续的画面,信息量较大,有时候一个GOP会分成多个数据包传送,区分是否为一个新的GOP的方式是查找是否有GOP头,当GOP头出现时,代表上一个GOP的终结和下一个GOP的开始。步骤S203 把没有GOP头的数据包写到上一个GOP的缓存中。具体的,没有GOP头的数据包代表的上一个GOP还没有传送完毕,则没有GOP头的数据包实际上是上一个GOP的一部分。具体的,将没有GOP头的主编码器数据包写到上一个主编码器的GOP的缓存中,将没有GOP头的备编码器数据包写到上一个备编码器的GOP 的缓存中。步骤S204 把含有GOP头的数据包写到新的GOP缓存中,并将已经完成的上一个主编码器的GOP缓存数据送到本地磁盘。具体的,含有GOP头的数据包代表上一个GOP已经传送完毕,该数据包是新的GOP 的开始,将该数据包写到新的GOP缓存中。并且当新的主编码器的GOP开始时,就将上一个已经接收完成的主编码器的GOP缓存数据送到本地磁盘。即,在主编码器正常工作时,在缓存中始终保持只有一个主编码器的G0P。而备编码器的缓存中可能保存多个最新收到的备编码器的GOP。步骤S205 给新的GOP打上时间戳。具体的,给缓存中新的主编码器GOP打上时间戳,给缓存中新的备编码器GOP打上时间戳。步骤S206 检测主编码器是否有异常,有异常,进入步骤S207 ;没有异常,返回步骤 S202。具体的,在一定时间内,比如4秒内,缓存接收不到主编码器发送的主编码器G0P, 就认为主编码器有异常。步骤S207 读取缓存中的每一个备编码器G0P,获得每个备编码器GOP的时间戳。具体的,读取备编码器的缓冲中缓存的每一个备编码器,并获得每个备编码器GOP 的时间戳。步骤S208 获得主编码器异常前缓存中最后一个主编码器GOP的时间戳,将步骤
6S207获得的每个备编码器GOP的时间戳分别与该主编码器GOP时间戳进行比较,如果找到相同的备编码器GOP的时间戳,进入步骤S209。步骤S209 将备编码器代替所述异常的主编码器,并将该相同的备编码器GOP以后的备编码器GOP的缓存数据送到本地磁盘。具体的,本地磁盘后续接到的缓存数据为备编码器GOP的缓存数据,而且备编码器代替异常的主编码器继续将后续的图像组送到本地磁盘,这样就完成了主编码器与备编码器之间的切换。实施上述实施例,通过服务器对主备数据流的缓存,当主编码器出现故障时,无缝的切换到备编码器,可以不需要硬件的添加,降低了成本,并且自动检测故障,当发现故障时可以自动切换,避免机器故障问题导致节目无法观看,并且通过GOP来定位故障,这样准确定位图像,精度高。下面结合图3示出的本发明实施例的一种码流切换的装置示意图,进一步详细说明本发明实施例一种码流切换的装置的结构。缓存模块301,用于接收主编码器GOP和备编码器G0P,给新的主编码器GOP和新的备编码器GOP打时间戳。检测模块302,与缓存模块301相连接,用于检测主编码器是否异常,如果异常,发送异常消息给切换模块303。切换模块303,与检测模块302相连接,用于接收该异常消息,读取每一个备编码器G0P,获得每个备编码器GOP的时间戳,将每个备编码器GOP的时间戳与主编码器异常前最后一个主编码器GOP的时间戳进行比较,如果找到与主编码器异常前最后一个主编码器 GOP的时间戳相同的备编码器GOP的时间戳,则备编码器代替所述异常的主编码器,并将该拥有相同时间戳的备编码器GOP以后的备编码器GOP送到本地磁盘。实施上述实施例,通过服务器对主备数据流的缓存,当主编码器出现故障时,无缝的切换到备编码器,可以不需要硬件的添加,降低了成本。下面结合图4示出的本发明实施例的一种码流切换的装置另一结构示意图,进一步详细说明本发明实施例该码流切换的装置的结构。接收子模块401,用于接收主编码器数据包和备编码器数据包。具体的,用于接收从主编码器上发来的主编码器数据包和从备编码器上发来的备编码器数据包。判断GOP子模块402,与接收子模块401相连,用于判断接收到的主编码器数据包和备编码器数据包中是否含有GOP头,如果该数据包没有GOP头,发送该数据包至上一个 GOP缓存子模块403 ;如果该数据包含有GOP头,发送该数据包至新的GOP缓存子模块404。具体的,一个GOP是一组连续的画面,信息量较大,有时候一个GOP会分成多个数据包传送,区分一个GOP的方式是查找是否有GOP头,当GOP头出现时,代表上一个GOP的终结和下一个GOP的开始。上一个GOP缓存子模块403,用于接收从判断GOP子模块402发送的不含有GOP头的数据包,如果是主编码器数据包则写入上一个主编码器GOP缓存内,如果是备编码器数据包则写入上一个备编码器GOP缓存内。具体的,没有GOP头的数据包代表的上一个GOP还没有传送完毕,则没有GOP头的数据包实际上是上一个GOP的一部分。则将没有GOP头的主编码器数据包写到上一个主编码器的GOP的缓存中,将没有GOP头的备编码器数据包写到上一个备编码器的GOP的缓存中。新的GOP缓存子模块404,用于接收从判断GOP子模块402发送的含有GOP头的数据包,如果是主编码器数据包则写入新的主编码器GOP缓存内,如果是备编码器数据包则写入新的备编码器GOP缓存内,并将已经完成的上一个主编码器的GOP缓存数据送到本地磁盘,以及将已经完成的上一个主编码器图像组的时间戳发送给检测模块406。具体的,含有GOP头的数据包代表上一个GOP已经传送完毕,该数据包是新的GOP 的开始,将该数据包写到新的GOP缓存中。并且当新的主编码器的GOP开始时,就将上一个已经接收完成的主编码器的GOP缓存数据送到本地磁盘。即,在主编码器正常工作时,在缓存中始终保持只有一个主编码器的G0P。时间戳子模块405,与新的GOP缓存子模块404相连接,用于给新的主编码器GOP 和新的备编码器GOP打上时间戳。检测模块406,与新的GOP缓存子模块404相连接,检测主编码器是否异常,如果异常发送异常消息给获取子模块407。具体的,在一定时间内,比如4秒内,收不到缓存传来的主编码器G0P,就认为主编
码器有异常。获取子模块407,用于接收检测模块406发送的异常消息,读取每一个备编码器 G0P,获得每个备编码器GOP的时间戳。比较子模块408,与获取子模块407相连接,用于将每个备编码器GOP的时间戳与主编码器异常前最后一个主编码器GOP的时间戳进行比较,如果找到与主编码器异常前最后一个主编码器GOP的时间戳相同的备编码器GOP的时间戳,发送消息给切换子模块409。切换子模块409,用于接收发送消息,将备编码器代替所述异常的主编码器,并将该拥有相同时间戳的备编码器GOP以后的备编码器GOP送到本地磁盘。具体的,本地磁盘后续接到的缓存数据为备编码器GOP的缓存数据,这样就完成了主编码器与备编码器之间的切换。实施上述实施例,通过服务器对主备数据流的缓存,当主编码器出现故障时,无缝的切换到备编码器,可以不需要硬件的添加,降低了成本,并且自动检测故障,当发现故障时可以自动切换,避免机器故障问题导致节目无法观看,并且通过GOP来定位故障,这样准确定位图像,精度高。此外,本发明还公开了一种包含上述实施例所公开的一种码流切换的装置的服务
ο下面结合图5示出的本发明实施例一种码流切换的系统示意图,进一步详细说明本发明实施例一种码流切换的系统,包括主编码器501,备编码器502,服务器503和本地磁盘 504 主编码器501,用于向服务器503发送主编码器数据包;备编码器502,用于向服务器503发送备编码器数据包;服务器503,用于接收主编码器图像组和备编码器图像组;给新的主编码器图像组和新的备编码器图像组打时间戳;如果主编码器异常,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳;将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较;如果找到与所述主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘504。本地磁盘504,用于接收从服务器503传来的主编码器图像组或者备编码器图像组。实施上述实施例,通过服务器对主备数据流的缓存,当主编码器出现故障时,无缝的切换到备编码器,可以不需要硬件的添加,降低了成本。需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。 基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所揭露的仅为本发明实施例中的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种码流切换的方法,其特征在于,包括接收主编码器图像组和备编码器图像组;给新的主编码器图像组和新的备编码器图像组打时间戳;如果主编码器异常,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳;将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较;如果找到与所述主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘。
2.如权利要求1所述的方法,其特征在于,所述接收主编码器图像组和备编码器图像组包括接收主编码器发送的主编码器数据包和备编码器发送的备编码器数据包;查找接收到的所述主编码器数据包和所述备编码器数据包中是否含有图像组头,如果所述数据包没有查找到图像组头,把所述数据包写到上一个图像组的缓存中;如果所述数据包查找到图像组头,把所述数据包写到新的图像组缓存中。
3.如权利要求2所述的方法,其特征在于,所述如果所述数据包查找到图像组头,把所述数据包写到新的图像组缓存中还包括将已经完成的上一个主编码器图像组缓存数据送到本地磁盘。
4.如权利要求1至3任意一项所述的方法,其特征在于,所述主编码器异常包括在预设的时间内收不到主编码器的图像组。
5.一种码流切换的装置,其特征在于,包括缓存模块,用于接收主编码器图像组和备编码器图像组,给新的主编码器图像组和新的备编码器图像组打时间戳;检测模块,与所述缓存模块相连接,用于检测主编码器是否异常,如果异常,发送异常消息给切换模块;切换模块,与所述检测模块相连接,用于接收所述异常消息,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳,将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较,如果找到与所述主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘。
6.如权利要求5所述的装置,其特征在于,所述缓存模块具体包括接收子模块,用于接收主编码器数据包和备编码器数据包;判断图像组子模块,与所述接收子模块相连,用于判断接收到的所述主编码器数据包和所述备编码器数据包中是否含有图像组头,如果数据包中没有图像组头,发送所述数据包至上一个图像组缓存子模块;如果数据包含有图像组头,发送所述数据包至新的图像组缓存子模块;上一个图像组缓存子模块,用于接收从所述判断图像组子模块发送的不含有图像组头的数据包,如果是主编码器数据包则写入上一个主编码器图像组缓存内,如果是备编码器数据包则写入上一个备编码器图像组缓存内;新的图像组缓存子模块,用于接收从所述判断图像组子模块发送的含有图像组头的数据包,如果是主编码器数据包则写入新的主编码器图像组缓存内,如果是备编码器数据包则写入新的备编码器图像组缓存内;时间戳子模块,与所述新的图像组缓存子模块相连接,用于给所述新的主编码器图像组和所述新的备编码器图像组打上时间戳。
7.如权利要求5所述的装置,其特征在于,所述切换模块具体包括获取子模块,用于接收所述检测模块发送的异常消息,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳;比较子模块,与所述获取子模块相连接,用于将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较,如果找到与所述主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,发送消息给切换子模块;切换子模块,用于接收所述发送消息,将备编码器代替所述异常的主编码器,并将拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘。
8.如权利要求6所述的装置,其特征在于,所述新的图像组缓存子模块还用于将已经完成的上一个主编码器图像组缓存数据送到本地磁盘,以及将已经完成的上一个主编码器图像组的时间戳发送给所述检测模块。
9.一种服务器,其特征在于,包括如权利要求5-8任意一项所述的码流切换的装置。
10.一种码流切换的系统,其特征在于,包括主编码器,用于向服务器发送主编码器数据包;备编码器,用于向服务器发送备编码器数据包;服务器,用于接收主编码器图像组和备编码器图像组;给新的主编码器图像组和新的备编码器图像组打时间戳;如果主编码器异常,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳;将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较;如果找到与所述主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘;本地磁盘,用于接收从所述服务器传来的主编码器图像组或者备编码器图像组。
全文摘要
本发明公开了一种码流切换的方法,包括接收主编码器图像组和备编码器图像组;给新的主编码器图像组和新的备编码器图像组打时间戳;如果主编码器异常,读取每一个备编码器图像组,获得所述每一个备编码器图像组的时间戳;将所述每一个备编码器图像组的时间戳与主编码器异常前最后一个主编码器图像组的时间戳进行比较;如果找到与主编码器异常前最后一个主编码器图像组的时间戳相同的备编码器图像组的时间戳,则将备编码器代替所述异常的主编码器,并将该拥有所述相同时间戳的备编码器图像组以后的备编码器图像组送到本地磁盘。本发明还公开了装置、服务器及系统,当主编码器出现故障时,无缝切换到备编码器,可以不需要硬件的添加,降低了成本。
文档编号H04N21/234GK102572517SQ20111043366
公开日2012年7月11日 申请日期2011年12月21日 优先权日2011年12月21日
发明者杨大维 申请人:深圳市同洲视讯传媒有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1