解决视频通话项目中遇到的问题,需要编译webrtc源码,折腾了不少时间,记录下来以备后用,也方便后来者。
首先是下载WebRtc,借用网友的一句话 需要合理上网才能下载,后来给出下载好的网盘网盘链接。下载的步骤为
1.下载depot_tools,利用depot_tools 下载WebRtc源码
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
将下载到depot_tools路径添加到系统环境变量(depot_tools 实际是google 代码管理工具)。
2. 下载源码
创建webrtc源码路径(例如:D:\webRtc\),打开命令行cd 到该目录 依次执行:
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
fetch --nohooks webrtc(如果没有将depot_tools路径添加到系统环境变量,会提示找不到fetch命令)
gclient sync(假如下载过程中网络中断或者出现错误,可以再次执行该命令同步代码)
下载后源码后 进行编译(VS2017)首先设置环境变量:
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSON=2017
set GYP_GENERATORS=msvs-ninja,ninja
生成 VS工程文件:
gn gen out/h264Release_64 --ide=vs2017 --args="proprietary_codecs=true is_debug=false target_cpu=\"x64\" is_clang=true ffmpeg_branding=\"Chrome\" rtc_use_h264=true use_rtti=true rtc_include_tests=false treat_warnings_as_errors=false"
如果报以下错误: 执行python build\util\lastchange.py build\util\LASTCHANGE,再次执行上面的命令(配置项可在根目录build\config\build.gn中,vs中使用可将use_custom_libcxx=false,clang编译器目录在build/config/clang/clang.gni配置)。
File "H:/BaiduNetdiskDownload/src/src/build/compute_build_timestamp.py", line 122, in <module> sys.exit(main()) File "H:/BaiduNetdiskDownload/src/src/build/compute_build_timestamp.py", line 106, in main last_commit_timestamp = int(open(lastchange_file).read()) IOError: [Errno 2] No such file or directory: \'H:\\BaiduNetdiskDownload\\src\\src\\build\\util\\LASTCHANGE.committime\'
编译:
ninja -C out/h264Release_64
下载好的源码(下载日期是2021-09-21)下载地址:
链接:https://pan.baidu.com/s/1uCtKtiLq6StMgsSYyCw96g
提取码:h0bl
如需交流可以加入QQ群 ffmpeg\流媒体\GB28181 766718184,此群主要是交流音视频,并非
专门交流WebRtc。