本发明涉及音频,尤其涉及一种音频传输方法、装置、设备及存储介质。
背景技术:
1、现有多房间音频解决方案通常采用静态的音频码率传输策略。主音箱将解码后的音频流同时发送给所有子音箱,子音箱接收后直接播放,由于音频码率是固定的,因此当网络拥塞时,固定的高码率将导致严重的数据丢包,造成音频播放卡顿,而固定的低码率又无法充分利用网络带宽,影响音质,因此,且由于现有方案考虑不同子音箱的网络状态差异,无法针对性地优化每个音箱的接收效果,因此,导致多音频传输系统的自适应能力和鲁棒性较差。
技术实现思路
1、本发明提供了一种音频传输方法、装置、设备及存储介质,以解决现有技术中由于无法针对性地优化每个音箱的接收效果,导致多音频传输系统的自适应能力和鲁棒性较差的问题。
2、本发明第一方面提供了一种音频传输方法,包括:确定所述主音箱与各子音箱之间的初始音频码率和初始传输速率;定时获取所述主音箱与各子音箱之间的实时传输速率和物理距离,以及各子音箱的音频缓冲量;基于所述初始传输速率和所述至少两个子音箱的实时传输速率计算出网络质量因子;通过所述网络质量因子、各音频缓冲量和所述初始音频码率计算出各子音箱的目标音频码率;通过各物理距离、各音频缓冲量和所述初始传输速率计算出各子音箱的目标传输速率;基于所述目标音频码率和所述目标传输速率将目标音频数据发送至对应的子音箱。
3、在一种可行的实施方式中,所述基于所述初始传输速率和所述至少两个子音箱的实时传输速率计算出网络质量因子,包括:计算所述至少两个子音箱的实时传输速率的总和,得到总实时传输速率;计算所述至少两个子音箱对应的子音箱数量和所述初始传输速率的乘积,得到总初始传输速率;通过所述总实时传输速率和所述总初始传输速率计算出网络质量因子。
4、在一种可行的实施方式中,所述通过所述网络质量因子、各音频缓冲量和所述初始音频码率计算出各子音箱的目标音频码率,包括:将所述网络质量因子与预设第一阈值和第二阈值进行比较,得到第一比较结果;将各音频缓冲量和预设第三阈值和第四阈值进行比较,得到第二比较结果;基于所述第一比较结果和所述第二比较结果确定各子音箱对应的目标系数;基于各目标系数与初始音频码率计算出各子音箱的目标音频码率。
5、在一种可行的实施方式中,所述通过各物理距离、各音频缓冲量和所述初始传输速率计算出各子音箱的目标传输速率,包括:对各物理距离进行归一化处理,得到各子音箱的权重;根据所述权重和所述初始传输速率进行计算,得到各子音箱的加权传输速率;基于各音频缓冲量确定各子音箱对应的目标系数;基于所述目标系数与所述加权传输速率计算出各子音箱的目标传输速率。
6、在一种可行的实施方式中,所述基于所述目标音频码率和所述目标传输速率将目标音频数据发送至对应的子音箱,包括:基于所述目标音频码率,通过音频编码器对音频数据进行压缩,得到对应的目标音频数据;获取所述至少两个子音箱分别对应的目标地址;基于所述目标地址,按照所述目标传输速率将所述目标音频数据发送至对应的子音箱。
7、在一种可行的实施方式中,在基于所述目标音频码率和所述目标传输速率将目标音频数据发送至对应的子音箱之后,还包括:判断所述目标音频数据是否丢失数据包;若所述目标音频数据丢失数据包,则检查丢失的数据包的目标序号;根据所述目标序号重新发送对应的数据包至对应的子音箱。
8、在一种可行的实施方式中,在基于所述目标音频码率和所述目标传输速率将目标音频数据发送至对应的子音箱之后,还包括:记录各子音箱接收并播放所述目标音频数据的第一时延;读取目标视频帧,对所述目标视频帧延迟所述第一时延后发送至各子音箱,以使各子音箱实现音视频同步。
9、本发明第二方面提供了一种音频传输装置,包括:确定模块,用于确定所述主音箱与各子音箱之间的初始音频码率和初始传输速率;获取模块,用于定时获取所述主音箱与各子音箱之间的实时传输速率和物理距离,以及各子音箱的音频缓冲量;第一计算模块,用于基于所述初始传输速率和所述至少两个子音箱的实时传输速率计算出网络质量因子;第二计算模块,用于通过所述网络质量因子、各音频缓冲量和所述初始音频码率计算出各子音箱的目标音频码率;第三计算模块,用于通过各物理距离、各音频缓冲量和所述初始传输速率计算出各子音箱的目标传输速率;发送模块,用于基于所述目标音频码率和所述目标传输速率将目标音频数据发送至对应的子音箱。
10、在一种可行的实施方式中,所述第一计算模块具体用于:计算所述至少两个子音箱的实时传输速率的总和,得到总实时传输速率。计算所述至少两个子音箱对应的子音箱数量和所述初始传输速率的乘积,得到总初始传输速率;通过所述总实时传输速率和所述总初始传输速率计算出网络质量因子。
11、在一种可行的实施方式中,所述第二计算模块具体用于:将所述网络质量因子与预设第一阈值和第二阈值进行比较,得到第一比较结果;将各音频缓冲量和预设第三阈值和第四阈值进行比较,得到第二比较结果;基于所述第一比较结果和所述第二比较结果确定各子音箱对应的目标系数;基于各目标系数与初始音频码率计算出各子音箱的目标音频码率。
12、在一种可行的实施方式中,所述第三计算模块具体用于:对各物理距离进行归一化处理,得到各子音箱的权重;根据所述权重和所述初始传输速率进行计算,得到各子音箱的加权传输速率;基于各音频缓冲量确定各子音箱对应的目标系数;基于所述目标系数与所述加权传输速率计算出各子音箱的目标传输速率。
13、在一种可行的实施方式中,所述发送模块具体用于:基于所述目标音频码率,通过音频编码器对音频数据进行压缩,得到对应的目标音频数据;获取所述至少两个子音箱分别对应的目标地址;基于所述目标地址,按照所述目标传输速率将所述目标音频数据发送至对应的子音箱。
14、在一种可行的实施方式中,所述音频传输装置还包括:判断模块,用于判断所述目标音频数据是否丢失数据包;检查模块,用于若所述目标音频数据丢失数据包,则检查丢失的数据包的目标序号;重新发送模块,用于根据所述目标序号重新发送对应的数据包至对应的子音箱。
15、在一种可行的实施方式中,所述音频传输装置还包括:记录模块,用于记录各子音箱接收并播放所述目标音频数据的第一时延;同步模块,用于读取目标视频帧,对所述目标视频帧延迟所述第一时延后发送至各子音箱,以使各子音箱实现音视频同步。
16、本发明第三方面提供了一种音频传输设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述音频传输设备执行上述的音频传输方法。
17、本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的音频传输方法。
18、本发明提供的技术方案中,确定所述主音箱与各子音箱之间的初始音频码率和初始传输速率;定时获取所述主音箱与各子音箱之间的实时传输速率和物理距离,以及各子音箱的音频缓冲量;基于所述初始传输速率和所述至少两个子音箱的实时传输速率计算出网络质量因子;通过所述网络质量因子、各音频缓冲量和所述初始音频码率计算出各子音箱的目标音频码率;通过各物理距离、各音频缓冲量和所述初始传输速率计算出各子音箱的目标传输速率;基于所述目标音频码率和所述目标传输速率将目标音频数据发送至对应的子音箱。本发明实施例中,通过确定主音箱与各子音箱之间的初始音频码率和初始传输速率定时获取主音箱与各子音箱之间的实时传输速率和物理距离,以及各子音箱的音频缓冲量基于初始传输速率和至少两个子音箱的实时传输速率计算出网络质量因子通过网络质量因子、各音频缓冲量和初始音频码率计算出各子音箱的目标音频码率通过各物理距离、各音频缓冲量和初始传输速率计算出各子音箱的目标传输速率基于目标音频码率和目标传输速率将音频数据发送至对应的子音箱,提高了多音频传输系统的自适应能力和鲁棒性。