webrtc音频模块介绍(一) 音频引擎的架构

音频引擎的架构图

  • ADM位于最下层,直接于各种系统的音频设备打交道。
  • 音频引擎的音频处理模块包括: 音频编解码,Mixer(混音),AudioProcess(3A算法)。

音频引擎的数据流转图

音频引擎全局只有一个,由所有的call对象所共享(一个pc对象对应一个call对象),各个call中的stream都会放在引擎的AudioState对象中。

  • 蓝色箭头 是播放时音频流的流程,AudioDeviceBufferAudioTransportMixer中取混音后的数据,Mixer从各AudioReceiveStream取数据混音。 音频数据最终会通过ADM的回放接口播放。
  • 红色箭头是采集音频的流程。
  • 采集的音频只有一个,采集的音频会向多个端发送数据。
  • 接收的音频有多个,多个音频会经过混音变成一个。

音频引擎中的核心对象

  • AudioDeviceModule就是ADM,与系统中的音频设备打交道。
  • AudioProcessing 音频处理算法(3A算法)。
  • AudioMixer音频混音。
  • AudioState是一个对象管理及音频数据流转。它管理其它三个对象,并且管理所有的call对象中AudioStream
  • 音频编解码对象,AudioEncoderFactoryAudioDecoderFactory
相关推荐
XLP新龙鹏科技37 分钟前
视频拼接类产品介绍
经验分享·音视频·视频拼接·产品方案·拼接类
xcg3401233 小时前
SpringBoot结合Vue 播放 m3u8 格式视频
音视频·hls·m3u8·流媒体播放
EasyDSS3 小时前
超越单向观看:视频直播点播视频会议平台EasyDSS如何赋能远程实时音视频互动场景?
音视频·实时音视频
嘀咕博客3 小时前
Kimi-Audio:Kimi开源的通用音频基础模型,支持语音识别、音频理解等多种任务
人工智能·音视频·语音识别·ai工具
Ai工具分享6 小时前
家庭录像损坏了无法播放?视频修复让回忆重现
音视频
红米饭配南瓜汤16 小时前
WebRTC 发送端 SSRC 生成流程总结
网络·网络协议·音视频·webrtc·媒体
技术小成1 天前
大黄蜂云课堂vep格式加密视频录屏截图翻录转换为mp4
音视频
EasyCVR1 天前
视频融合平台EasyCVR在智慧工地中的应用:构建安全、智能、高效的“云上工地”
安全·音视频
xiaopengbc1 天前
视频媒体影音嗅探神器—Chrome扩展插件(猫抓cat-catch离线版下载)
chrome·音视频·媒体
小椿_1 天前
AI 驱动视频处理与智算革新:蓝耘MaaS释放海螺AI视频生产力
人工智能·深度学习·音视频