CN116346583B - 一种基于解码端的主备音频切换方法及系统 - Google Patents
一种基于解码端的主备音频切换方法及系统 Download PDFInfo
- Publication number
- CN116346583B CN116346583B CN202310135458.7A CN202310135458A CN116346583B CN 116346583 B CN116346583 B CN 116346583B CN 202310135458 A CN202310135458 A CN 202310135458A CN 116346583 B CN116346583 B CN 116346583B
- Authority
- CN
- China
- Prior art keywords
- audio
- audio stream
- decoding end
- task
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000008030 elimination Effects 0.000 claims abstract description 11
- 238000003379 elimination reaction Methods 0.000 claims abstract description 11
- 238000005516 engineering process Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000012216 screening Methods 0.000 claims abstract description 8
- 230000001360 synchronised effect Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000033764 rhythmic process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于解码端的主备音频切换方法及系统,该方法包括解码端接收主服务器及备服务器分别发送的若干个音频流,并对所述若干个音频流进行识别筛选,获得第一音频流及第二音频流;所述解码端通过预设的网络抖动消除技术对所述第一音频流及所述第二音频流进行处理,并播放所述第一音频流;所述解码端根据当前所处的网络状态,获得所述第一音频流及所述第二音频流的切换时间阈值,在所述第一音频流的播放时间满足所述切换时间阈值时,所述解码端检测所述第一音频流的音频帧序号并根据所述音频帧序号播放所述第二音频流,降低音频切换的延迟,提高音频切换的稳定性。
Description
技术领域
本发明涉及音频切换技术领域,尤其涉及一种基于解码端的主备音频切换方法及系统。
背景技术
目前广播设备系统为保障广播服务质量提高可靠性可用性,一般都会使用双机热备技术,特别是面对高考英语听力广播等必须保证服务质量场景,往往都会使用双机热备技术来保障服务正常无中断顺利进行。双机热备一般基于act ive/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备,执行相同的任务。通常主服务器为act ive状态,备服务器为standby状态,双方通过心跳监测等相互通信方式判定对方是否存在异常,从而当主服务器出现异常时自动将standby状态的备用服务器改成act i ve状态继续提供服务,最大程度提高系统可靠性可用性。
然而,这种由主备服务器相互通信监测方式,存在一些影响体验、可靠性问题。例如主备通信交互较为复杂,通过心跳等监测判定异常、再控制恢复任务,然后切换到主/备服务器接续服务。同时为防止异常误判,会多次心跳确认,异常判定耗时较长,往往需要数秒甚至数分钟,不能无感切换接续服务,造成服务中断一段时间,面对一些特定服务场景,数分钟甚至数秒服务中断都是不能容忍的。另外还会出现双主现象,即主机和备机均认为对方已经故障,通常需要加入第三方仲裁设备,造成设备冗余,且当第三方仲裁设备出现故障时,将导致双机热备系统失效。
发明内容
本发明公开了一种基于解码端的主备音频切换方法及系统,降低音频切换的延迟,提高音频切换的稳定性。
为了实现上述目的,第一方面,本发明提供了一种基于解码端的主备音频切换方法,包括:
解码端接收主服务器及备服务器分别发送的若干个音频流,并对所述若干个音频流进行识别筛选,获得第一音频流及第二音频流;
所述解码端通过预设的网络抖动消除技术对所述第一音频流及所述第二音频流进行处理,并播放所述第一音频流;
所述解码端根据当前所处的网络状态,获得所述第一音频流及所述第二音频流的切换时间阈值;
在所述第一音频流的播放时间满足所述切换时间阈值时,所述解码端检测所述第一音频流的音频帧序号并根据所述音频帧序号播放所述第二音频流。
本发明公开了一种基于解码端的主备音频切换方法,首先通过解码端获取主服务器及备服务器发送的若干个音频流,并根据所述音频流进行识别,获得对应的第一音频流及第二音频流,便于后续进行筛选及播放,接着所述解码端通过预设的网络抖动消除技术对所述第一音频流及所述第二音频流进行网络抖动消除,避免所述第一音频流及所述第二音频流出现错帧播放,提高所述音频播放的稳定性,接着所述解码端开始播放所述第一音频流,在播放所述第一音频流的过程中,所述解码端根据当前的网络状态获取所述音频的切换时间阈值,以使得所述第一音频流达到切换阈值时直接切换第二音频流进行播放,根据所述网络状态确定切换时间,避免因网络出现播放卡断的现象,提高音频持续播放的稳定性,接着根据所述切换时间阈值,所述解码端检查所述第一音频流的播放音频帧,以便于所述第二音频流接续播放时匹配音频帧序号,实现精准接续,降低所述音频帧切换时的延时。
作为优选例子,在所述对所述若干个音频流进行识别筛选,获得第一音频流及第二音频流,具体包括:
所述音频流包括音频I D、音频帧序号及音频数据包;
所述解码端根据所述音频I D对所述若干个音频流进行筛选,获得所述主服务器发送的第一音频流及所述备服务器发送的第二音频流。
本发明接收所述主服务器及所述备服务器发送的音频流,并根据所述音频流中的信息匹配所述音频流发送的对象,以便于后续继续区分,实现音频的切换播放。
作为优选例子,在所述通过预设的网络抖动消除技术对所述第一音频流及所述第二音频流进行处理,具体包括:
所述解码端根据收到的音频数据包中还未播放的缓冲语音数据的大小,获得网络抖动阈值;
根据所述网络抖动阈值,所述解码端获得所述第一音频流及所述第二音频流的延时播放阈值;
所述解码端根据所述延时播放阈值,控制所述第一音频流及所述第二音频流中的音频数据包的播放。
本发明根据收到的音频数据包中还未播放的缓冲语音数据的大小来评估抖动的大小,用以缓冲解决音频发包源头上同步音频发包节奏及网络状态导致的发包抖动,提高音频切换的稳定性。
作为优选例子,在所述解码端根据当前所处的网络状态,获得所述第一音频流及所述第二音频流的切换时间阈值,具体包括:
所述解码端通过实时检测所述音频数据包到达的时间间隔,获得所述音频数据包在网络中的传输时间延时;
根据所述传输时间延时,所述解码端动态获得所述第一音频流及所述第二音频流的切换时间阈值。
本发明通过测量音频数据包达到解码端的时间间隔,来预测音频数据包在网络中的传输时间延时,进而动态最小化切换时间阈值,以便于所述解码端根据所述网络状态切换音频,降低音频切换的延时,提高音频持续播放的稳定性。
作为优选例子,在所述解码端检测所述第一音频流的音频帧序号并根据所述音频帧序号播放所述第二音频流,具体包括:
所述解码端实时检测所述第一音频流播放时的音频帧序号,并根据所述切换时间阈值,获得所述第一音频流切换播放时的第一音频帧序号;
根据所述第一音频帧序号,所述解码端检测所述第二音频流,并控制所述第二音频流按照所述第一音频帧序号进行播放。
本发明实时监测所述第一音频流进行播放时的音频帧序号,根据所述时间切换阈值,所述解码端检测到所述第一音频流在所述时间切换阈值时播放的音频帧序号,并控制所述第二音频流根据所述音频帧序号继续进行播放,降低音频切换的延时,实现精准接续。
第二方面,本发明提供了一种基于主服务器的音频控制方法,包括:
主服务器接收任务触发信号,并根据所述任务触发信号开始执行对应的第一任务;
所述主服务器向所述备服务器发送所述第一任务的同步信息,并获得所述第一任务对应的第一音频流;
所述主服务器发送所述第一音频流到解码端,以使所述解码端执行如第一方面所述的一种基于解码端的主备音频切换方法。
本发明公开的一种基于解码端的主备音频切换方法,所述主服务器及所述备服务器接收触发信号,并根据所述触发信号启动对应的任务,在执行任务时,所述主服务器向所述备服务器发送同步信息,以使得所述备服务器根据所述同步信息同步所述第一任务的执行状态,保证了所述主服务器及所述备服务器的同时性,间接降低了所述音频流切换时的延时,同时保证了所述主服务器及所述备服务器同步执行相同的任务,提高了音频持续播放的稳定性。
作为优选例子,在所述主服务器向所述备服务器发送所述第一任务的同步信息,具体包括:
所述主服务器通过预设的同步时间阈值,定时检查所述第一任务的音频帧执行状态,并将所述音频帧执行状态发送到所述备服务器。
本发明通过预设的时间阈值向所述备服务器发送同步信息,保证所述主服务器及所述备服务器的任务执行的同步性,提高源头音频数据一致性。
第三方面,本发明提供了一种基于备服务器的音频控制方法,包括:
备服务器接收主服务器发送到的第一任务的同步信息,并根据所述同步信息动态调整所述第一任务的执行状态,获得所述第一任务对应的第二音频流;
所述备服务器发送所述第二音频流到解码端,以使所述解码端执行如第一方面所述的一种基于解码端的主备音频切换方法。
本发明公开的一种基于解码端的主备音频切换方法,所述备服务器接收触发信号,并根据所述触发信号启动对应的任务,在执行任务时,所述备服务器接收所述主服务器发送的同步信息,以使得所述备服务器根据所述同步信息同步所述第一任务的执行状态,保证了所述主服务器及所述备服务器的同时性,间接降低了所述音频流切换时的延时,同时保证了所述主服务器及所述备服务器同步执行相同的任务,提高了音频持续播放的稳定性。
作为优选例子,在所述备服务器接收主服务器发送到的第一任务的同步信息,并根据所述同步信息动态调整所述第一任务的执行状态,具体包括:
所述备服务器接收所述主服务器发送的所述第一任务的同步信息,并根据所述同步信息判断所述第一任务是否已启动;
若所述第一任务未启动,则根据所述同步信息启动所述第一任务;
若所述第一任务已启动,则根据所述同步信息判断所述第一任务的执行状态是否快于所述主服务器的第一任务的执行状态;
若所述备服务器的所述第一任务的执行状态快于所述主服务器的第一任务的执行状态,则所述备服务器对所述第一任务进行跳帧处理;
若所述备服务器的所述第一任务的执行状态慢于所述主服务器的第一任务的执行状态,则所述备服务器对所述第一任务进行锁帧处理。
本发明通过接收所述主服务器发送的同步信息,动态调整所述备服务器的任务执行状态,保证了所述主服务器及所述备服务器的任务执行的同步性,提高源头音频数据一致性。
第四方面,本发明提供了一种基于解码端的主备音频切换系统,包括解码端、主服务器及备服务器,所述解码端用于执行如第一方面所述的任意一项的一种基于解码端的主备音频切换方法;所述主服务器用于执行如第二方面所述的一种基于主服务器的音频控制方法;所述备服务器用于执行如第三方面所述的一种基于备服务器的音频控制方法。
附图说明
图1:为本发明实施例提供的一种基于解码端的主备音频切换方法的流程示意图;
图2:为本发明实施例提供的一种基于主服务器的音频控制方法的流程示意图;
图3:为本发明实施例提供的一种基于备服务器的音频控制方法的流程示意图;
图4:为本发明实施例提供的一种基于解码端的主备音频切换系统的结构示意图;
图5:为本发明另一实施例提供的一种基于解码端的主备音频切换方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种基于解码端的主备音频切换方法,该方法的主要流程请参照图1,主要包括步骤101至步骤104,每一个步骤具体包括:
步骤101:解码端接收主服务器及备服务器分别发送的若干个音频流,并对所述若干个音频流进行识别筛选,获得第一音频流及第二音频流。
在本实施例中,该步骤主要包括:所述音频流包括音频I D、音频帧序号及音频数据包;所述解码端根据所述音频I D对所述若干个音频流进行筛选,获得所述主服务器发送的第一音频流及所述备服务器发送的第二音频流。
步骤102:所述解码端通过预设的网络抖动消除技术对所述第一音频流及所述第二音频流进行处理,并播放所述第一音频流。
在本实施例中,该步骤主要包括:所述解码端根据收到的音频数据包中还未播放的缓冲语音数据的大小,获得网络抖动阈值;根据所述网络抖动阈值,所述解码端获得所述第一音频流及所述第二音频流的延时播放阈值;所述解码端根据所述延时播放阈值,控制所述第一音频流及所述第二音频流中的音频数据包的播放。
步骤103:所述解码端根据当前所处的网络状态,获得所述第一音频流及所述第二音频流的切换时间阈值。
在本实施例中,该步骤主要包括:所述解码端通过实时检测所述音频数据包到达的时间间隔,获得所述音频数据包在网络中的传输时间延时;根据所述传输时间延时,所述解码端动态获得所述第一音频流及所述第二音频流的切换时间阈值。
步骤104:在所述第一音频流的播放时间满足所述切换时间阈值时,所述解码端检测所述第一音频流的音频帧序号并根据所述音频帧序号播放所述第二音频流。
在本实施例中,该步骤主要包括:所述解码端实时检测所述第一音频流播放时的音频帧序号,并根据所述切换时间阈值,获得所述第一音频流切换播放时的第一音频帧序号;根据所述第一音频帧序号,所述解码端检测所述第二音频流,并控制所述第二音频流按照所述第一音频帧序号进行播放。
另一方面,本发明实施例还提供了一种基于主服务器的音频控制方法,该方法主要包括步骤201至步骤203,每一个步骤主要包括:
步骤201:主服务器接收任务触发信号,并根据所述任务触发信号开始执行对应的第一任务。
在本实施例中,该步骤主要包括:主服务器接收任务触发信号,并根据所述任务触发信号找到对应的任务,并开始启动所述任务。
步骤202:所述主服务器向所述备服务器发送所述第一任务的同步信息,并获得所述第一任务对应的第一音频流。
在本实施例中,该步骤主要包括:所述主服务器通过预设的同步时间阈值,定时检查所述第一任务的音频帧执行状态,并将所述音频帧执行状态发送到所述备服务器。
步骤203:所述主服务器发送所述第一音频流到解码端,以使所述解码端根据所述第一音频流进行音频播放及切换。
除上述方法,本发明实施例还提供了一种基于备服务器的音频控制方法,该方法的实施流程请参照图3,主要包括步骤301至步骤303,每一个步骤主要包括为:
步骤301:备服务器接收主服务器发送到的第一任务的同步信息,并根据所述同步信息动态调整所述第一任务的执行状态,获得所述第一任务对应的第二音频流。
在本实施例中,该步骤具体包括:所述备服务器接收所述主服务器发送的所述第一任务的同步信息,并根据所述同步信息判断所述第一任务是否已启动;若所述第一任务未启动,则根据所述同步信息启动所述第一任务;若所述第一任务已启动,则根据所述同步信息判断所述第一任务的执行状态是否快于所述主服务器的第一任务的执行状态;若所述备服务器的所述第一任务的执行状态快于所述主服务器的第一任务的执行状态,则所述备服务器对所述第一任务进行跳帧处理;若所述备服务器的所述第一任务的执行状态慢于所述主服务器的第一任务的执行状态,则所述备服务器对所述第一任务进行锁帧处理。
步骤302:所述备服务器发送所述第二音频流到解码端,以使所述解码端根据所述第二音频流进行音频及切换。
除上述方法之外,本发明实施例还提供了一种基于解码端的主备音频切换系统,该系统的主要结构请参照图4,主要包括包括主服务器401、备服务器402及解码端403,所述解码端403用于执行如本实施例提供的步骤101至步骤104所述的任意一项的一种基于解码端的主备音频切换方法;所述主服务器401用于执行如步骤201至步骤203所述的一种基于主服务器的音频控制方法;所述备服务器402用于执行如步骤301至步骤302所述的一种基于备服务器的音频控制方法。
本发明实施例提供的基于解码端的主备音频切换方法,通过所述主服务器及所述备服务器接收任务触发信号,并根据所述触发信号启动对应的任务,在执行任务时,所述备服务器接收所述主服务器发送的同步信息,以使得所述备服务器根据所述同步信息同步所述第一任务的执行状态,保证了所述主服务器及所述备服务器的同时性,间接降低了所述音频流切换时的延时,同时保证了所述主服务器及所述备服务器同步执行相同的任务,提高了音频持续播放的稳定性,同时所述解码端获取主服务器及备服务器发送的若干个音频流,并根据所述音频流进行识别,获得对应的第一音频流及第二音频流,便于后续进行筛选及播放,接着所述解码端通过预设的网络抖动消除技术对所述第一音频流及所述第二音频流进行网络抖动消除,避免所述第一音频流及所述第二音频流出现错帧播放,提高所述音频播放的稳定性,接着所述解码端开始播放所述第一音频流,在播放所述第一音频流的过程中,所述解码端根据当前的网络状态获取所述音频的切换时间阈值,以使得所述第一音频流达到切换阈值时直接切换第二音频流进行播放,根据所述网络状态确定切换时间,避免因网络出现播放卡断的现象,提高音频持续播放的稳定性,接着根据所述切换时间阈值,所述解码端检查所述第一音频流的播放音频帧,以便于所述第二音频流接续播放时匹配音频帧序号,实现精准接续,降低所述音频帧切换时的延时。
实施例二
本发明另一实施例提供了一种基于解码端的主备音频切换方法,该方法的主要流程请参照图5,主要包括步骤501至步骤504,其中每一个步骤具体包括:
步骤501:主服务器及备服务器接收任务触发信号,并根据所述任务触发信号执行对应的任务。
在本实施例中,该步骤主要包括:主服务器及备服务器接收任务触发信号,并根据所述任务触发信号开始执行对应的第一任务。
在本实施例中,该步骤具体为:主服务器及备服务器接收相同的触发信号,并根据所述触发信号,所述主服务器及所述备服务器通过查询独立的数据库获得所述触发信号对应的任务,两个服务器上每个任务都会有一个任务唯一标识T I D,可通过该T I D在两个服务器上找到对应任务。同时所述主服务器和备服务器的数据库会进行同步,一个服务器上创建的任务,另一个服务器上也会有一个相同的任务。
步骤502:通过预设的任务同步处理方法,所述主服务器及所述备服务器向解码端发送第一音频流及第二音频流。
在本实施例中,该步骤主要包括:所述主服务器向所述备服务器发送所述第一任务的同步信息,并获得所述第一任务对应的第一音频流,所述备服务器接收主服务器发送到的第一任务的同步信息,并根据所述同步信息动态调整所述第一任务的执行状态,获得所述第一任务对应的第二音频流,所述主服务器及所述备服务器将所述第一音频流及所述第二音频流发送到所述解码端。
在本实施例中,该步骤具体为:收到触发信号后开始任务执行前,主服务器会同步任务执行状态给备服务器,备服务器收到主服务器同步状态同步开始执行或慢慢微调自身发包节奏,根据主服务器同步时刻和自身收到触发时刻先后执行相应处理。
在运行过程中备服务器会根据主服务器发送过来的同步信息,动态调整发包节奏,发包快了,进行锁帧(延迟发包一定时间),播放慢了,进行跳帧(跳过一定帧数)处理,始终让备服务器同步主服务器的发包节奏,提高源头音频数据一致性。经过前面服务器的同步处理后,主服务器和备服务器都发送携带身份信息(音频I D、帧序号)的音频流给接收解码播放设备,而由接收解码端筛选决策实际播放哪个服务器音频流。
步骤503:所述解码端接收所述第一音频流及所述第二音频流,并对所述音频流进行网络抖动消除,并播放所述第一音频流。
在本实施例中,该步骤主要包括:所述解码端根据收到的音频数据包中还未播放的缓冲语音数据的大小,获得网络抖动阈值;根据所述网络抖动阈值,所述解码端获得所述第一音频流及所述第二音频流的延时播放阈值;所述解码端根据所述延时播放阈值,控制所述第一音频流及所述第二音频流中的音频数据包的播放。
在本实施例中,该步骤具体为:接收解码设备接收到音频数据包,会进行音频帧身份信息(音频I D、帧序号)识别过滤,然后将符合条件的音频数据放入接收缓存(JB),进行网络抖动消除,延迟估计,解码端参考webrtc NetEQ网络消抖原理,根据收到的包但还未播放的缓冲语音数据的大小来评估抖动的大小,用以缓冲解决音频发包源头上同步音频发包节奏及网络状态导致的发包抖动。在本实施例中,所述抖动消除原理为:服务器分别以30ms间隔发送A、B、C、D包,即分别在30ms、60ms、90ms、120ms处发送;接收端接收到这些包对应的时间为40ms、90ms、100ms、130ms;这样它们在网络中的延时分别是10ms、30ms、10ms、10ms;包到达的间隔分别为50ms、10ms、30ms,即抖动。
因此可以使包A、C、D在抖动缓存中的延时20ms再播放,即A、B、C、D的播放时间为60ms、90ms、120ms、150ms,这样可以保持一个平稳的间隔进行播放。通过估算网络传输延时,根据网络传输延时95%分位来调整抖动缓冲区;这使得在消除抖动缓冲影响时,兼顾最小延时。
步骤504:根据当前所处的网络状态,所述解码端获得所述第一音频流及所述第二音频流的切换时间阈值,并根据所述切换时间阈值,切换所述第一音频流及所述第二音频流。
在本实施例中,该步骤主要包括:所述解码端根据当前所处的网络状态,获得所述第一音频流及所述第二音频流的切换时间阈值;在所述第一音频流的播放时间满足所述切换时间阈值时,所述解码端检测所述第一音频流的音频帧序号并根据所述音频帧序号播放所述第二音频流。
在本实施例中,该步骤具体为:所述解码端通过测量包达到时间间隔,来预测包在网络中的传输时间延时,动态最小化切换时间阈值,在获得所述切换时间阈值时,根据网络状态动态调整时间阈值,调节范围为2~5倍音频帧间隔均值,当然也可根据具体场景调整该倍数值,根据不同的音频流类型,例如PCM、MP3,PCM发包间隔8毫秒,时间阈值调节范围就是2*8~5*8,即16~40毫秒,理论切换延迟,该延迟一般对于人耳来说,很短暂,接近无感,另外MP3的发包间隔会稍长为26毫秒,理论延时2*26~5*26毫秒,即52~130毫秒。网络状态是分级别的,例如1~5级,1级~5级网络状态由优秀逐渐变差,分别对应延迟小于25毫秒、60毫秒、90毫秒、130毫秒、200毫秒,例如单前预估网络状态为1级,则设置切换时间阈值为2倍音频帧间隔均值,即最低延迟。
同时本实施例为了保障切换到第二音频流后顺畅接续播放,在所述第一音频流进行播放时,持续检测所述第一音频流的播放帧序号,当所述切换时间阈值到达时,校验所述第一音频流的帧序号,例如中断时的帧序号是12345,接续时所述第二音频流会从大于12345的序号开始接续播放,保障不会重复播放。另外对于音频中断判定切换阶段丢失的帧处理,本实施例不做恢复处理,直接跳过,便于快速切换。
本实施例提供的一种基于解码端的主备音频切换方法,基于主服务器及备服务器端,通过预设的同步机制,保证了所述两个服务器任务源头同步性,提高源头音频数据一致性,同时本发明无需服务器端控制切换,精简切换流程,直接一步到位,接收解码端判定切换,更低切换延迟,所述解码端根据音频帧估算网络延迟,估计网络状态,动态调节切换触发门限,尽可能降低切换延迟。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于解码端的主备音频切换方法,其特征在于,包括:
解码端接收主服务器及备服务器分别发送的若干个音频流,并对所述若干个音频流进行识别筛选,获得第一音频流及第二音频流;
所述解码端通过预设的网络抖动消除技术对所述第一音频流及所述第二音频流进行处理,并播放所述第一音频流;其中,所述解码端根据收到的音频数据包中还未播放的缓冲语音数据的大小,获得网络抖动阈值;根据所述网络抖动阈值,所述解码端获得所述第一音频流及所述第二音频流的延时播放阈值;所述解码端根据所述延时播放阈值,控制所述第一音频流及所述第二音频流中的音频数据包的播放;
所述解码端根据当前所处的网络状态,获得所述第一音频流及所述第二音频流的切换时间阈值;其中,所述解码端通过实时检测所述音频数据包到达的时间间隔,获得所述音频数据包在网络中的传输时间延时;根据所述传输时间延时,所述解码端动态获得所述第一音频流及所述第二音频流的切换时间阈值;
在所述第一音频流的播放时间满足所述切换时间阈值时,所述解码端检测所述第一音频流的音频帧序号并根据所述音频帧序号播放所述第二音频流。
2.如权利要求1所述的一种基于解码端的主备音频切换方法,其特征在于,所述对所述若干个音频流进行识别筛选,获得第一音频流及第二音频流,具体包括:
所述音频流包括音频ID、音频帧序号及音频数据包;
所述解码端根据所述音频ID对所述若干个音频流进行筛选,获得所述主服务器发送的第一音频流及所述备服务器发送的第二音频流。
3.如权利要求1所述的一种基于解码端的主备音频切换方法,其特征在于,所述解码端检测所述第一音频流的音频帧序号并根据所述音频帧序号播放所述第二音频流,具体包括:
所述解码端实时检测所述第一音频流播放时的音频帧序号,并根据所述切换时间阈值,获得所述第一音频流切换播放时的第一音频帧序号;
根据所述第一音频帧序号,所述解码端检测所述第二音频流,并控制所述第二音频流按照所述第一音频帧序号进行播放。
4.一种基于主服务器的音频控制方法,其特征在于,包括:
主服务器接收任务触发信号,并根据所述任务触发信号开始执行对应的第一任务;
所述主服务器向所述备服务器发送所述第一任务的同步信息,并获得所述第一任务对应的第一音频流;
所述主服务器发送所述第一音频流到解码端,以使所述解码端执行如权利要求1-3所述的任意一项一种基于解码端的主备音频切换方法。
5.如权利要求4所述的一种基于主服务器的音频控制方法,其特征在于,所述主服务器向所述备服务器发送所述第一任务的同步信息,具体包括:
所述主服务器通过预设的同步时间阈值,定时检查所述第一任务的音频帧执行状态,并将所述音频帧执行状态发送到所述备服务器。
6.一种基于备服务器的音频控制方法,其特征在于,包括:
备服务器接收主服务器发送到的第一任务的同步信息,并根据所述同步信息动态调整所述第一任务的执行状态,获得所述第一任务对应的第二音频流;
所述备服务器发送所述第二音频流到解码端,以使所述解码端执行如权利要求1-3所述的任意一项一种基于解码端的主备音频切换方法。
7.如权利要求6所述的一种基于备服务器的音频控制方法,其特征在于,所述备服务器接收主服务器发送到的第一任务的同步信息,并根据所述同步信息动态调整所述第一任务的执行状态,具体包括:
所述备服务器接收所述主服务器发送的所述第一任务的同步信息,并根据所述同步信息判断所述第一任务是否已启动;
若所述第一任务未启动,则根据所述同步信息启动所述第一任务;
若所述第一任务已启动,则根据所述同步信息判断所述第一任务的执行状态是否快于所述主服务器的第一任务的执行状态;
若所述备服务器的所述第一任务的执行状态快于所述主服务器的第一任务的执行状态,则所述备服务器对所述第一任务进行跳帧处理;
若所述备服务器的所述第一任务的执行状态慢于所述主服务器的第一任务的执行状态,则所述备服务器对所述第一任务进行锁帧处理。
8.一种基于解码端的主备音频切换系统,其特征在于,包括解码端、主服务器及备服务器,所述解码端用于执行如权利要求1至权利要求3所述的任意一项的一种基于解码端的主备音频切换方法;所述主服务器用于执行如权利要求4-5所述的一种基于主服务器的音频控制方法;所述备服务器用于执行如权利要求6-7所述的一种基于备服务器的音频控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135458.7A CN116346583B (zh) | 2023-02-17 | 2023-02-17 | 一种基于解码端的主备音频切换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135458.7A CN116346583B (zh) | 2023-02-17 | 2023-02-17 | 一种基于解码端的主备音频切换方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116346583A CN116346583A (zh) | 2023-06-27 |
CN116346583B true CN116346583B (zh) | 2024-05-03 |
Family
ID=86883053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310135458.7A Active CN116346583B (zh) | 2023-02-17 | 2023-02-17 | 一种基于解码端的主备音频切换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346583B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240105B1 (en) * | 1998-03-30 | 2001-05-29 | International Business Machines Corporation | Video server streaming synchronization |
US7346005B1 (en) * | 2000-06-27 | 2008-03-18 | Texas Instruments Incorporated | Adaptive playout of digital packet audio with packet format independent jitter removal |
CN106789246A (zh) * | 2016-12-22 | 2017-05-31 | 广西防城港核电有限公司 | 一种主备服务器的切换方法及装置 |
CN114297296A (zh) * | 2021-12-27 | 2022-04-08 | 广州市保伦电子有限公司 | 一种广播用的服务器主备切换系统 |
CN114495984A (zh) * | 2022-04-01 | 2022-05-13 | 北京澜灵科技有限责任公司 | 一种实时音频流的比对方法和系统 |
CN115473794A (zh) * | 2022-11-02 | 2022-12-13 | 广州市保伦电子有限公司 | 一种音频双备份下的超低延时切换处理方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2631820B1 (en) * | 2012-02-27 | 2016-02-24 | Accenture Global Services Limited | Computer-implemented method, mobile device, computer network system, and computer program product for optimized audio data provision |
CN103594103B (zh) * | 2013-11-15 | 2017-04-05 | 腾讯科技(成都)有限公司 | 音频处理方法及相关装置 |
CN110351607B (zh) * | 2018-04-04 | 2022-01-14 | 阿里巴巴(中国)有限公司 | 一种全景视频场景切换的方法、计算机存储介质及客户端 |
-
2023
- 2023-02-17 CN CN202310135458.7A patent/CN116346583B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240105B1 (en) * | 1998-03-30 | 2001-05-29 | International Business Machines Corporation | Video server streaming synchronization |
US7346005B1 (en) * | 2000-06-27 | 2008-03-18 | Texas Instruments Incorporated | Adaptive playout of digital packet audio with packet format independent jitter removal |
CN106789246A (zh) * | 2016-12-22 | 2017-05-31 | 广西防城港核电有限公司 | 一种主备服务器的切换方法及装置 |
CN114297296A (zh) * | 2021-12-27 | 2022-04-08 | 广州市保伦电子有限公司 | 一种广播用的服务器主备切换系统 |
CN114495984A (zh) * | 2022-04-01 | 2022-05-13 | 北京澜灵科技有限责任公司 | 一种实时音频流的比对方法和系统 |
CN115473794A (zh) * | 2022-11-02 | 2022-12-13 | 广州市保伦电子有限公司 | 一种音频双备份下的超低延时切换处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116346583A (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050207387A1 (en) | Method and apparatus for aligning time references when separated by an unreliable data packet network | |
KR20140066641A (ko) | 서버, 멀티미디어 기기 및 그들의 제어방법 | |
JPH09504935A (ja) | 通信システム内でパケット整合を行う方法および装置 | |
JP2002503402A (ja) | 圧縮された情報ストリームを接続する方法及び装置 | |
US10778361B1 (en) | Stream synchronization | |
KR101150680B1 (ko) | 호 핸드오프 동안 오디오 스위치를 제어하는 방법 및 장치 | |
US7092409B2 (en) | Timing distribution redundacy in a wireless network | |
US20090252155A1 (en) | Redundant gateway system | |
US8477810B2 (en) | Synchronization using multicasting | |
EP2868055A1 (en) | Reduced system latency for dominant speaker | |
CN116346583B (zh) | 一种基于解码端的主备音频切换方法及系统 | |
US20060203737A1 (en) | Traffic delay processing | |
US20180091563A1 (en) | Streamed communication | |
US10057506B2 (en) | Method and/or apparatus for frame accurate hot failover | |
CN116232519A (zh) | 一种时钟的同步方法和网络设备 | |
JP3930802B2 (ja) | データ伝送方法、データ伝送装置およびデータ伝送システム | |
GB2521104A (en) | Data Processing | |
JPH0746250A (ja) | 無中断伝送装置 | |
US10701716B2 (en) | Base station apparatus, transmission method, and recording medium for transmitting speech information | |
KR20120042780A (ko) | 방송 서비스 이중화 방법 및 시스템 | |
JP6274918B2 (ja) | 通信システム | |
EP3958511A1 (en) | A wireless conference system with early packet loss detection | |
JPH11313087A (ja) | 無中断伝送装置 | |
CN114697720B (zh) | 自适应音视频rtp时间戳的同步方法和装置 | |
JP2005151007A (ja) | 無線伝送方法とそれに用いる送信装置および受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: No. 56 Nanli East Road, Shiqi Town, Panyu District, Guangzhou City, Guangdong Province, 510000 Applicant after: Guangdong Baolun Electronics Co.,Ltd. Address before: No. 19, Chuangyuan Road, Zhongcun Street, Panyu District, Guangzhou City, Guangdong Province, 511495 Applicant before: GUANGZHOU ITC ELECTRONIC TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |