一种音视频连续播放无缝切换系统和方法

文档序号:6425335阅读:141来源:国知局
专利名称:一种音视频连续播放无缝切换系统和方法
技术领域
本发明属于音视频处理技术领域,尤其涉及一种音视频的安全播放技术。
背景技术
广播台或电视台的播出系统对音视频稳定播出的要求非常高,在播出系统正常工作的时候不允许出现由于网络中断或者文件错误等情况引发的播出中断的故障,如果没有一定的保障措施来及时处理系统播出时的异常,势必影响广播电视系统的播出质量。因此, 一种有效的播出容错机制对广播台或电视台的播出系统来说显得尤为重要。为了解决这个问题,目前采取的主要措施是严格控制播出节目文件的质量以及加强播出系统的网络管理,尽可能地降低系统播出异常的几率。万一在播出过程中发生网络或文件异常而引起系统中断的情况,则只能通过主持人或者值机人员手动切换进行紧急干预,这给系统的稳定性和可操作性带来了极大的挑战。目前还有一种解决方案是通过主备播出站的思路来完成的,即同时有两套或者多套播出系统在同时同步的工作,一旦一台因为文件导致播出失败,则切换到另一台继续工作,这样确实能在一定程度上解决因文件错误导致的播出事故,但需要建立更为复杂的播出网络,大大增加了网络成本。因而,急切需要一种方法能够有效的自动的完成连续播出的工作。

发明内容
本发明的目的是为了提高广播电视系统连续播出的安全性和稳定性,提出了一种音视频连续播放无缝切换系统和方法。为了实现上述目的,本发明提供了一种技术方案一种音视频连续播放无缝切换系统,其特征在于,包括多路径管理模块、数据缓冲模块、数据输出模块和至少两个文件存储服务器,所述文件存储服务器、多路径管理模块、数据缓冲模块和数据输出模块依次连接;所述多路径管理模块的输入端与多个文件存储服务器同时连接,输出端与数据缓冲模块连接,所述多路径管理模块包括一个数据通道和一组存储器,其中数据通道用于将音视频文件中的文件数据流从文件存储服务器传输到数据缓冲模块,其中存储器用于记录同一个音视频文件的文件名,以及该文件在不同服务器上所处的路径、当前被使用的路径L 以及当前音视频文件被读取位置P,所述多路径管理模块用于在数据缓冲模块的请求下,从当前被使用的路径L中的音视频文件中读取文件数据流并通过数据通道传送到数据缓冲模块以填满数据缓冲模块,同时记录当前音视频文件被读取到的位置P ;所述数据缓冲模块的输入端与多路径切换模块连接,输出端和数据输出模块连接,所述数据缓冲模块用于暂时存放文件数据流,并在数据输出模块的请求下将文件数据流通过音频输出模块输出到系统外部进行下一级处理;所述数据输出模块的输入端与数据缓冲模块连接,输出端与系统外部连接,用于请求从数据缓冲模块中获得文件数据流,以输出到系统外部进行下一级处理。
所述多个服务器可以分别设置在不同的物理服务器上,也可以通过磁盘阵列的方式设置在同一台物理服务器上。为了实现上述目的,本发明提供了另一种技术方案本发明的技术方案是一种音视频连续播放无缝切换方法,包括如下步骤步骤1 系统初始化操作对同一个音视频文件在不同服务器上所处的路径、当前被使用的路径L的进行记录和保存,进行缓冲容量R、填充触发点K的设定;步骤2 填充操作当数据缓冲模块中的剩余的文件数据流少于填充触发点K时, 数据缓冲模块将请求多路径管理模块填充文件数据流,此时多路径管理模块将从当前被使用的路径L中对应的音视频文件中读取文件数据流并填充至数据缓冲模块直至将数据缓冲模块填满,并记录当前音视频文件被读取位置P ;步骤3 判断步骤2中的填充过程是否成功,若填充成功则进入步骤4,若填充不成功则进入步骤6 ;步骤4 根据外部系统的请求,通过数据输出模块将文件数据流从数据缓冲模块中输出到外部系统;步骤5 判断数据缓冲模块中剩余的文件数据流的大小是否小于填充触发点K,如果小于,则转到步骤2进行填充操作,如果不小于,则转到步骤4继续从数据缓冲模块中输出文件数据流;步骤6 判断当前被使用的路径L对应的服务器上的音视频文件是否被读到结尾, 若到达结尾,则进入步骤7,若未到达结尾,则进入步骤8 ;步骤7 发出播出成功消息并结束播出;步骤8 判断在所有的文件服务器中对应的同一个音视频文件是否全部出错,若全部出错则进入步骤9,若未全部出错则进入步骤10 ;步骤9 发出播出失败消息并结束播出;步骤10 路径切换进行当前被使用的路径L的切换操作,将备选文件路径中的下一个路径作为新的当前被使用的路径L‘,并从当前音视频文件被读取位置ρ所对应的位置开始读取新的音视频文件的文件数据流,并转到步骤2。本发明的有益效果是本发明针对音视频文件在播放过程中遇到网络故障或文件读取错误等异常情况时,进行无缝切换操作,达到系统连续播出的目的,以此避免了人为操作带来的繁琐性和不确定性,简化了系统结构,降低了实施成本。


