webrtc学习--webrtc源码获取

前言

推荐一个零声学院免费教程,个人觉得老师讲得不错,
分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容,点击立即学习:

webrtc下载编译

正常编译webrtc

# 运行 cmd 窗口
# 设置代理
set http_proxy=http://127.0.0.1:1080
set https_proxy=http://127.0.0.1:1080
# 下载depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 
# https://storage.googleapis.com/chrome-infra/depot_tools.zip 直接下载
# 将depot_tools 路径加入path中
set DEPOT_TOOLS_UPDATE=0 # 不更新depot_tools
set DEPOT_TOOLS_WIN_TOOLCHAIN=0 #编译时使用本机VS工具链
set GYP_MSVS_VERSION = 2022 #指定VS版本
set GYP_MSVS_OVERRIDE_PATH = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" #vs安装路径,替换成自己的
set GYP_GENERATORS=msvs-ninja,ninja #使用ninja编译
md webrtc-checkout
#进入到创建的目录中
cd webrtc-checkout 
#获取代码,这一步会花很长的时间,一般会失败
fetch --nohooks webrtc 
# 当过程中断时(包括上一步的失败),我们可以使用该命令恢复并继续
gclient sync 
# 遇到代理错误,需要新建一个文件.boto
# 新建文件.boto内容为
[Boto]
proxy=127.0.0.1
proxy_port=1080
# 存放至webrtc-checkout目录
# 并配置环境变量:NO_AUTH_BOTO_CONFIG=.\.boto
set NO_AUTH_BOTO_CONFIG=.\.boto
# 生成解决方案
gn gen out\Default
# 编译生成
ninja -C out\Default

获取对应的版本

webrtc 弄人下载最新版本,这里,可能需要获取一个稳定版本(正常情况下,会找一个固定版本学习,使用) 需要先更新到最新的版本,然后再切换到对应的版本上 版本对应的地址:https://chromiumdash.appspot.com/branches,需要代理

获取对应的版本,下面以获取m98版本为例
git checkout -b m98 refs/remotes/branch-heads/4758
gclient sync

目前,我已将对应的depot_tools 的工具上传到CSDN上下载地址
这个只要直接下载,windows下下载下来,加入环境变量就可以直接使用了。
如果不能翻墙的朋友,可以直接通过git下载 https://gitee.com/BigPig0/webrtc_vs2022.git,结合我上传的depot_tools ,就能正常的在windows下编译使用webrtc了。
此链接下载下来,jsoncpp source 部分缺失,补上就可以了。
我自己下载的m98版本的webrtc源码
在这里插入图片描述
下面是编译
在这里插入图片描述

webrtc对应的版本的地址,需要翻墙才能查看

https://chromiumdash.appspot.com/branches
在这里插入图片描述

编译记录

编译webrtc会遇到很多的问题,需要不断的去查找和解决各个问题。目前,工作和学习上需要使用到webrtc。所以就下载了一遍wenrtc。并记录
下来了。这样有助于学习和了解webrtc。下一章节,开始来学习一下webrtc源码。获取一个固定版本的好处是,虽然webrtc代码在不断的迭代,
但是基本功能和结构变化不大。这样的话,可以很好的深入的去学习webrtc源码。

peerconnection_client时序图

一对一通话时序图
PeerA signal_server stun/turn server PeerB connect connect Create PeerConnection Add Streams Create Offer setLocalDescription bind request send SDP Offer relay SDP Offer Create PeerConnection Add Streams setRemoteDescription Create Answer setLocalDescription send SDP Answer relay SDP Answer bind request setRemoteDescription ask my ip address onIceCandidate send candidate relay candidate add ice candidate ask my ip address onIceCandidate send candidate relay candidate P2P Channel onAddStreams loop [P2P] PeerA signal_server stun/turn server PeerB

代码下载

https://cloud.189.cn/web/share?code=EvMbmanMb26n(访问码:bo7p)

参考博客

WebRTC笔记之二:编译(2021年3月更新)
在Ubuntu上为Android构建WebRTC时出错
WebRTC源码下载和编译
Windows平台WebRTC编译(持续更新)

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值