Win10使用VS2019编译WebRTC方法

1.准备

1.1VS2019

安装进入官网下载安装vs2019。

注意:VS2017最好是安装在默认目录C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise,原因后面说明。

安装WIN10 SDK还需要安装Debugging Tools,安装步骤为 控制面板 → 程序 → 程序和功能 → 选中“Windows Software Development Kit” → 变更 → Change → 勾选 “Debugging Tools For Windows” → Change。如下:

1.2Python

编译过程中需要,用2.7.9版本,需添加到Path环境变量。

注意:如果系统还装了Python3,要把Python2的环境变量放在python3的环境变量之前,这样编译过程中系统才会选择Python2解释器。

1.3Microsoft DirectX SDK (June 2010)

下载地址:http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe

如果安装出错,先把该卸载的高版本卸载掉再安装。

1.4depot_tools

depot_tools是包含下载、编译的相关工具,需要先下载并配置它,才能继续后面的操作。

下载地址:https://storage.googleapis.com/chrome-infra/depot_tools.zip

下载后解压,并将解压好的depot_tools目录添加到path系统环境变量中,如下图所示:

2.WebRTC源码获取

2.1设置环境变量

#不更新depot_tools

DEPOT_TOOLS_UPDATE=0

#编译时使用本机VS工具链

DEPOT_TOOLS_WIN_TOOLCHAIN=0

#指定VS版本

GYP_MSVS_VERSION = 2019

#vs安装路径,替换成自己的

GYP_MSVS_OVERRIDE_PATH = C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise

#使用ninja编译

GYP_GENERATORS=msvs-ninja,ninja

因需要访问国外资源这部分可能需要自己想办法实现

​​​​​​​2.2语言设置

在cmd窗口中输入命令之前,系统locale最好设置成English,目的是消除源码获取过程中可能出现的“UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 6304: illegal multibyte sequence”编解码错误。

在控制面板里面的区域(Region)即,控制面板->区域->管理->更改系统区域设置

选择英语美国,勾选Beta版使用Unicode UTF-8,然后重启。

改好后重启机器。编译完源码后可以再改回中文,改完后需要再次重启。

​​​​​​​2.3使用depot_tools获取WebRTC源码

启动cmd窗口,可以在D盘根目录下创建个webrtc-checkout放置源码。

在cmd中进入webrtc-checkout文件夹

输入指定令:

#获取代码,这一步会花点时间,代理给力的话也很快

fetch --nohooks webrtc

# 当过程中断时(包括上一步的失败),我们可以使用该命令恢复并继续

gclient sync

获取源码过程中,可能会出现“File name too long”的错误,在git bash里面,输入如下命令可解决:

git config --global core.longpaths true

下载的文件总大小大概10G,包括源码以及一些测试的音视频文件资源等等。

3.编译

使用命令行进入webrtc-checkout\src目录后执行指令:

gn gen out/Default --ide=vs2019              #生成VS2019解决方案

ninja -C out/Default                         #开始编译

VS2019最好是安装在默认目录C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise,或者只改个盘符,否则即使设置了GYP_MSYS_VERSION环境变量,还是会提示错误:Exception:Visual Studio Version 2019(from GYP_MSYS_VERSION)not found,这就是建议把VS2019安装在默认目录C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise的目的。

产生这个错误的原因是webrtc-checkout\src\build\vs_toolchain.py中语句已经把部分VS的安装路径写成固定的了。

安装完之后,即可顺利编译了。

4.测试

成功编译后,在webrtc-checkout\src\out\Default中会有一些可执行的小例子,比如peerconnection_server.exe和peerconnection_client.exe,可以用它俩进行简单的测试。

局域网运行PeerConnection 例子需要用到两台电脑,并要求两台电脑都配置有摄像头和麦克风。测试步骤如下:

1. 电脑A运行peerconnection_server.exe。

2. 电脑A运行peerconnection_client.exe, Server一栏输入 localhost,点击Connect。

3. 电脑B运行peerconnection_client.exe,Server一栏输入电脑A的局域网ip地址,点击Connect。

4. 电脑A或电脑B双击列表框出现的第一个选项, 建立音视频通信。

5. 任意一方可以在中途按ESC键退出音视频通信。

在Windows 10上编译WebRTC可以按照以下步骤进行: 1. 首先,确保你的系统已经安装了Visual Studio。WebRTC在Windows上的编译需要使用Visual Studio环境。 2. 下载depot_tools,它是一个用于下载WebRTC源代码的工具。可以在GitHub上找到depot_tools的源码,并按照文档中的步骤进行安装。 3. 打开命令提示符或PowerShell,并导航到你想要保存WebRTC源代码的文件夹。 4. 使用以下命令克隆WebRTC的代码仓库: ``` git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ``` 5. 添加depot_tools到系统的环境变量中。在命令提示符或PowerShell中,输入以下命令: ``` set PATH=%PATH%;[depot_tools目录的路径] ``` 这将使你能够在任何目录中使用depot_tools中的命令。 6. 使用以下命令下载WebRTC的源代码: ``` fetch --nohooks webrtc ``` 此命令将下载WebRTC的源代码到当前文件夹下的src目录中。 7. 进入src目录,并使用命令执行Hook脚本以获取编译所需的依赖项: ``` cd src gclient runhooks ``` 8. 接下来,根据你的编译需求选择合适的方案,并使用gn生成构建配置文件。 如果你想做一个默认构建,可以使用以下命令: ``` gn gen out/Default ``` 如果你想构建一个调试版本,可以使用以下命令: ``` gn gen out/Debug --args="is_debug=true" ``` 构建配置文件将生成在out/Default或out/Debug目录中。 9. 最后,使用ninja命令来编译WebRTC: ``` ninja -C out/Default ``` 或者,如果你选择了调试版本: ``` ninja -C out/Debug ``` 这将编译WebRTC并生成可执行文件和库文件。 以上是在Windows 10上编译WebRTC的简要步骤。请注意,这只是一个概述,实际操作可能会根据具体环境有所不同。在实际操作中,请根据WebRTC项目的文档和最新的指南进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值