前言
webRTC源码,有RTC web的,也是默认的,也有RTC android的,还有RTC ios的,可以根据项目需要,拉取不同的源码。当然了,其实不同的仓库源码,底层库基本一样的,直白的说,C++的代码基本一样,大部分是公共的代码,不然它也不敢宣称自己是跨平台的。RTC所谓跨平台,就是底层库(C++实现)是同一个,但针对不同的平台,比如对android,会包一层java API来是适配,给android开发着使用,ios或者web也一样(web就是包一层JS API)。
话不多说,下面开始介绍如何拉取源码,以及如何编译。
1 源码拉取
1.1 安装必备工具depot
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
设置环境变量, home目录的.bashrc,末尾添加两句话
export WEBRTC_DEPOT_TOOLS=/home/chenxiaofeng/webRTC_Source/depot_tools
export PATH=$PATH:$WEBRTC_DEPOT_TOOLS
使变量生效, 命令行执行
source ~/.bashrc
1.2 拉取源码
创建一个目录,然后进到目录,拉取。
如前文说的,webRTC源码,有基于浏览器的,也是最基本的,也有基于android的和ios的。根据你的需要,建议分开拉取。本文以android为例子说明,命令如下:
mkdir webrtc_android
cd webrtc_android
fetch --nohooks webrtc_android
gclient sync
命令fetch和gclient,甚至包括下面编译用的gn,就是上面1.1 安装的工具,所以如果你执行失败,请确认1.1有没有设置正确喔。
命令执行了,会拉取webRTC源码,且额外加了android相关的依赖,例如Android SDK/ NDK。整个工程大概21G,主要占用的是第三方依赖,在third_party目录下,大概17G+,其中third_party/Android相关依赖有6G+。所以拉取时,请确保存储空间充裕。
另外,如果是基于浏览器的,那命令如下:
mkdir webrtc
cd webrtc
fetch --nohooks webrtc
gclient sync
同理,ios的fetch改成fetch --nohooks webrtc_ios就可以了。

本文详细介绍了如何从Chromium源码库获取WebRTC(RTCweb、RTCandroid和RTCios)源码,并指导读者进行编译,包括设置depot工具、拉取源码、编译过程以及针对Android Studio的三种开发方式,尤其关注于解决编译过程中遇到的问题和建议的开发路径。

2057

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



