搜索
 找回密码
 立即注册

WebRTC源码下载与编译

音视频开发进阶 2022-11-24 16:28:53 355

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空白里然后点击下载就可以在客户端中使用了。节点会自动选择,不需要自己配置。

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

什么是WebRTC|WebRTC入门到精通必看|快速学会音视频通话原理|WebRTC超全资料分享FFmpeg/rtmp/hls/rtsp/SRS_哔哩哔哩_bilibili**www.bilibili.com/video/BV1rP411G7dQ/?share_source=copy_web&vd_source=1d37244df5a3adf4b92a8a5e5ed4abeb**

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://link.zhihu.com/?target=https%3A//blog.csdn.net/wugebucuo/article/details/124437234%3Fops_request_misc%3D%25257B%252522request%25255Fid%252522%25253A%252522166927777316800180633196%252522%25252C%252522scm%252522%25253A%25252220140713.130102334..%252522%25257D%26request_id%3D166927777316800180633196%26biz_id%3D0%26utm_medium%3Ddistribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-124437234-null-null.142%255Ev66%255Econtrol%2C201%255Ev3%255Eadd_ask%2C213%255Ev2%255Et3_esquery_v2%26utm_term%3DWebRTC%25E4%25B8%258B%25E8%25BD%25BD%25E5%2592%258C%25E7%25BC%2596%25E8%25AF%2591%26spm%3D1018.2226.3001.4187)

使用道具 举报

随机推荐

0 回复

游客
返回顶部