WebRTC源码下载与编译

WebRTC源码下载与编译,第1张

WebRTC源码编译
  • 1 几种源码下载方案对比
    • 1.1 拉别人下好的代码
    • 1.2云服务器
    • 1.3 国内镜像
    • 1.4 挂代理(推荐)
  • 2 源码编译环境准备
    • 2.1 环境要求
    • 2.2 代理服务器配置
    • 2.3 VS和Win10SDK安装配置
    • 2.4 depot_tools安装
  • 3 WebRTC源码下载与编译
    • 3.1源码下载
    • 3.2源码编译
  • 参考资料

1 几种源码下载方案对比

一共四种方法,除了云服务器没试之外把能踩的坑都踩了一遍,最后使用的是挂代理的方法,这种方法是效率最高的。

1.1 拉别人下好的代码

最快,但是遇到问题不好解决。一开始直接拉了别人的百度网盘拉下来的代码,编译报错,错误在网上搜不到,分析了半天也没解决,只能放弃。

1.2云服务器

这种方法看别人成功了,但是云服务器得买国外的就不会被墙了,而且云服务器 *** 作不太方便,如果看代码的话都得在云服务器上面,花费略高。

1.3 国内镜像

国内都是对代码做了镜像,很多依赖库还是得挂代理,还要替换git仓库地址, *** 作复杂。而且 *** 作了半天还是失败了,应该是之前用的代理服务器不靠谱,依赖不完整。

1.4 挂代理(推荐)

这种方式最省心,我用的IGuGe扩展加Clash,很稳定,一遍就成功了,IGuGe是付费的,18块钱一个月,在晚上测试的时候可以把带宽跑满,大概拉了二十分钟就拉完了,代码完整无异常。

2 源码编译环境准备 2.1 环境要求
  • WebRTC要求是 64位机器 8G 内存。
  • 至少 100G 磁盘空间,NTFS格式。
  • 用一台干净的机器来编译WebRTC,安装过python的会出现一些非常棘手的问题,安装depot_tools会安装python,把原来机子上的python删掉最好,这样能确保一遍成功。
  • *** 作系统我用的是win10,win11没试过。
  • 安装visual studio,社区版即可,我用的是VS2022,安装路径务必选C盘。
  • 安装win10SDK,并安装“Debugging Tools For Windows”。
2.2 代理服务器配置

在edge的扩展里搜索iGG谷歌学术助手,安装完以后登录账号打开,点击“客户端下载与订阅“。然后下载Clash Windows客户端,在Clash配置选项中,将IGG配置与订阅中的Clash订阅码粘贴到URL空白里然后点击下载就可以在客户端中使用了。节点会自动选择,不需要自己配置。

然后右键点击Clash的系统托盘图标,确保开启了系统代理和全局模式。
查看代理是否已开启,记住端口号。

打开谷歌或者youtube测试一下,如果访问ok的话代理就设置成功了。

2.3 VS和Win10SDK安装配置

我的VS配置如下图所示
关于Win10SDK的版本问题,之前安装的时候只勾选了19041版本的,没有勾选18042,执行ninja命令报错unknow type name,后来看了别人的博客,把几个SDK都装了就没问题了,我把18042装上以后就不报错了,应该是SDK的版本问题,多装一些没事,装少了报的错误莫名其妙的,错一点点都编译不起来,真的是给搞怕了,比ffmpeg难编多了。

2.4 depot_tools安装

depot_tools就是一堆下载代码,编译等相关的工具,Google统一打包在 depot_tools中,你需将它下载到本地。这里需要注意,完整的depot_tools大概1个G左右,有的人给的depot_tools压缩包不完整,还需要执行gclient才能获得完整的depot_tools,执行gclient也需要代理服务器,前面我们已经配置了代理服务器,这一步我们直接从git上面拉取即可。完整的depot_tools工具安装方式如下。

  • 1.安装git并获取depot_tools
    git的配置就不解释了,在windows下面把git配置好就行了。配置完毕以后新建一个文件夹,在当前目录下执行
    cmd命令行执行:
    set http_proxy=127.0.0.1:xxxx;(xxxx为你的代理服务器的端口号)
    set https_proxy=127.0.0.1:xxxx
    git bash里执行:
    export http_proxy=127.0.0.1:xxxx;
    export https_proxy=127.0.0.1:xxxx
    然后再执行
    git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    depot_tools目录如下所示
  • 2.配置depot_tools 环境变量


将depot_tools目录添加到环境变量,并且配置DEPOTTOOLSWIN_TOOLCHAIN为0,这个变量配置后,gclient sync会下载buildtools。配置完成记得重启让环境变量生效。

  • 3.执行一下gclient,安装Windows下所需的工具
    重启完成后,在cmd中执行gclient,等待下载,挂了代理的话这一步是不会报错的,下载完成后执行一下gclient,如图所示就是成功了。
3 WebRTC源码下载与编译 3.1源码下载

先创建一个文件夹,再执行fetch命令

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

执行完是这样的

3.2源码编译

代码下载完以后就开始编译源码,先cd到src文件夹中,再执行

$ cd src
$ gn gen out/Default
$ ninja -C out/Default

执行完ninja命令后我们就可以在 src\out\Default\ 目录下找到 all.sln 这个工程文件,到这里我们就完成编译了。

参考资料

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/791879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存