yunjinwang 2019-07-01
2019.04.17最新实践成功案例
别用privoxy,坑多多的
一、.环境
1.win7 x64系统,vs2017,vs2017需要安装“使用c++的桌面开发”组件(一般都会装),右边勾上win10 SDK中的某一个
2.安装shadowsock客户端,进行科学上网,配置好服务器的ip端口密码等等,查看下自己的端口号,我这电脑1080好像被占用了,所以用了10800(下面都用10800描述,大家根据具体情况自己改)
3.设置环境变量
DEPOT_TOOLS_WIN_TOOLCHAIN 0
GYP_MSVS_VERSION 2017
GYP_GENERATORS msvs-ninja,ninja
GYP_MSVS_OVERRIDE_PATH D:Program Files (x86)Microsoft Visual Studio2017Community
NO_AUTH_BOTO_CONFIG D:studywebrtc_windowstoolsdepot_toolshttp_proxy.boto
path添加D:studywebrtc_windowstoolsdepot_tools路径
ps:
GYP_MSVS_OVERRIDE_PATH是vs2017安装目录,注意是exe文件所在目录的上一级
NO_AUTH_BOTO_CONFIG后面会用到,D:studywebrtc_windowstoolsdepot_tools是后面下载depot_tools的目录
4.设置git代理环境(git的安装自行解决)
git config –-global http.proxy http://127.0.0.1:10800
git config –-global https.proxy http://127.0.0.1:10800
5.设置cmd环境(进入cmd之后一直都不要关掉,如果关掉了,这一步要重新做)
set http_proxy=http://127.0.0.1:10800
set https_proxy=http://127.0.0.1:10800
ps:
可以用curl https://www.google.com来测试...(如果没找到curl,那自行解决。。。)
6.下载depot_tools
cmd命令行进入到D:studywebrtc_windowstools目录,执行
git clone https://chromium.googlesource...
7.告诉depot_tools需要代理
创建文件D:http_proxy.boto
[Boto]
proxy= 127.0.0.1
proxy_port= 10800
然后把文件拷贝到D:studywebrtc_windowstoolsdepot_toolshttp_proxy.boto
二、下载源码
cmd进入D:studywebrtc_windowswebrtc-checkout,执行
fetch --nohooks webrtc
如果出错或者正常退出了,执行
gclient sync
ps:
这里如果遇到py报错,一般是由于上面的环境变量没设置好,win10 SDK没有所导致的。
三、编译出vs工程
cmd进入D:studywebrtc_windowswebrtc-checkoutsrc目录,执行
gn gen --ide=vs out/Debug --args="rtc_use_h264=true is_component_ffmpeg=true"
再执行
ninja -C out/Debug
ps:
这里我遇到了最大的坑,ninja对象一共有4000多个,每次编译到几百或者一两千,然后就卡住不动,cpu使用率由100%下降到20%左右,几个clang的工作进程的cpu使用率统统为0,折腾了一整天,后来狠心关掉(按一下cmd黑框右上角的x,别做多与操作,各个clang工作进程会慢慢退出的),接着重新打开cmd,,重新ninja -C out/Debug就可以了
四、用vs2017编译全工程源码
用vs2017打开D:studywebrtc_windowswebrtc-checkoutsrcoutDebug目录下的all.sln
点击生成项目,然后就会一直编译
然而这里也会遇到上一步遇到的问题(难道是我电脑的原因?网上没找到类似的情况),每次卡住之后,点击取消编译,然后在点生成,往复几次,就可以搞定了
万一win10sdk有问题,可以参考(度娘抄来的)
目前我使用的版本 sdk 版本号 最好为 10.0.17134 ,同时记得安装器debug tool, 设置路径为 : Control Panel → Programs → Programs and Features → Select the “Windows Software Development Kit” → Change → Change → Check “Debugging Tools For Windows” → Change. Or, you can download the standalone SDK installer and use it to install the Debugging Tools.
部署WebRTC 或 SIP p2p 方案时经常会遇到p2p 无法穿透的环境,这时就是TunServer 的用武之地了。添加完成后,就可以在webrtc 里面使用stun 和tun server 了。