概述
webRTC是什么?。 这里我已经下载并编译好了,然后梳理一下结构。仅作为学习笔记,如有错误,欢迎指出。
如果你还没有下载或编译,请参看,链接1, 链接2.
1、首先webRTC下载之后,是src文件,然后这个文件中有很多文件夹及其他,这里截取部分,如下:
2、其中example文件夹中,是webRTC给出的各种应用实例的demo。
目前作为入门,我是先研究peerconnection的client和server 项目。
3、out文件夹(从example文件夹向下数4个),是编译生成之后的库文件,共4个版本。
4、以release_32 为例,
obj :里面有各种obj文件,和 lib文件。用于包含库目录。内容较多,关联比较复杂。
all.sh,可以用VS2017(这是我编译时用的编译器)打开整个解决方案,打开之后,部分截图如下:
然后就可以调试运行,跟踪,看peerconnection的client和server是如何工作的。
5、运行client和server
先运行server,使服务端处于监听状态,然后启动client端,点击连接,即可连接到服务端。之后可以创建多个client,那么服务端可以监听到多个client。
开启client,点击 connect。
连接成功1个client
连接成功2个client,每个客户端都有另一个客户端的信息,点击名称,即可获取摄像头。如果两个客户端在两台局域网电脑上时,能实现1对1,视频是平信。
连接3个client, 每个client上,都有另外两个客户端信息。
断开1个client
6、其他文件
(api)文件夹里,主要包含了webrtc的虚基类接口
(audio)文件夹里,audio工程,包含音频传输接收发送的功能
(call)文件夹里,rtp的接收发送功能
(common_audio)文件夹里,音频算法处理功能
(common_video)文件夹里,视频帧处理功能,yuv处理,h264解析
(modules):
- audio_coding音频编码器
- audio_device 音频采集
- audio_mixer 音频混音
- audio_processing 音频处理,回声消除,语音增强,端点检测
- bitrate_controller 码率控制
- congestion_controller 拥塞控制
- desktop_capture 桌面采集
- remote_bitrate_estimator 远端码率估计
- rtp_rtcp rtp/rtcp协议处理
- third_party fft变换 g711编解码 g722编解码
- video_capture 视频采集
- video_coding 视频编码
- video_process 视频降噪处理
(p2p) rtc_p2p工程-p2p传输接收与发送
(example) 文件夹有各个平台的demo,都是对sdk 里面接口的实例
(sdk)sdk 文件夹有Android的接口,应该还有iso。里面有 apprtc,可以实现安卓和web 的互通
(PC) peer_connection 工程,webrtc的控制核心
(video) video工程 视频的传输与发送
(third_party) 很多第三方开源库
(stats) rtc_stats工程 状态信息
(rtc_tools) rtc的自定义命令行工具
参考链接:https://blog.csdn.net/tong5956/article/details/105067219
最后
以上就是大方悟空为你收集整理的webRTC源码结构简单分析(一)的全部内容,希望文章能够帮你解决webRTC源码结构简单分析(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复