一种实时语音通信系统、方法、设备及存储介质技术方案

技术编号:36601744 阅读:46 留言:0更新日期:2023-02-04 18:17
本发明专利技术公开了一种实时语音通信系统、方法、设备及存储介质,所述系统包括:第一终端以及第二终端;所述第一终端,包括音频采集模块、音频编码模块以及数据传输模块,所述音频采集模块用于采集音频数据,基于所述音频编码模块对所述音频数据进行调整和封装,并利用所述数据传输模块对封装后的所述音频数据进行传输;所述第二终端,包括缓存区管理模块、音频解码模块以及播放模块,所述缓存区管理模块用于动态调整缓存区大小以接收所述第一终端传送的封装后的所述音频数据;利用所述音频解码模块对所述音频数据进行解码并通过所述播放模块进行播放。本发明专利技术可减少物联网设备和移动设备之间语音通信的复杂度,提升通信质量,提高数据传输性能。据传输性能。据传输性能。

【技术实现步骤摘要】
一种实时语音通信系统、方法、设备及存储介质


[0001]本专利技术涉及通信
,尤其涉及一种实时语音通信系统、方法、设备及存储介质。

技术介绍

[0002]目前,处理音视频通信以及播放传输过程大多采用开源软件FFmpeg处理音视频,即物联网设备采用FFmpeg去推送和传输音频数据,其中FFmpeg的移植、各平台编译以及裁剪存在操作复杂繁琐、调试周期长等问题;同时作为数据接收端的移动设备,也需要同步采用FFmpeg进行解码操作,移植成本高;且现有移动设备的缓存区容量固定,导致传输性能无法提高。

技术实现思路

