WebRTC源码编译(windows+vs2019)

429 阅读2分钟

硬件以及系统要求

  • WebRTC要求是 64位机器 8G 内存,最好超过16G内存。有人4G内存也可以
    
  • 至少 100G 磁盘空间,NTFS格式。FAT32不行,因为webrtc中有文件大于4G
    
  • Win10
    

安装VS2019

安装ide和sdk即可。安装sdk时选择“Debugging Tools For Windows”,以便使用cdb.

配置工具。

因为webrtc似乎要在cmd.exe中配置,据说PowerShell等似乎不行,没有尝试过。可以自行找工具上google。

set http_proxy=http://127.0.0.1:7890 & set https_proxy=http://127.0.0.1:7890 通过命令行设置仅仅在单次会话中生效。 测试:curl www.google.com (别用ping,tcp不走代理)

安装 depot_tools

  1. 下载depot_tools,也可以用git clone。下载完成直接解压文件到指定位置,最好不要拷贝,据说容易出问题。
  2. 配置环境变量

QFKUW0~CQ@02DK_FP{1AXLW.png 为了排除已安装工具影响,将其置顶。 另外,将 DEPOT_TOOLS_WIN_TOOLCHAIN 设置到你的系统环境变量里,并设置它的值为 0 ,该变量会告诉 depot_tools 使用你本地安装的 Visual Studio 版本。

  1. 执行 gclient sync --force 最想尝试执行 gclient 命令,但是一直无法下载git,python等工具,不知道为啥,后来尝试 gclient sync --force,下载完成。测试:输入python,显示 python.bat,说明depot_tools安装成功。

获取 WebRTC 代码

mkdir webrtc-checkout
cd webrtc-checkout
fetch --nohooks webrtc
gclient sync

这里要等蛮久....

我的VS和win10 SDK没有装在C盘,所以会报错。很多博客说去
webrtc-checkout\src\buildvs_toolchain.py中配置啥的,我试了下没有用...可能我操作有误。但是我找到更加有用的方法:

编译及生成工程文件

cd src
gn gen out/Default
ninja -C out/Default
gn gen --ide=vs out/Default   #生成工程文件

测试

out/Default下

![L13[TH5VH_V%G639O1OO@K.png

先启动server,端口默认8888. 然后启动client,ip从localhost换成127.0.0.1(应该是localhost没有被解析)

一旦有连接建立或断开,server将打印以下日志:

![Y3WLPV(86]JQNFVBOLUON06.png](p6-juejin.byteimg.com/tos-cn-i-k3…?)