一种音视频系统中音频优先传输方法及其系统的制作方法

文档序号:10492122阅读:438来源:国知局
一种音视频系统中音频优先传输方法及其系统的制作方法
【专利摘要】本发明涉及一种音视频系统中音频优先传输方法及其系统,所述方法包括以下步骤:S1、将音视频编码并创建音频帧队列、视频关键帧队列、视频非关键帧队列;S2、配置音频帧队列为第一优先级发送队列,视频关键帧队列为第二优先级发送队列,视频非关键帧队列为第三优先级发送队列;S3、预设第一丢包阈值、第二丢包阈值及时间阈值、丢包条件;S4、记录各发送队列的丢包数及持续丢包时间,若某一优先级发送队列达到丢包条件,则丢弃其后的优先级发送队列视频流,并降低音频流或视频流的传输流量;S5、流数据传输持续不丢包达到预设时间,则按照优先级顺序按照每种优先级发送队列的策略逐级恢复音频编码类型,视频编码类型以及视频编码码率。
【专利说明】
一种音视频系统中音频优先传输方法及其系统
技术领域
[0001 ]本发明涉及音视频通信领域,更具体的说,是涉及一种音视频系统中音频优先传输方法及其系统。
【背景技术】
[0002]随着平安城市建设的顺利推进,保障公众安全的迫切需求催生了公共区域及人群聚集场所中一键式可视化智能报警主机的面世。所述一键式可视化智能报警主机集音视频数据压缩、打包无线传输、开关量I/O控制于一体,实现紧急按钮报警求助,接警人员可以获得报警人员和周围的直观影像和声音,实现接警现场与接警中心双向语音对讲,使接警中心迅速了解报警求助信息;同时,所述报警主机还支持在人口密集地区实现语音广播、语音喊话,满足繁华区域及要害部位的实时远程治安监控需求。
[0003]4G无线接入技术的发展大大促进了一键式可视化智能报警主机的快速布点,同时保障顺利对接已建设的接警中心,极大的保护了人民群众生命和财产安全。但是,即使是在4G网络的条件下,囿于带宽共享、信号覆盖等问题,仍然会导致接警过程中出现声音断续延时,图像卡顿等影响用户体验的问题。
[0004]基于接警过程中对音频流实时性的高要求,需要实现音频优先传输的控制。现有的技术对于如何提高无线音视频传输的质量存在两种解决方法。其一是通过可分级视频编码器输出的视频帧打包形成不同类型的视频码流,为视频码流配置不同的QoS优先级,根据所配置的QoS优先级,将码流以无线方式发送,这种解决方法未凸显音频优先的原则,而且依赖于额外的硬件设备的支持,还需额外增加数据标志,进一步加重数据链路层的传输处理负担,并且受限于目前技术尚不完善的QoS服务,不适宜一键式可视化智能报警主机接警中优先保障音频数据的应用需求;其二是根据无线网络带宽状况,进行视频传输码率的自适应调整,这种解决方法同样没有首先满足音频优先传输的需求,只被动的以单一的方式应对无线网络传输中带宽不稳定的问题,同样,并不能很好的解决一键式可视化智能报警主机接警中声音断续延时,图像卡顿等影响用户体验的问题。

【发明内容】

