WebRTC主目录:
可以将WebRTC目录归纳为几个大类:
接口层、业务处理层、音视频处理层、基础支持层
- 接口层:
api/:WebRTC对外提供的所有接口都存放在这个目录下,如果要为WebRTC增加新的接口,也需要将编写的接口文件放在该目录下; - 业务处理层:
pc/:PeerConnection目录,PeerConnection可以做很多事情,包括:媒体协商、收集Candidate、传输音视频数据等;
call/:Call目录里存放的是与“呼叫”相关的文件,表示的是用户之间建立的会话,call这个词是从程控电话交换系统衍生而来的,实际上与互联网中的Session是同一概念。一个WebRTC终端可以同时发起多个“呼叫”,即创建多个call实例,而在每个call实例中,又可以包含多个发送/接收流;
media/:media目录用于存放与媒体引擎相关的代码,媒体引擎包括音频引擎和视频引擎,主要用于音视频的控制; - 音视频处理层:
audio/:用于存放与音频流相关的代码;
video/:用于存放与视频流相关的代码;
common_audio/:用于存放一些音频的基本算法,包括环形队列、傅里叶算法、滤波器等;
common_videosdk/:存放与视频相关的算法及工具,如 libyuv、sps/pps分析器、I420缓冲器等; - 基础支撑层:
这一层都是一些基础的模块:
sdk/:存放移动端特定的代码,如:Android端的视频采集、iOS端的视频采集等;
p2p/:存放端到端网络连接相关的代码,如:DTLS、STUN协议的实现等;
stats/:存放各种数据统计相关的类,如:发送了多少包、丢失了多少包、带宽大小等;
rtc_base/:存放一些基础代码,如:线程、事件、socket等;
rtc_tools/:存放一些与服务质量相关的工具;
tools_webrtc/:存放一些与WebRTC性能相关的工具;
system_wrapper/:存放与操作系统相关的代码,如:CPU特性、原

最低0.47元/天 解锁文章
267

被折叠的 条评论
为什么被折叠?