[0003]为了克服现有技术的不足,本专利技术的目的之一在于提供一种实时语音通信系统,可减少物联网设备和移动设备之间语音通信的复杂度,提升通信质量,提高数据传输性能。
[0004]本专利技术的目的之二在于提供一种实时语音通信方法。
[0005]本专利技术的目的之三在于提供一种电子设备。
[0006]本专利技术的目的之四在于提供一种计算机可读存储介质。
[0007]本专利技术的目的之一采用如下技术方案实现:
[0008]一种实时语音通信系统,包括:第一终端以及第二终端;
[0009]所述第一终端,包括音频采集模块、音频编码模块以及数据传输模块,所述音频采集模块用于采集音频数据,基于所述音频编码模块对所述音频数据进行调整和封装,并利用所述数据传输模块对封装后的所述音频数据进行传输;
[0010]所述第二终端,包括缓存区管理模块、音频解码模块以及播放模块,所述缓存区管理模块用于动态调整缓存区大小以接收所述第一终端传送的封装后的所述音频数据;利用所述音频解码模块对所述音频数据进行解码并通过所述播放模块进行播放。
[0011]进一步地,所述第二终端还包括降噪模块,利用所述降噪模块对解码后的所述音频数据进行降噪处理,再传输至所述播放模块进行音频播放。
[0012]进一步地,所述缓存区管理模块根据前一次读取的所述音频数据的数据流大小对下一次所述缓存区的分配内存进行预测和调整。
[0013]本专利技术的目的之二采用如下技术方案实现:
[0014]一种实时语音通信方法,应用在如上述的实时语音通信系统的第二终端上;所述方法包括:
[0015]记录每次接收到的所述音频数据的内存信息,所述音频数据由与所述第二终端信号相连通的第一终端发出;将所述音频数据的内存信息与所述第二终端中用于接收所述音频数据的缓存区的分配内存进行比较,根据比较结果动态调整所述缓存区的分配内存以接收所述第一终端发送的新的所述音频数据,并对接收到的所述音频数据进行播放。
[0016]进一步地,将所述音频数据的内存信息与所述缓存区的分配内存进行比较的方法为:
[0017]读取上一次接收到的所述音频数据的内存字节数,并获取上一次所述缓存区对应的分配内存,若上一次接收到的所述音频数据的内存字节数小于上一次所述缓存区对应的分配内存,且连续多次接收到的所述音频数据的内存字节数均小于所述缓存区预设的内存阈值,则减小所述缓存区的分配内存以接收下一个所述音频数据。
[0018]进一步地,减小所述缓存区的分配内存的方法为:
[0019]在上一次所述缓存区对应的分配内存基础上,按照预设的内存幅度值减小所述缓存区的分配内存;或,
[0020]按照预设的内存规格表对所述缓存区的分配内存进行缩减。
[0021]进一步地,将所述音频数据的内存信息与所述缓存区的分配内存进行比较时,若上一次接收到的所述音频数据的内存字节数大于或等于上一次所述缓存区的分配内存,则增加所述缓存区的分配内存以接收下一个所述音频数据。
[0022]进一步地,增加所述缓存区的分配内存的方法时,还包括:
[0023]判断增加后的所述缓存区的分配内存是否大于预设的上限字节数,若超过,则维持所述缓存区的分配内存为上限字节数,并发出告警提示。
[0024]本专利技术的目的之三采用如下技术方案实现:
[0025]一种电子设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的实时语音通信方法。
[0026]本专利技术的目的之四采用如下技术方案实现:
[0027]一种计算机可读储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述的实时语音通信方法。
[0028]相比现有技术,本专利技术的有益效果在于:
[0029]本专利技术通过第一终端采集音频数据,并对音频数据进行编码后封装处理,然后通过网络传输模块进行传输;第二终端接收到数据后,无需通过FFmpeg等传统音视频处理方式处理,可直接使用第二终端通过音频解码模块以及降噪模块进行解码和降噪处理,并对处理后的音频进行播放;该系统代替了传统通过FFmpeg处理音视频的方式,可减少第一终端和第二终端之间语音通信的复杂度,提升通信质量,降低通信双方的集成复杂度;同时,本专利技术的缓存区管理模块根据上次实际读取的数据流大小对下次的接收缓存区进行预测和调整,能够最大限度地满足不同行业的应用场景的需要,更具备通用性,传输性能更高。
附图说明
[0030]图1为本专利技术实时语音通信系统的设备连接示意图;
[0031]图2为本专利技术实时语音通信系统的通信流程示意图。
具体实施方式
[0032]下面,结合附图以及具体实施方式,对本专利技术做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施
例。
[0033]实施例一
[0034]本专利技术提供一种实时语音通信系统,如图1所示,系统主要包括有第一终端以及第二终端;所述第一终端为物联网设备,而所述第二终端为移动设备;所述第一终端和所述第二终端间通过路由设备实现信号双向互通。
[0035]参考图1、图2所示,所述第一终端包括音频采集模块、音频编码模块以及数据传输模块,所述音频采集模块用于采集音频数据,可通过串口或无线网络方式获取所述音频数据;所述音频采集模块的采样频率以及采样格式可预先进行设定,本实施例中指定采样频率为8000,采样格式为ENCODING_PCM_16BIT。
[0036]所述音频编码模块用于对采集所得的所述音频数据进行编码和压缩后封装成数字化音频数据,本实施例中将音频数据封装成PCM数据格式,其后将封装后的数据依次写入队列中;并通过所述数据传输模块从队列中读取音频数据,对封装后的所述音频数据传输至所述第二终端。
[0037]所述第二终端包括有缓存区管理模块、音频解码模块、降噪模块以及播放模块,所述缓存区管理模块用于根据前一次读取的所述音频数据的数据流大小对下一次所述缓存区的分配内存进行预测和调整,经过动态调整后的缓存区用于接收并存储所述第一终端传送的封装后的所述音频数据;所述音频解码模块从所述缓存区读取音频数据,并对所述音频数据进行解码处理,所述降噪模块则用于对解码后的音频数据进行降噪处理,并通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时语音通信系统,其特征在于,包括:第一终端以及第二终端;所述第一终端,包括音频采集模块、音频编码模块以及数据传输模块,所述音频采集模块用于采集音频数据,基于所述音频编码模块对所述音频数据进行调整和封装,并利用所述数据传输模块对封装后的所述音频数据进行传输;所述第二终端,包括缓存区管理模块、音频解码模块以及播放模块,所述缓存区管理模块用于动态调整缓存区大小以接收所述第一终端传送的封装后的所述音频数据;利用所述音频解码模块对所述音频数据进行解码并通过所述播放模块进行播放。2.根据权利要求1所述的实时语音通信系统,其特征在于,所述第二终端还包括降噪模块,利用所述降噪模块对解码后的所述音频数据进行降噪处理,再传输至所述播放模块进行音频播放。3.根据权利要求1所述的实时语音通信系统,其特征在于,所述缓存区管理模块根据前一次读取的所述音频数据的数据流大小对下一次所述缓存区的分配内存进行预测和调整。4.一种实时语音通信方法,其特征在于,应用在如权利要求1~3任一所述的实时语音通信系统的第二终端上;所述方法包括:记录每次接收到的所述音频数据的内存信息,所述音频数据由与所述第二终端信号相连通的第一终端发出;将所述音频数据的内存信息与所述第二终端中用于接收所述音频数据的缓存区的分配内存进行比较,根据比较结果动态调整所述缓存区的分配内存以接收所述第一终端发送的新的所述音频数据,并对接收到的所述音频数据进行播放。5.根据权利要求4所述的实时语音通信方法,其特征在于,将所述音频数据的内存信息与所述缓存区的分配内存进行比较...

【专利技术属性】
技术研发人员:张熙梁李良源周江涛
申请(专利权)人:广州赛特智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1