windows平台下载并编译webrtc代码(代理)2017.11.17

来源:互联网 发布:大数据体系 编辑:程序博客网 时间:2024/05/22 13:33

windows平台下载并编译webrtc代码(代理)

好久没更写新博客了,当然好久没更新webrtc代码了,突发奇想拉去最新代码,无奈找了很多办法不行。经过不懈努力还是找到了简单实用的方法,现分享与大家。

注意:起步之前,你需要配置科学上网方法,当然只为了学习使用。如果没有,下面的内容请自行绕道。
以下方法均假设 代理Server是 127.0.0.1:7070


Git

  • 安装Git,下载地址https://git-scm.com/,安装过程中会有添加到环境变量设置。
  • 选择性安装TortorseGit, 下载地址http://download.tortoisegit.org
  • 配置代理服务器,打开命令行输入下面命令
git config --global http.proxy http://127.0.0.1:7070git config --global https.proxy https://127.0.0.1:7070

Depot Tools

  • 安装depot tools,并加入环境变量。(可以直接clone,原因上面已经做了阐述)
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  • 打开命令行,然后执行 gclient sync ,他会自动下载所需要的第三方应用,python、git等。

这里写图片描述

注意:如果遇到上述问题说明.cipd_client.exe下载失败。直接复制上面的url到浏览器里面下载,然后重命名为.cipd_client.exe丢到depot tools根目录即可,然后重新执行上面指令。当然浏览器配置了插件才可以


获取WEBRTC代码

首先呢配置下代理设置,可通过环境变量设置。你会感谢我的,这个方法比什么都有效!如果你试过NO_AUTH_BOTO_CONFIG发现并不管用 : (

set HTTP_PROXY=http://127.0.0.1:7070set HTTPS_PROXY=https://127.0.0.1:7070

然后就是官方的下载方法啦:

mkdir webrtc-checkoutcd webrtc-checkoutfetch --nohooks webrtcgclient sync

如果需要更新代码的话,也很简单:

git pull

当然更新完代码,对应的toolchain和dependencies也需要同步更新:

gclient sync

编译WEBRTC代码

官方的做法:

gn gen out/Defaultninja -C out/Default

貌似并不能满足我们的野心啊,上面编译出的是x64架构的。那么要支持x86怎么办呢?支持debug和release怎么办呢?我想生成sln工程怎么办呢?

set GYP_GENERATORS=msvs-ninja,ninja //为了生成vs的sln工程(生成vs工程后不建议用vs编译:会很卡,还是用ninja指令编译比较快,vs工程只是方便查看解决方案)set DEPOT_TOOLS_WIN_TOOLCHAIN=0set GYP_MSVS_VERSION=2015 //2015是指定vs版本//下面一条指令生成VS2015的win32 debug工程gn gen out/Debug --ide=vs2015 --args="is_debug=true target_cpu=\"x86\""//下面一条指令生成VS2015的win32 release工程gn gen out/Release --ide=vs2015 --args="is_debug=false target_cpu=\"x86\""//参数 --ide=vs2015 是为了生存vs工程,可以去掉//以上方法均建议使用ninja方法编译,速度快ninja -C out/Debug //或者ninja -C out/Release 

如果还不能满足我们的野心怎么办呢?我想支持H264,当然也是有办法的:

gn gen out/h264Debug --ide=vs2015 --args="proprietary_codecs=true rtc_use_h264=true ffmpeg_branding=\"Chrome\" is_debug=true target_cpu=\"x86\" rtc_include_tests=false"ninja -C out/h264Debug//或者gn gen out/h264Release --ide=vs2015 --args="proprietary_codecs=true rtc_use_h264=true ffmpeg_branding=\"Chrome\" is_debug=false target_cpu=\"x86\" rtc_include_tests=false"ninja -C out/h264Release

注意: 上面参数中提到的 rtc_include_tests 是用来控制是否生成测试工程。


其他

  • 编译需要Python2.7版本,且不能高于也不能低于,切记。
  • DXSDK 我已分享https://pan.baidu.com/s/1qY9g2jM 提取密码:cr3f 下载后加入环境变量DXSDK_DIR

欢迎一起讨论webrtc技术
附上百度网盘下载地址 链接: https://pan.baidu.com/s/1i5kYJFf 密码: si5u

原创粉丝点击