现在使用webrtc的小伙伴越来越多,我也来凑凑热闹,第一步自然是下载源码,其实官网上面写的还是蛮详细的,只是环境搭建稍稍复杂了点,再加上国内不能访问google,所以简单的事情就变得复杂起来。我就按照官网上面的流程给大家简单介绍下,具体细节可以参考https://webrtc.org/native-code/development/,当然前提条件是你可以访问google。
我使用的是Visual studio community 2017-15.9.9版本,需要安装“使用C++的桌面开发”、“Visual Studio扩展开发”,需要注意的是win10 SDK,至少需要10.0.17134.0版本,否则会出现问题。
增加环境变量: GYP_MSVS_VERSION=2017,用于设置vs版本
注意:需要安装sdk 调试工具: Control Panel → Programs → Programs and Features → Select the “Windows Software Development Kit” v17134 → Change → Change → Check “Debugging Tools For Windows” → Change。
下载地址:http://dev.chromium.org/developers/how-tos/install-depot-tools,解压之后不要拷贝和移动,否则会影响.git文件夹,记得设置环境变量将depot_tools放在最前面。设置环境变量:DEPOT_TOOLS_WIN_TOOLCHAIN=0,告诉depot使用本地的vs,然后打开cmd运行gclient,会自动下载安装很多东西,如python,mysisgit。(如果无法下载,你也可以手动安装python2.7和git)
注意:depot内部自带了python2.7版本,如果电脑已经安装了其他版本的python,可能会存在冲突,导致编译出现问题,实在不行就自行下载python2.7 x64版本,重新安装一遍。
如果没有git的话,就网上下载一下,再打开git bash配置即可
$ git config --global user.name "My Name"
$ git config --global user.email "[email protected]"
$ git config --global core.autocrlf false
$ git config --global core.filemode false
$ git config --global branch.autosetuprebase always
为了让depot可以正常下载和编译源码,需要设置代理,
1)打开git bash在窗口中输入(端口号由你使用的代理服务器决定,可以在“网络和Internet设置”--“代理”中查询):
set http_proxy=127.0.0.1:1080
set https_proxy=127.0.0.1:1080
或者偷懒点的话可以设置环境变量:
http_proxy=127.0.0.1:1080
https_proxy=127.0.0.1:1080
2)网上还有的说法是在depot_tools文件夹下新建http_proxy.boto并输入代理和端口:
[Boto]
proxy= 127.0.0.1
proxy_port= 1080
打开git bash在窗口中输入
set NO_AUTH_BOTO_CONFIG=F:\depot_tools\http_proxy.boto(具体路径看你自己的情况)
或者偷懒点的话可以设置环境变量:
NO_AUTH_BOTO_CONFIG=F:\depot_tools\http_proxy.boto
具体哪种更好用,我也不确定,保险起见都加总是没错的。
增加环境变量(或者每次在窗口中设置应该也可以吧):
GYP_GENERATORS=msvs-ninja,ninja
源码获取可以参考 https://webrtc.org/native-code/development/,上面写的很详细,下载中断时可以通过gclient sync命令继续,源码大概有4G,时间会很长,做好心理准备。
mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
gclient sync
用gn编译生成ninja解决方案:
cd src
gn gen out/Default --ide=vs2017
编译ninja工程:
ninja -C out/Default
最后编译完成居然有20G
使用vs2017打开,本来准备重新编译一下,但是报了如下错误,推荐还是用ninja进行编译,vs只是用来debug的。
使用out/Default文件夹下面的peerconnection做音视频的测试:
1)在电脑A上打开peerconnection_server.exe
2)在电脑A上打开peerconnection_client.exe,输入电脑A的ip
3)在电脑B上打开peerconnection_client.exe,输入电脑A的ip,在“List of currently connected peers:”中选择电脑A
大家可以自行测试,或者用我编译好的webrtc(应该是m72版本的)
【webrtc资源 链接: https://pan.baidu.com/s/1Tpngswj_SRNQnwLCABBbqQ 提取码: lc6d 】