图1是本发明的系统结构图。图2是本发明的方法流程图。
具体实施例方式下面结合附图和具体的实施例对本发明做进一步的说明。如图1所示,一种音视频连续播放无缝切换系统,包括多路径管理模块、数据缓冲模块、数据输出模块和至少两个文件存储服务器,所述文件存储服务器、多路径管理模块、 数据缓冲模块和数据输出模块依次连接;
所述多路径管理模块的输入端与多个文件存储服务器同时连接,输出端与数据缓冲模块连接,所述多路径管理模块包括一个数据通道和一组存储器,其中数据通道用于将音视频文件中的文件数据流从文件存储服务器传输到数据缓冲模块,其中存储器用于记录同一个音视频文件的文件名,以及该文件在不同服务器上所处的路径、当前被使用的路径 L以及当前音视频文件被读取位置ρ (每一条路径对应一个文件服务器,除当前被使用的路径L之外的路径被称为备选路径),所述多路径管理模块用于在数据缓冲模块的请求下,从当前被使用的路径L中的音视频文件中读取文件数据流并通过数据通道传送到数据缓冲模块以填满数据缓冲模块,同时记录当前音视频文件被读取到的位置P (该位置也被称为断点);上述多路径管理模块作为音视频文件读取的一种即时容错机制,当网络发生故障或文件出错时,能快速准确地从备选文件路径上继续读取音视频文件,从而实现连续播出。所述数据缓冲模块的输入端与多路径切换模块连接,输出端和数据输出模块连接,所述数据缓冲模块用于暂时存放文件数据流,并在数据输出模块的请求下将文件数据流通过音频输出模块输出到系统外部进行下一级处理;上述数据缓冲模块在音视频文件播放进行前与播放过程中,根据既定的缓冲容量调整与填充策略,将从文件服务器中的某个音视频文件中读取的一定长度的文件数据流动态的写入数据缓冲模块;数据缓冲模块采用循环队列的形式组织内存空间,音视频文件播出过程中从循环队列依次读取,完成读取后的内存空间又回至循环队列的末尾等待下次填充数据,如此循环利用内存空间;缓冲容量调整策略对缓冲容量大小进行动态调整在音视频文件没有进行播放之前,将数据缓冲模块的缓冲容量设为R=I. 5M(约48秒s48音频文件数据长度),以使得缓冲容量能够尽快被填满,从而满足数据输出模块的请求,尽快实现播放;在音视频文件开播后,缓冲容量可以被调整得尽可能大,以保证其能够在出现音视频文件错误的情况下依然能够有较长时间的文件数据流储备供数据输出模块输出使用, 此时缓冲容量通常可设为所播音视频文件的大小,但缓冲容量的上限一般最大不超过R = 10M,否则,容易占用过多的机器内存而导致机器效率降低;上述的音视频文件播出开始后,将数据缓冲模块的填充触发点设为K=L 5M(约 48秒的s48文件数据),即缓冲区内剩余的文件数据流小于填充触发点K时,将启动数据缓冲模块的填充操作通过多路径管理模块从当前路径中的音视频文件读取文件数据流;上述缓冲区容量R与填充触发点K都是可以人为调节设置的,以适应不同的实际需求,提高系统的通用性;所述数据输出模块的输入端与数据缓冲模块连接,输出端与系统外部连接,用于请求从数据缓冲模块中获得文件数据流,以输出到系统外部进行下一级处理。所述多个服务器可以分别设置在不同的物理服务器上,也可以通过磁盘阵列的方式设置在同一台物理服务器上,本实施例中,文件服务器的数量为η,η为大于或等于2的自然数,可以根据系统的要求设置不同数量的服务器。上述的多路径管理模块用于在当前被使用的路径L对应的文件服务器出现网络故障或音视频文件读取错误时,记录下当前被使用的路径L、当前被使用的音视频文件的文件名与当前音视频文件被读取位置P (断点),并立即将任一个备用路径切换为新的当前被使用路径L’,继续从当前音视频文件被读取位置ρ对应的位置进行读取新的文件服务器上的音视频文件的操作,从而实现数据源持续有效的工作。为了实现上述目的,本发明提供了另一种技术方案本发明的技术方案是一种音视频连续播放无缝切换方法,包括如下步骤步骤1 系统初始化操作对同一个音视频文件在不同服务器上所处的路径、当前被使用的路径L的记录和保存,缓冲容量R、填充触发点K的设定;其中每个路径对应一个服务器,所述多个服务器可以分别设置在不同的物理服务器上,也可以通过磁盘阵列的方式设置在同一台物理服务器上;其中对缓冲容量R的初始化,刚开始为了能够尽快的填满数据缓冲模块,以便能够迅速的向外部系统输出文件数据流,因此缓冲容量R设置得较小,本实施例中为1. 5M(约48秒S48音频文件数据长度),等音视频正常播出之后,再适当增大缓冲容量R,使其能够在出现文件错误的情况下依然能够有较长时间的文件数据流供数据输出模块输出使用;步骤2 填充操作当数据缓冲模块中的剩余的文件数据流少于填充触发点K时, 数据缓冲模块将请求多路径管理模块填充文件数据流,此时多路径管理模块将从当前被使用的路径L中对应的音视频文件中读取文件数据流并填充至数据缓冲模块直至将数据缓冲模块填满,并记录当前音视频文件被读取位置P ;步骤3 判断步骤2中的填充过程是否成功,若填充成功则进入步骤4,若填充不成功则进入步骤6 ;步骤4 根据外部系统的请求,通过数据输出模块将文件数据流从数据缓冲模块中输出到外部系统;步骤5 判断数据缓冲模块中剩余的文件数据流的大小是否小于填充触发点K,如果小于,则转到步骤2进行填充操作,如果不小于,则转到步骤4继续从数据缓冲模块中输出文件数据流;步骤6 判断当前被使用的路径L对应的服务器上的音视频文件是否被读到结尾, 若到达结尾,则进入步骤7,若未到达结尾,则进入步骤8 ;步骤7 发出播出成功消息并结束播出;步骤8 判断在所有的文件服务器中对应的同一个音视频文件是否全部出错,若全部出错则进入步骤9,若未全部出错则进入步骤10 ;步骤9 发出播出失败消息并结束播出;步骤10 路径切换进行当前被使用的路径L的切换操作,将备选文件路径中的下一个路径作为新的当前被使用的路径L‘,并从当前音视频文件被读取位置ρ所对应的位置开始读取新的音视频文件的文件数据流,并转到步骤2 ;步骤10中由于从发现文件填充失败(步骤幻到切换到新的路径继续从当前音视频文件被读取位置P对应的位置开始读取文件数据流(步骤10),这一过程通过高性能的代码实现之后能在30秒以内完成整个切换动作并填充新的文件数据流,而由于数据缓冲模块中至少存储了容量为K的数据(以K = 1. 5为例,可以持续播出45秒左右),因此对于外界而言,完全感受不到数据出错的问题以及路径切换操作,从而实现了多路径多文件的无缝切换操作。本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
权利要求
1.一种音视频连续播放无缝切换系统,其特征在于,包括多路径管理模块、数据缓冲模块、数据输出模块和至少两个文件存储服务器,所述文件存储服务器、多路径管理模块、数据缓冲模块和数据输出模块依次连接;所述多路径管理模块的输入端与多个文件存储服务器同时连接,输出端与数据缓冲模块连接,所述多路径管理模块包括一个数据通道和一组存储器,其中数据通道用于将音视频文件中的文件数据流从文件存储服务器传输到数据缓冲模块,其中存储器用于记录同一个音视频文件的文件名,以及该文件在不同服务器上所处的路径、当前被使用的路径L以及当前音视频文件被读取位置P,所述多路径管理模块用于在数据缓冲模块的请求下,从当前被使用的路径L中的音视频文件中读取文件数据流并通过数据通道传送到数据缓冲模块以填满数据缓冲模块,同时记录当前音视频文件被读取到的位置P ;所述数据缓冲模块的输入端与多路径切换模块连接,输出端和数据输出模块连接,所述数据缓冲模块用于暂时存放文件数据流,并在数据输出模块的请求下将文件数据流通过音频输出模块输出到系统外部进行下一级处理。所述数据输出模块的输入端与数据缓冲模块连接,输出端与系统外部连接,用于请求从数据缓冲模块中获得文件数据流,以输出到系统外部进行下一级处理。
2.根据权利要求1所述的一种音视频连续播放无缝切换系统,其特征在于,所述多个服务器可以分别设置在不同的物理服务器上,也可以通过磁盘阵列的方式设置在同一台物理服务器上。
3.一种音视频连续播放无缝切换方法,包括如下步骤步骤1 系统初始化操作对同一个音视频文件在不同服务器上所处的路径、当前被使用的路径L的进行记录和保存,进行缓冲容量R、填充触发点K的设定;步骤2 填充操作当数据缓冲模块中的剩余的文件数据流少于填充触发点K时,数据缓冲模块将请求多路径管理模块填充文件数据流,此时多路径管理模块将从当前被使用的路径L中对应的音视频文件中读取文件数据流并填充至数据缓冲模块直至将数据缓冲模块填满,并记录当前音视频文件被读取位置P ;步骤3 判断步骤2中的填充过程是否成功,若填充成功则进入步骤4,若填充不成功则进入步骤6 ;步骤4:根据外部系统的请求,通过数据输出模块将文件数据流从数据缓冲模块中输出到外部系统;步骤5 判断数据缓冲模块中剩余的文件数据流的大小是否小于填充触发点K,如果小于,则转到步骤2进行填充操作,如果不小于,则转到步骤4继续从数据缓冲模块中输出文件数据流;步骤6 判断当前被使用的路径L对应的服务器上的音视频文件是否被读到结尾,若到达结尾,则进入步骤7,若未到达结尾,则进入步骤8 ;步骤7 发出播出成功消息并结束播出;步骤8 判断在所有的文件服务器中对应的同一个音视频文件是否全部出错,若全部出错则进入步骤9,若未全部出错则进入步骤10 ;步骤9 发出播出失败消息并结束播出;步骤10 路径切换进行当前被使用的路径L的切换操作,将备选文件路径中的下一个路径作为新的当前被使用的路径L‘,并从当前音视频文件被读取位置ρ所对应的位置开始读取新的音视频文件的文件数据流,并转到步骤2。
全文摘要
本发明公开了一种音视频连续播放无缝切换系统和方法。其技术方案是一种音视频连续播放无缝切换系统,包括多路径管理模块、数据缓冲模块、数据输出模块和至少两个文件存储服务器,所述文件存储服务器、多路径管理模块、数据缓冲模块和数据输出模块依次连接。本发明的另一技术方案是一种音视频连续播放无缝切换方法,包括如下步骤步骤1系统初始化操作;步骤2填充操作。本发明的有益效果是达到系统连续播出的目的,以此避免了人为操作带来的繁琐性和不确定性,简化了系统结构,降低了实施成本。
文档编号G06F17/30GK102231730SQ201110144970
公开日2011年11月2日 申请日期2011年5月31日 优先权日2011年5月31日
发明者何建, 唐继勇, 李波, 杨峰, 白新跃, 郭奕 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1