[0005]有鉴于此,有必要针对上述问题,提供一种音视频系统中音频优先传输方法及其系统,保障优先传输关键的音频流,以解决现有技术由于受到带宽共享、信号覆盖因素的影响,导致音视频传输系统中出现声音断续延时,图像卡顿的问题。
[0006]为了实现上述目的,本发明的技术方案如下:
[0007]—种音视频系统中音频优先传输方法,包括以下步骤:
[0008]S1、控制媒体流创建音频帧队列、视频关键帧队列、视频非关键帧队列,将音视频编码后输出的音频帧、视频关键帧、视频非关键帧分别对应放入相应队列中;
[0009]S2、配置音频帧队列为第一优先级发送队列,视频关键帧队列为第二优先级发送队列,视频非关键帧队列为第三优先级发送队列;
[0010]S3、预设第一丢包阈值、第二丢包阈值及时间阈值,当各队列的丢包数达到第二丢包阈值、或达到第一丢包阈值且丢包持续时间达到时间阈值,则判定为达到丢包条件;
[0011]S4、记录各发送队列的丢包数及持续丢包时间,若某一优先级发送队列达到丢包条件,则丢弃其后的优先级发送队列视频流,并主动降低音频流或视频流的传输流量;
[0012]S5、流数据传输持续不丢包达到预设时间,则按照第一、第二、第三优先级顺序按照每种优先级发送队列的策略逐级恢复音频编码类型,视频编码类型以及视频编码码率。
[0013]作为优选的,所述步骤SI中,所述音视频经编码后输出的音视频数据通过视频回调函数和音频回调函数处理,视频回调函数根据编码库返回的帧类型区分视频关键帧和视频非关键帧,将所有关键帧放入所述视频关键帧发送队列,非关键帧放入所述非关键帧发送队列;所述音频回调函数将音频放入所述音频帧发送队列。
[0014]作为优选的,所述步骤S3还包括,根据TCP或UDP的Socket发送结果修改所述各个发送队列对应的丢包数:
[0015]发送成功,则所述各发送队列对应的丢包数清零;
[0016]发送失败,则所述各发送队列对应的丢包数累加;
[0017]当各队列的丢包数达到第二丢包阈值、或达到第一丢包阈值且丢包持续时间达到时间阈值,则判定为达到丢包条件。
[0018]作为优选的,所述第一丢包阈值为3包,第二丢包阈值为50包,所述时间阈值为50so
[0019]作为优选的,所述步骤S4具体包括:
[0020]S401、当所述第一优先级发送队列达到所述的丢包条件,采取直接丢弃第二及第三优先级发送队列,并实时改变音频编码格式的方式,采用更高压缩比的音频编码格式,主动降低音频流的传输流量;
[0021]S402、当所述第二优先级发送队列达到所述的丢包条件,采取直接丢弃所述第三优先级发送队列,实时递降视频编码质量的方式,主动降低视频流的传输流量;
[0022]S403、当所述第三优先级发送队列达到所述的丢包条件,采取三级实时阶梯式递降视频码率的方式,主动降低视频流的传输流量。
[0023]作为优选的,所述步骤S401具体包括:
[0024]当所述第一优先级发送队列达到所述的丢包条件,直接丢弃所述第二及第三优先级发送队列的所有数据包,不再发送所述第二及第三优先级发送队列数据;同时实施第一次改变音频编码类型,首先获取编码库的预设音频编码类型,然后获取音视频模块支持的所有音频编码类型,以所述预设音频编码类型的更高压缩比的音频编码类型作为新的编码类型设置给编码库,设置成功后,编码库以比所述预设的音频编码类型的更高压缩比的音频编码类型输出音频流;
[0025]再次达到所述任一丢包条件,如果所述更高压缩比的音频编码类型还未达到所述音视频模块支持的最高压缩比的音频编码类型,则继续实施更改为更高一级压缩比的音频编码类型;如果所述更高压缩比的音频编码类型已经是所述音视频模块支持的最高压缩比的音频编码类型,则保持以所述最高压缩比的音频编码类型输出音频流。
[0026]作为优选的,所述步骤S402具体包括:
[0027]当所述第三优先级发送队列达到所述的丢包条件,直接丢弃所述第三优先级视频流发送队列的所有数据包,不再发送所述第三优先级发送队列数据;同时实施一级递降视频编码质量,首先获取编码库的预设视频编码类型,然后获取音视频模块支持的所有视频编码类型,以所述预设视频编码类型的下一等级编码类型作为新的视频编码类型设置给编码库,设置成功后,编码库以所述预设的视频编码类型的下一等级视频编码类型输出视频流;
[0028]再次达到所述任一丢包条件,实施二级递降视频编码质量,以所述一级递降后的视频编码类型的下一等级视频编码类型作为新的编码类型设置给编码库,设置成功后,编码库以所述预设的视频编码类型低两个等级的视频编码类型输出视频流;
[0029]第三次达到所述任一丢包条件,如果所述二级递降后的视频编码类型还未达到所述音视频模块支持的最低等级的视频编码类型,则继续实施递降视频编码质量;
[0030]如果所述递降后的视频编码类型已经是所述音视频模块支持的最低等级的视频编码类型,则直接丢弃所述第二优先级发送队列的所有数据包,不再发送所述第二优先级发送队列数据。
[0031 ]作为优选的,所述步骤S403具体包括:
[0032]当所述第三优先级发送队列达到所述的丢包条件,实施一级递降视频码率,首先获取编码库的预设视频编码码率,然后以所述预设视频编码码率的1/2作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的编码码率的1/2输出视频流;
[0033]再次达到所述丢包条件,实施二级递降视频码率,以所述预设视频编码码率的1/4作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的视频编码码率的1/4输出视频流;
[0034]第三次达到所述丢包条件,实施三级递降视频码率,以所述预设视频编码码率的1/16作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的视频编码码率的1/16输出视频流;
[0035]第四次达到所述丢包条件,则直接丢弃所述第三优先级发送队列的所有数据包,不再发送所述第三优先级发送队列数据。
[0036]作为优选的,所述步骤S5具体包括:
[0037]S501、流数据传输持续不丢包首次达到预设时间,针对所述第一优先级发送队列的降音频流量策略进行逐级恢复为所述的预设音频编码类型;
[0038]S502、流数据传输持续不丢包再次达到预设时间,针对所述第二优先级发送队列的降视频编码质量以降流量策略进行逐级恢复为所述的预设视频编码类型;
[0039]S503、流数据传输持续不丢包再次达到预设时间,针对所述第三优先级发送队列的降视频编码帧率以降流量策略进行逐级恢复为所述的预设视频编码帧率。
[0040]—种根据上述方法进行音频优先传输的音视频系统,包括依次连接的音视频编码模块、流媒体控制模块、控制处理模块、丢包检测模块、音视频传输控制模块;
[0041]所述音视频编码模块用于对接收的音视频编码,并输出得到音频帧、视频关键帧、视频非关键帧;
[0042]所述流媒体控制模块用于创建三个分别用于容置音频帧、视频关键帧、视频非关键帧的发送队列;
[0043]所述丢包检测模块用于检测各个发送队列的丢包数;
[0044]所述控制处理模块用于对各发送队列进行优先级排序,并根据各个发送队列的丢包数预设丢包条件及相应的处理方式;
[0045]所述用于根据控制处理模块发送的处理方式,对各发送队列进行处理,包括:若某一优先级发送队列达到丢包条件,则丢弃其后的优先级发送队列视频流,并主动降低音频流或视频流的传输流量。
[0046]与现有技术相比,本发明的有益效果在于:本发明提供的音频优先传输控制方法从流数据的源头控制传输流量,分三个优先级队列,每种优先级队列采取不同的行之有效的策略,保障优先传输关键的音频流,以解决现有技术由于受到带宽共享、信号覆盖因素的影响,导致音视频传输系统中出现声音断续延时,图像卡顿的问题,提高了无线带宽的利用率,同时保证不同优先级的流数据传输质量的健壮性。
【附图说明】
[0047]图1为本发明实施例的方法流程图;
[0048]图2为本发明实施例中第一优先级丢包处理流程图;
[0049]图3为本发明实施例中第二优先级丢包处理流程图;
[0050]图4为本发明实施例中第三优先级丢包处理流程图;
[0051]图5为本发明实施例中系统结构框图;
[0052]图6为本发明在实施例2中应用到一键式可视化智能报警主机示意图。
【具体实施方式】
[0053]下面结合附图和实施例对本发明所述的一种音视频系统中音频优先传输方法及其系统作进一步说明。
[0054]以下是本发明所述的一种音视频系统中音频优先传输方法及其系统的最佳实例,并不因此限定本发明的保护范围。
[0055]实施例1
[0056]图1示出了本发明所述的一种音视频系统中音频优先传输方法,具体包括以下步骤:
[0057]S1、控制媒体流创建音频帧队列、视频关键帧队列、视频非关键帧队列,将音视频编码后输出的音频帧、视频关键帧、视频非关键帧分别对应放入相应队列中;
[0058]S2、配置音频帧队列为第一优先级发送队列,视频关键帧队列为第二优先级发送队列,视频非关键帧队列为第三优先级发送队列;
[0059]S3、预设第一丢包阈值、第二丢包阈值及时间阈值,当各队列的丢包数达到第二丢包阈值、或达到第一丢包阈值且丢包持续时间达到时间阈值,则判定为达到丢包条件;
[0060]S4、记录各发送队列的丢包数及持续丢包时间,若某一优先级发送队列达到丢包条件,则丢弃其后的优先级发送队列视频流,并主动降低音频流或视频流的传输流量;
[0061]S5、流数据传输持续不丢包达到预设时间,则按照第一、第二、第三优先级顺序按照每种优先级发送队列的策略逐级恢复音频编码类型,视频编码类型以及视频编码码率。
[0062]作为优选的,所述步骤SI中,所述音视频经编码后输出的音视频数据通过视频回调函数和音频回调函数处理,视频回调函数根据编码库返回的帧类型区分视频关键帧和视频非关键帧,将所有关键帧放入所述视频关键帧发送队列,非关键帧放入所述非关键帧发送队列;所述音频回调函数将音频放入所述音频帧发送队列。
[0063]作为优选的,所述步骤S5具体包括:
[0064]S501、流数据传输持续不丢包首次达到预设时间,针对所述第一优先级发送队列的降音频流量策略进行逐级恢复为所述的预设音频编码类型;
[0065]S502、流数据传输持续不丢包再次达到预设时间,针对所述第二优先级发送队列的降视频编码质量以降流量策略进行逐级恢复为所述的预设视频编码类型;
[0066]S503、流数据传输持续不丢包再次达到预设时间,针对所述第三优先级发送队列的降视频编码帧率以降流量策略进行逐级恢复为所述的预设视频编码帧率。
[0067]作为优选的,所述步骤S3还包括,根据TCP或UDP的Socket发送结果修改所述各个发送队列对应的丢包数:
[0068]发送成功,则所述各发送队列对应的丢包数清零;
[0069]发送失败,则所述各发送队列对应的丢包数累加;
[0070]当各队列的丢包数达到第二丢包阈值、或达到第一丢包阈值且丢包持续时间达到时间阈值,则判定为达到丢包条件。
[0071]作为优选的,所述第一丢包阈值为3包,第二丢包阈值为50包,所述时间阈值为50so
[0072]作为优选的,所述步骤S4具体包括:
[0073]S401、当所述第一优先级发送队列达到所述的丢包条件,采取直接丢弃第二及第三优先级发送队列,并实时改变音频编码格式的方式,采用更高压缩比的音频编码格式,主动降低音频流的传输流量;
[0074]S402、当所述第二优先级发送队列达到所述的丢包条件,采取直接丢弃所述第三优先级发送队列,实时递降视频编码质量的方式,主动降低视频流的传输流量;
[0075]S403、当所述第三优先级发送队列达到所述的丢包条件,采取三级实时阶梯式递降视频码率的方式,主动降低视频流的传输流量。
[0076]作为优选的,如图2所示,所述步骤S401具体包括:
[0077]当所述第一优先级发送队列达到所述的丢包条件,直接丢弃所述第二及第三优先级发送队列的所有数据包,不再发送所述第二及第三优先级发送队列数据;同时实施第一次改变音频编码类型,首先获取编码库的预设音频编码类型,然后获取音视频模块支持的所有音频编码类型,以所述预设音频编码类型的更高压缩比的音频编码类型作为新的编码类型设置给编码库,设置成功后,编码库以比所述预设的音频编码类型的更高压缩比的音频编码类型输出音频流;
[0078]再次达到所述任一丢包条件,确认是否是所述第一优先级发送队列第η(η>1)次满足丢包条件,如果所述第一优先级队列第η(η>1)次满足丢包条件,则实施高η级压缩比的音频编码类型设置,以比所述上一级更高一级压缩后的音频编码类型作为新的编码类型设置给编码库,设置成功后,编码库以所述预设的音频编码类型高η个等级的压缩比的音频编码类型输出音频流。如果所述更高压缩比的音频编码类型已经是所述音视频模块支持的最高压缩比的音频编码类型,则保持以所述最高压缩比的音频编码类型输出音频流。
[0079]如果不满足丢包条件,判断是否满足所述第一优先级队列网络恢复条件,针对所述第一优先级发送队列的降音频流量策略进行逐级恢复为所述的预设音频编码类型;如果满足,则逐级恢复为所述的预设音频编码类型;如果不满足,则结束第一优先级队列数据包传输处理流程。
[0080]本实施例按照第一优先级发送队列达到所述的丢包条件,则采取直接丢弃第二及第三优先级视频流队列,实时改变音频编码格式,采用更高压缩比的音频编码格式,主动降低音频流的传输流量的方式,应对第一优先级的队列丢包,以解决网络出现很严重的传输不稳定造成的音频帧丢包问题。
[0081 ]作为优选的,如图3所示,所述步骤S402具体包括:
[0082]当所述第二优先级发送队列达到所述的丢包条件,直接丢弃所述第三优先级视频流发送队列的所有数据包,不再发送所述第三优先级发送队列数据;同时实施一级递降视频编码质量,首先获取编码库的预设视频编码类型,然后获取音视频模块支持的所有视频编码类型,以所述预设视频编码类型的下一等级编码类型作为新的视频编码类型设置给编码库,设置成功后,编码库以所述预设的视频编码类型的下一等级视频编码类型输出视频流;
[0083]再次达到所述任一丢包条件,实施二级递降视频编码质量,以所述一级递降后的视频编码类型的下一等级视频编码类型作为新的编码类型设置给编码库,设置成功后,编码库以所述预设的视频编码类型低两个等级的视频编码类型输出视频流;
[0084]第三次达到所述任一丢包条件,如果所述二级递降后的视频编码类型还未达到所述音视频模块支持的最低等级的视频编码类型,则继续实施递降视频编码质量;
[0085]如果所述第二优先级队列第η(η>1)次满足丢包条件,则实施η级递降视频编码质量,以所述上一级递降后的视频编码类型的下一等级视频编码类型作为新的编码类型设置给编码库,设置成功后,编码库以所述预设的视频编码类型低η个等级的视频编码类型输出视频流。
[0086]如果所述递降后的视频编码类型已经是所述音视频模块支持的最低等级的视频编码类型,则直接丢弃所述第二优先级发送队列的所有数据包,不再发送所述第二优先级发送队列数据。
[0087]如果不满足丢包条件,持续不丢包再次达到预设时间,针对所述第二优先级发送队列的降视频编码质量以降流量策略进行逐级恢复为所述的预设视频编码类型;判断是否满足所述第二优先级队列网络恢复条件,如果满足,则逐级恢复为所述的预设视频编码质量类型;如果不满足,则结束第二优先级队列数据包传输处理流程。
[0088]按照第二优先级发送队列达到所述的丢包条件,则采取直接丢弃所述第三优先级视频流队列,实时递降视频编码质量,主动降低视频流的传输流量,直至完全丢弃所述第二优先级视频流队列的方式,应对第二优先级的队列丢包,以解决网络出现较严重的传输不稳定造成的关键视频帧丢包问题。
[0089]作为优选的,如图4所述,所述步骤S403具体包括:
[0090]当所述第三优先级发送队列达到所述的丢包条件,实施一级递降视频码率,首先获取编码库的预设视频编码码率,然后以所述预设视频编码码率的1/2作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的编码码率的1/2输出视频流;
[0091]再次达到所述丢包条件,实施二级递降视频码率,以所述预设视频编码码率的1/4作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的视频编码码率的1/4输出视频流;
[0092]第三次达到所述丢包条件,实施三级递降视频码率,以所述预设视频编码码率的1/16作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的视频编码码率的1/16输出视频流;
[0093]第四次达到所述丢包条件,则直接丢弃所述第三优先级发送队列的所有数据包,不再发送所述第三优先级发送队列数据。
[0094]持续不丢包再次达到预设时间,针对所述第三优先级发送队列的降视频编码帧率以降流量策略进行逐级恢复为所述的预设视频编码帧率。
[0095]按照第三优先级发送队列达到所述的丢包条件,则采取三级实时阶梯式递降视频码率,主动降低视频流的传输流量,直至完全丢弃所述第三优先级视频流队列的方式,应对第三优先级的队列丢包,以解决网络出现较轻微的传输不稳定造成的非关键视频帧丢包问题。
[0096]图5示出了本发明的系统框架图,包括依次连接的音视频编码模块、流媒体控制模块、控制处理模块、丢包检测模块、音视频传输控制模块;
[0097]所述音视频编码模块用于对接收的音视频编码,并输出得到音频帧、视频关键帧、视频非关键帧;
[0098]所述流媒体控制模块用于创建三个分别用于容置音频帧、视频关键帧、视频非关键帧的发送队列;
[0099]所述丢包检测模块用于检测各个发送队列的丢包数;
[0100]所述控制处理模块用于对各发送队列进行优先级排序,并根据各个发送队列的丢包数预设丢包条件及相应的处理方式;
[0101]所述用于根据控制处理模块发送的处理方式,对各发送队列进行处理,包括:若某一优先级发送队列达到丢包条件,则丢弃其后的优先级发送队列视频流,并主动降低音频流或视频流的传输流量。
[0102]实施例2
[0103]图6示出了本发明的方法在一键式可视化智能报警主机中的具体应用,一键式可视化智能报警主机100包含一键报警模块105、编/解码模块104、可视化对讲模块102、设备管理模块106、存储模块103和无线传输模块101,如图5所示,具体包括:
[0104]—键报警模块105实现了可靠的一键报警功能,只要按下报警按钮,就能快速的将警情上报至接警中心。
[0105]编解码模块104采用H.265压缩算法对实时图像进行压缩,支持视频最高分辨率为1080 X 720,30fps,支持iLBC压缩算法对实时音频数据进行压缩和解码。
[0106]可视化对讲模块102实现了一键报警后,接警人员可以获得报警人员和周围的直观影像和声音,可以直接询问警情和处理警情。
[0107]设备管理模块106实现了设备各种管理与操作功能,包括远程警报、夜间警笛音量自动调节、设备音量调节、设备码流配置、设备分辨率配置等功能。
[0108]存储模块103实现了设备可视化对讲数据的存储功能,在网络不通的状态下记录报警人及周边环境的声音与影像信息,网络恢复正常以后自动上传至接警中心。
[0109]无线传输模块101实现在未架设有线网络的地方快捷搭建报警系统。
[0110]接警中心200管理报警设备与接警用户之间的信息交互,及时处理警情事件。
[0111]本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,包括R0M/RAM、磁盘、光盘等。
[0112]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种音视频系统中音频优先传输方法,其特征在于,包括以下步骤: 51、控制媒体流创建音频帧队列、视频关键帧队列、视频非关键帧队列,将音视频编码后输出的音频帧、视频关键帧、视频非关键帧分别对应放入相应队列中; 52、配置音频帧队列为第一优先级发送队列,视频关键帧队列为第二优先级发送队列,视频非关键帧队列为第三优先级发送队列; 53、预设第一丢包阈值、第二丢包阈值及时间阈值,当各队列的丢包数达到第二丢包阈值、或达到第一丢包阈值且丢包持续时间达到时间阈值,则判定为达到丢包条件; 54、记录各发送队列的丢包数及持续丢包时间,若某一优先级发送队列达到丢包条件,则丢弃其后的优先级发送队列视频流,并主动降低音频流或视频流的传输流量; 55、流数据传输持续不丢包达到预设时间,则按照第一、第二、第三优先级顺序按照每种优先级发送队列的策略逐级恢复音频编码类型,视频编码类型以及视频编码码率。2.根据权利要求1所述的音视频系统中音频优先传输方法,其特征在于,所述步骤SI中,所述音视频经编码后输出的音视频数据通过视频回调函数和音频回调函数处理,视频回调函数根据编码库返回的帧类型区分视频关键帧和视频非关键帧,将所有关键帧放入所述视频关键帧发送队列,非关键帧放入所述非关键帧发送队列;所述音频回调函数将音频放入所述音频帧发送队列。3.根据权利要求1所述的音视频系统中音频优先传输方法,其特征在于,所述步骤S3还包括,根据TCP或UDP的Socket发送结果修改所述各个发送队列对应的丢包数: 发送成功,则所述各发送队列对应的丢包数清零; 发送失败,则所述各发送队列对应的丢包数累加; 当各队列的丢包数达到第二丢包阈值、或达到第一丢包阈值且丢包持续时间达到时间阈值,则判定为达到丢包条件。4.根据权利要求3所述的音视频系统中音频优先传输方法,其特征在于,所述第一丢包阈值为3包,第二丢包阈值为50包,所述时间阈值为50s。5.根据权利要求1所述的音视频系统中音频优先传输方法,其特征在于,所述步骤S4具体包括: 5401、当所述第一优先级发送队列达到所述的丢包条件,采取直接丢弃第二及第三优先级发送队列,并实时改变音频编码格式的方式,采用更高压缩比的音频编码格式,主动降低音频流的传输流量; 5402、当所述第二优先级发送队列达到所述的丢包条件,采取直接丢弃所述第三优先级发送队列,实时递降视频编码质量的方式,主动降低视频流的传输流量; 5403、当所述第三优先级发送队列达到所述的丢包条件,采取三级实时阶梯式递降视频码率的方式,主动降低视频流的传输流量。6.根据权利要求5所述的音视频系统中音频优先传输方法,其特征在于,所述步骤S401具体包括: 当所述第一优先级发送队列达到所述的丢包条件,直接丢弃所述第二及第三优先级发送队列的所有数据包,不再发送所述第二及第三优先级发送队列数据;同时实施第一次改变音频编码类型,首先获取编码库的预设音频编码类型,然后获取音视频模块支持的所有音频编码类型,以所述预设音频编码类型的更高压缩比的音频编码类型作为新的编码类型设置给编码库,设置成功后,编码库以比所述预设的音频编码类型的更高压缩比的音频编码类型输出音频流; 再次达到所述任一丢包条件,如果所述更高压缩比的音频编码类型还未达到所述音视频模块支持的最高压缩比的音频编码类型,则继续实施更改为更高一级压缩比的音频编码类型;如果所述更高压缩比的音频编码类型已经是所述音视频模块支持的最高压缩比的音频编码类型,则保持以所述最高压缩比的音频编码类型输出音频流。7.根据权利要求5所述的音视频系统中音频优先传输方法,其特征在于,所述步骤S402具体包括: 当所述第二优先级发送队列达到所述的丢包条件,直接丢弃所述第三优先级视频流发送队列的所有数据包,不再发送所述第三优先级发送队列数据;同时实施一级递降视频编码质量,首先获取编码库的预设视频编码类型,然后获取音视频模块支持的所有视频编码类型,以所述预设视频编码类型的下一等级编码类型作为新的视频编码类型设置给编码库,设置成功后,编码库以所述预设的视频编码类型的下一等级视频编码类型输出视频流; 再次达到所述任一丢包条件,实施二级递降视频编码质量,以所述一级递降后的视频编码类型的下一等级视频编码类型作为新的编码类型设置给编码库,设置成功后,编码库以所述预设的视频编码类型低两个等级的视频编码类型输出视频流; 第三次达到所述任一丢包条件,如果所述二级递降后的视频编码类型还未达到所述音视频模块支持的最低等级的视频编码类型,则继续实施递降视频编码质量; 如果所述递降后的视频编码类型已经是所述音视频模块支持的最低等级的视频编码类型,则直接丢弃所述第二优先级发送队列的所有数据包,不再发送所述第二优先级发送队列数据。8.根据权利要求5所述的音视频系统中音频优先传输方法,其特征在于,所述步骤S403具体包括: 当所述第三优先级发送队列达到所述的丢包条件,实施一级递降视频码率,首先获取编码库的预设视频编码码率,然后以所述预设视频编码码率的1/2作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的编码码率的1/2输出视频流; 再次达到所述丢包条件,实施二级递降视频码率,以所述预设视频编码码率的1/4作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的视频编码码率的1/4输出视频流; 第三次达到所述丢包条件,实施三级递降视频码率,以所述预设视频编码码率的1/16作为新的编码码率设置给编码库,设置成功后,编码库以所述预设的视频编码码率的1/16输出视频流; 第四次达到所述丢包条件,则直接丢弃所述第三优先级发送队列的所有数据包,不再发送所述第三优先级发送队列数据。9.根据权利要求1所述的音视频系统中音频优先传输方法,其特征在于,所述步骤S5具体包括: 5501、流数据传输持续不丢包首次达到预设时间,针对所述第一优先级发送队列的降音频流量策略进行逐级恢复为所述的预设音频编码类型; 5502、流数据传输持续不丢包再次达到预设时间,针对所述第二优先级发送队列的降视频编码质量以降流量策略进行逐级恢复为所述的预设视频编码类型; S503、流数据传输持续不丢包再次达到预设时间,针对所述第三优先级发送队列的降视频编码帧率以降流量策略进行逐级恢复为所述的预设视频编码帧率。10.—种根据权利要求1至9任一所述方法进行音频优先传输的音视频系统,其特征在于,包括依次连接的音视频编码模块、流媒体控制模块、控制处理模块、丢包检测模块、音视频传输控制模块; 所述音视频编码模块用于对接收的音视频编码,并输出得到音频帧、视频关键帧、视频非关键帧; 所述流媒体控制模块用于创建三个分别用于容置音频帧、视频关键帧、视频非关键帧的发送队列; 所述丢包检测模块用于检测各个发送队列的丢包数; 所述控制处理模块用于对各发送队列进行优先级排序,并根据各个发送队列的丢包数预设丢包条件及相应的处理方式; 所述用于根据控制处理模块发送的处理方式,对各发送队列进行处理,包括:若某一优先级发送队列达到丢包条件,则丢弃其后的优先级发送队列视频流,并主动降低音频流或视频流的传输流量。
【文档编号】H04N21/6373GK105847182SQ201610242149
【公开日】2016年8月10日
【申请日】2016年4月18日
【发明人】王敏, 刘树惠, 高科, 陈成, 鄢芬
【申请人】武汉烽火众智数字技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1