一种基于WebRTC实时语音透传改进方法技术

技术编号:37592662 阅读:14 留言:0更新日期:2023-05-18 11:32
本发明专利技术公开一种基于WebRTC实时语音透传改进方法。本发明专利技术通过Web端来处理音频数据,推流服务作为数据传输通道,避免了推流服务处理音频数据带来的时延,降低实时音频的时延,提升用户体验。本发明专利技术通过Web端、推流服务、应用的高度协作,聚合了实时交互的流程,以及音频传输的处理,乃至整个实时交互流程,采用本方法,可以在跨终端的情况下,可以快速高效地建立起稳定的低时延实时交互语音传输服务系统,提升用户体验。提升用户体验。提升用户体验。

【技术实现步骤摘要】
一种基于WebRTC实时语音透传改进方法


[0001]本专利技术涉及实时语音
,尤其涉及一种基于WebRTC实时语音透传改进方法。

技术介绍

[0002]实时音视频(WebRTC)是指通过点对点的方式,在不借助中间媒介的情况下,实现浏览器之间的实时音视频通信(视频通话、实时交互),同时也不仅限于浏览器间点对点通信,任一浏览器可以跟任一视频源实时通信(双方支持WebRTC),在此基础上,实现一种通过Web端与任一终端可视化交互以及语音透传的系统。
[0003]在现有的WebRTC生态中,WebRTC主要应用场景是一对一、多对多语音/视频聊天,主要是传输音视频流,在实时交互领域,应用想要获取Web端传输过来的音频数据,往往是从操作系统层面(推流服务)去读取麦克风数据。如果系统运行多个应用,这种方式将会变得不可用。
[0004]因此,现有技术存在缺陷,需要改进。

技术实现思路

[0005]本专利技术要解决的技术问题是:提供一种基于WebRTC实时语音透传改进方法,降低实时交互语音的时延,提升用户体验。
[0006]本专利技术的技术方案如下:提供一种基于WebRTC实时语音透传改进方法,包括以下步骤。
[0007]S1:Web端与推流服务、应用建立WebRTC连接。
[0008]S2:Web端接收到应用发出的接收音频数据指令,开启浏览器的Web Worker线程、音频的createScriptProcessor,onaudioprocess检测到音频缓存区A开始生成音频数据,Web Worker线程调用采样率对齐方法以及PCM格式编码进制转换方法处理完后,将PCM格式音频数据持续传回Web主线程。
[0009]S3:Web主线程创建一个音频缓存区B,设置包大小以及发送的频率,将从A中传回来的数据分割写进B中,然后将PCM格式音频数据的包到推流服务。
[0010]S4:推流服务接收到PCM格式音频数据后将PCM格式音频数据发送到应用。
[0011]S5:应用读取发送过来的PCM格式音频数据,将其转换成有效声音并且同步播放。
[0012]S6:循环执行S2

S5,直到Web端接收到应用发出的终止接收音频数据指令,Web端关闭声音录制以及Web Worker线程。
[0013]本方案中,通过Web端来处理音频数据,推流服务作为数据传输通道,避免了推流服务处理音频数据带来的时延,降低实时音频的时延,提升用户体验。
[0014]进一步地,所述包的大小以及发送的频率根据实际需求和网络通畅情况进行调节。
[0015]进一步地,在步骤S2中,将PCM格式音频数据通过postMessage通道持续传回Web主
线程。
[0016]进一步地,在步骤S3中,然后通过RTCDataChannel将PCM格式音频数据的包到推流服务。所述RTCDataChannel基于WebRTC。
[0017]进一步地,在步骤S4中,推流服务接收到PCM格式音频数据后通过WebSocket将PCM格式音频数据发送到应用。
[0018]采用上述方案,本专利技术提供一种基于WebRTC实时语音透传改进方法,通过Web端、推流服务、应用的高度协作,聚合了实时交互的流程,以及音频传输的处理,乃至整个实时交互流程,采用本方法,可以在跨终端的情况下,可以快速高效地建立起稳定的低时延实时交互语音传输服务系统,提升用户体验。
附图说明
[0019]图1为本专利技术的方法流程图;
[0020]图2为本专利技术的功能模块图。
具体实施方式
[0021]以下结合附图和具体实施例,对本专利技术进行详细说明。
[0022]请参阅图1和图2,本实施例提供一种基于WebRTC实时语音透传改进方法,包括以下步骤。
[0023]S1:Web端与推流服务、应用建立WebRTC连接。
[0024]S2:Web端接收到应用发出的接收音频数据指令,开启浏览器的Web Worker线程、音频的createScriptProcessor,onaudioprocess检测到音频缓存区A开始生成音频数据,Web Worker线程调用采样率对齐方法以及PCM格式编码进制转换方法处理完后,将PCM格式音频数据通过postMessage通道持续传回Web主线程。
[0025]S3:Web主线程创建一个音频缓存区B,设置包大小以及发送的频率,将从A中传回来的数据分割写进B中,然后通过RTCDataChannel将PCM格式音频数据的包到推流服务。所述RTCDataChannel基于WebRTC。所述包的大小以及发送的频率根据实际需求和网络通畅情况进行调节。
[0026]S4:推流服务接收到PCM格式音频数据后通过WebSocket将PCM格式音频数据发送到应用。
[0027]S5:应用读取发送过来的PCM格式音频数据,将其转换成有效声音并且同步播放。
[0028]S6:循环执行S2

S5,直到Web端接收到应用发出的终止接收音频数据指令,Web端关闭声音录制以及Web Worker线程。
[0029]本方案中,通过Web端来处理音频数据,推流服务作为数据传输通道,避免了推流服务处理音频数据带来的时延,降低实时音频的时延,提升用户体验。
[0030]综上所述,本专利技术提供一种基于WebRTC实时语音透传改进方法,通过Web端、推流服务、应用的高度协作,聚合了实时交互的流程,以及音频传输的处理,乃至整个实时交互流程,采用本方法,可以在跨终端的情况下,可以快速高效地建立起稳定的低时延实时交互语音传输服务系统,提升用户体验。
[0031]以上仅为本专利技术的较佳实施例而已,并不用于限制本专利技术,凡在本专利技术的精神和
原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于WebRTC实时语音透传改进方法,其特征在于,包括以下步骤:S1:Web端与推流服务、应用建立WebRTC连接;S2:Web端接收到应用发出的接收音频数据指令,开启浏览器的Web Worker线程、音频的createScriptProcessor,onaudioprocess检测到音频缓存区A开始生成音频数据,Web Worker线程调用采样率对齐方法以及PCM格式编码进制转换方法处理完后,将PCM格式音频数据持续传回Web主线程;S3:Web主线程创建一个音频缓存区B,设置包大小以及发送的频率,将从A中传回来的数据分割写进B中,然后将PCM格式音频数据的包到推流服务;S4:推流服务接收到PCM格式音频数据后将PCM格式音频数据发送到应用;S5:应用读取发送过来的PCM格式音频数据,将其转换成有效声音并且同步播放;S6:循环执行S2

S5,直到Web端接收到应用发出的终止接收音频数据指令,...

【专利技术属性】
技术研发人员:黄志谋邹琼周双全
申请(专利权)人:深圳市瑞云科技股份有限公司
类型:发明
国别省市:

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

1