获取开发者环境
好消息:最新的Webrtc源码支持直接在编译器上调试,比如xcode,AndroidStudio(后面的编译会以xcode为例)
经过我们几个同事的不同环境下编译情况,在macOS环境下编译比较酸爽!
拿到webrtc源码
1、获取depot_tools工具
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
有朋友说下载很慢,我存了一个在github上面:depot_tools
2、添加depot_tool路径到.bash_profile里面
-
vi ~/.bash_profile
打开全局环境配置文件(我的是在根目录,如果没有,在home目录下创建一个吧) - 添加这一句到文件尾部:
PATH="${PATH}:depot_tool的绝对路径"
- 然后执行
. ~/.bash_profile
就生效了
3、同步代码
- 在你喜欢的位置创建一个文件夹,然后cd到这个文件目录下
- 输入
fetch --nohooks webrtc_ios
- 接着是漫长的等待,如图,这里是同步ios的版本,≈6G :)
PS:这里有个小插曲,由于国情,下载代码过程,包括以后的gclient sync
同步都必须翻墙!推荐使用Shadowsocks+Proxifier进行全局代理:方法
源码结构
~漫长的代码下载后能会获取到一个src文件目录:如下
├── base
├── build 编译相关脚本
├── build_overrides 覆盖编译参数
├── buildtools
├── data 测试数据
├── infra
├── resources 需要的资源文件
├── testing
├── third_party 用到的第三方库ffmpeg/openh264...代码,5G左右
├── tools
├── tools-webrtc 一些编译脚本
└── webrtc 核心代码
核心代码目录src/webrtc
├── api
├── audio
├── base
├── call
├── common_audio
├── common_video
│ ├── h264
│ ├── include
│ └── libyuv
├── examples
│ ├── androidapp Android版AppRTCMbile
│ ├── androidjunit
│ ├── androidtests
│ ├── objc iOS版AppRTCMbile
│ ├── peerconnection
│ ├── relayserver
│ ├── stunprober
│ ├── stunserver
│ └── turnserver
├── logging
├── media
├── modules
│ ├── audio_coding
│ ├── audio_conference_mixer
│ ├── audio_device
│ ├── audio_mixer
│ ├── audio_processing
│ ├── bitrate_controller
│ ├── congestion_controller
│ ├── desktop_capture
│ ├── include
│ ├── media_file
│ ├── pacing
│ ├── remote_bitrate_estimator
│ ├── rtp_rtcp
│ ├── utility
│ ├── video_capture
│ ├── video_coding
│ └── video_processing
├── p2p
│ ├── base
│ ├── client
│ ├── quic
│ └── stunprober
├── pc
├── sdk
│ ├── android Android sdk封转
│ └── objc iOS sdk封转
├── stats
├── system_wrappers
│ ├── include
│ └── source
├── test
├── tools
├── video
└── voice_engine
创建分支
- 建议创建一个新的本地分支
git new-branch <branch name>
- git管理建议使用SourceTree
- 把下载好的src拖进SourceTree可以详细看版本的更新日志
webrtc代码更新得很快,一下子就落后了三个版本!
网友评论