webrtc源码结构
api
WebRTC 接⼝层。包括 DataChannel, MediaStream, SDP相关的接⼝。各浏览器都是通过该接⼝层调⽤的 WebRTC。call
存放的是 WebRTC “呼叫(Call)” 相关逻辑层的代码。
audio
存放⾳频⽹络逻辑层相关的代码。⾳频数据逻辑上的发送,接收等代码。
video
存放视频逻辑层及视频引擎层的相关的代码。视频数据逻辑上的发送,接收等代码。
视频引擎层就是指如何控制视频采集,处理和编解码操作的逻辑。
sdk
存放了 Android 和 IOS 层代码。如视频的采集,渲染代码都在这⾥。
pc
存放⼀些业务逻辑层的代码。如 channel, session等。
common_audio
存放⼀些⾳频的基本算法。包括环形队列,博利叶算法,滤波器等。
common_video
存放了视频算法相关的常⽤⼯具,如libyuv, sps/pps分析器,I420缓冲器等。
modules
这个⽬录是 WebRTC 代码中最重要的⼀个⽬录。⾥⾯包括了⾳视频的采集,处理,编解码器,混⾳等。
modules ⽬录下还包括以下⼏个⼦⽬录:
audio_coding :⾳频编解码相关代码。
audio_conference_mixer :会议混⾳相关代码。
audio_device :⾳频采集与⾳频播放相关代码。
audio_mixer :混⾳相关代码,这部分是后加的。
audio_processing :⾳频前后处理的相关代码。
bitrate_controller :码率控制相关代码。
congestion_controller :流控相关的代码。
desktop_capture :桌⾯采集相关的代码。
media_file :播放媒体⽂件相关的代码。
pacing :码率探测相关的代码。
remote_bitrate_estimator :远端码率估算相关的代码。
rtp_rtcp :rtp/rtcp协议相关代码。
video_capture :视频采集相关的代码。
video_coding :视频编解码相关的代码。
video_processing :视频前后处理相关的代码。
media
存放媒体相关的代码。
p2p
p2p相关的代码。
rtc_base
存放了⼀些基础代码。如线程,事件,socket等相关的代码。
rtc_tools
存放了⼀些⼯具代码。如视频帧⽐较,I420转RGB,视频帧分析。
webrtc浏览器stats
存放各种数据统计相关的类。
libjingle
⽹络库。
system_wrapper
与操作系统相关的代码,如 CPU特性,原⼦操作,读写锁,时钟等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论