一、前提
最重要的是使用稳定的FQ工具,下载中遇到的大部分错误都是因为网络不稳定导致下载失败
二、下载代码
1、下载安装VS2017,安装时选择VC++,Win10SDK;
2、安装depot_tools,地址https://storage.googleapis.com/chrome-infra/depot_tools.zip
3、设置环境变量Path中添加depot_tools路径,重启cmd并设置代理;
4、执行gclient下载依赖库;
5、下载win10SDK,完成后设置环境变量,如:WINDOWSSDKDIR=D:\Windows Kits\10;
6、修改系统区域语言为英语,控制面板->时钟、语言和区域->区域->管理(选项卡)->更改系统区域设置; 并重启;
7、设置环境变量
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2017
以后每次编译时都要设置这两个环境变量。
8、mkdir webrtc
cd webrtc
fetch --nohooks webrtc (需等待较长时间)
方法一:
gclient sync -r 275e7061c770d35903137094efa136eea64156c6(需等待相当长的时间)
-r后为具体版本
方法二:
git branch -r 查看所有分支
git checkout branch-heads/61 切换到该分支
gclient sync
版本获取:进入https://webrtc.org/release-notes/,选择想要下载的版本
9、如果上面命令没有出错,说明已经下载完成;
三、编译
1、Ninja编译
a、生成工程
gn gen out/x86/Debug --args="is_debug=true rtc_include_tests=false target_cpu="x86" use_custom_libcxx=false"
gn gen out/x86/Release --args="is_debug=false rtc_include_tests=false target_cpu="x86" symbol_level=0 enable_nacl=false use_custom_libcxx=false"
gn gen out/x64/Debug --args="is_debug=true rtc_include_tests=false target_cpu="x64" use_custom_libcxx=false"
gn gen out/x64/Release --args="is_debug=false rtc_include_tests=false target_cpu="x64" symbol_level=0 enable_nacl=false use_custom_libcxx=false"
b、编译
ninja -C out/x86/Debug (路径根据上面命令修改)
2、VS IDE编译
a、设置环境变量vs2017_install
b、Ninja编译的a步骤命令后面加上—ide=vs
c、ninja -C out/x86/Debug
d、打开all.sln进行编译
四、MD/MDd编译
以上步骤编译出来的库默认是使用MT/MTd编译的,如果需要编译MD/MDd可以修改src\build\config\win\BUILD.gn文件292行static_crt修改为dynamic_crt。
五、支持H264编码
1、生成ninja工程时添加参数rtc_use_h264=true。
2、src/third_party/ffmpeg/chromium/config/Chromium/win/ia32/config.h 修改#define CONFIG_H264_DECODER 0值为1
3、生成ninja工程时添加参数ffmpeg_branding=\”Chrome”;
六、查看版本信息
gclient revinfo -a
七、下载编译好的库
一些朋友可能并不想这么折腾编译,我已经将放到百度网盘,关注【亮仔很贪吃】,回复【webrtc】即可获取下载地址。