没有合适的资源?快使用搜索试试~ 我知道了~
WebRTC中音视频处理流程分析
4星 · 超过85%的资源 需积分: 46 148 下载量 178 浏览量
2014-02-26
11:11:36
上传
评论 2
收藏 498KB DOC 举报
温馨提示
试读
11页
WebRTC中音视频处理流程分析,来源于http://blog.csdn.net/neustar1/
资源推荐
资源详情
资源评论
WebRTC 中音视频处理流程分析
来源于:http://blog.csdn.net/neustar1/ ,原文看起来不太方便,特作简单整理,方便查看与打印。
一:音频处理流程
将音频会话抽象为一个通道 ,譬如 与 进行音频通话,则 需要建立一
个 与 进行音频数据传输。上图中有三个 ,每个 包含编解码和
发送功能。
以一个 而言,应用程序中将包含三个活动线程,录音线程,音频接收线程和播放线
程。
)录音线程:负责麦克风音频的采集,见图中红色路径,采集到音频后,缓存到一定长度,
进行音频处理,主要包括 , 和 等。然后送到 ,经过音频 模块编码,封
装成 包,通过 发送出去;
)接收线程:见蓝色路径,负责接收远端发送过来的音频包,解封 包,解码音频数据,
送入 模块缓存。
)播放线程:负责耳机声音播放,见绿色路径。播放线程去 ! 中获取要播放的音频
数据,首先依次获取参与会话的 中 存储的音频帧,可以对其做 和 处理;
然后混合多个 的音频信号,得到混合音频,传递给 !""# 模块进行远端分析。
最后播放出来。
如下为本地回环录音和播放代码:
$#%&'&(&$#))!*+,
$"%&"&(&$"))-!.*'+,
"/0-*+,
&-&(&"/0!*+,
"/01"*-233324563636427333+,
"/08'!*-2333233245636364+,
"/0!9*-+,
"/0!'*-+,
"/0!*-+,
:&:&:&:&6666";66666666
"/0;*-+,
"/0;''*-+,
"/0;9*-+,
"/0!<*+,
二:音频模块结构
:&:&:&本文介绍 = 音频模块组成和结构,详细介绍音频引擎的配置和启动,相信看完本文后,
很多人可以利用 = 完成一个音频通话程序开发。
*一+对外接口
:&:&:&音频部分的对外主要接口如下,各个接口之间的关系如图 所示。
)$#:负责引擎的所有接口查询,存储共享数据信息 !1。
)$":负责音频处理的基本操作。
)$!""#:音频信号处理接口,设置各个音频处理项的参数。
7)$:音频编解码接口,提供支持的编解码器查询,音频编解码设置。
>)$?!!:音频硬件设备接口,负责音频硬件设备的设置。
:&:&:&:&:其它的接口还有
$@",$!,$A,$$9,$$<!,$B
,$;!,$1<.,$!"" 和 $!9;。
::::::::&= 使用继承实现接口转换和查询,接口之间的数据共享是通过 !1 完成,首先
$#-<; 继承各个对外接口的实现,所以可以从 $#-<; 很容易获取其他对外接
口。而 $#-<; 本身也继承 !1,当从 $#-<; 获取其他对外接口的同时,
隐式的传递了 !1 指针,因此各个接口可以很方便的获取到 !1 的数据信息。因此
虽然类与类之间的关系看起来比较混乱,但是使用上比较方便。
:&:&:&:&:利用 $# 获取对外接口:$-!.CC%&;-!.&(&
$-!.CC)-!.*;$#+,
图()接口关系示意图
*二+&模块组成
剩余10页未读,继续阅读
资源评论
- 风风1012015-06-01资料不错~对自己有点帮助
- Cys玊2014-05-31唉。下了没怎么用。
- law159900412982015-06-12不错的资源,正在学wevrtc,正好需要
- duanshengchong2014-04-22很好,希望我能找到一个点进入,呵呵
xaccc
- 粉丝: 4
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功