Webrtc笔记-获取源码

获取开发者环境

好消息:最新的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 :)
Webrtc笔记-获取源码_第1张图片
terminal

源码结构

~漫长的代码下载后能会获取到一个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
  • git管理建议使用SourceTree
  • 把下载好的src拖进SourceTree可以详细看版本的更新日志
Webrtc笔记-获取源码_第2张图片
sourcetree.png

webrtc代码更新得很快,一下子就落后了三个版本!

你可能感兴趣的:(Webrtc笔记-获取源码)