我是靠谱客的博主 爱笑蜻蜓,最近开发中收集的这篇文章主要介绍webrtc学习--webrtc源码获取,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 前言
    • webrtc下载编译
      • 正常编译webrtc
      • 获取对应的版本
        • 获取对应的版本,下面以获取m98版本为例
      • webrtc对应的版本的地址,需要翻墙才能查看
      • 编译记录
      • peerconnection_client时序图
        • 一对一通话时序图
    • 代码下载
    • 参考博客

前言

推荐一个零声学院免费教程,个人觉得老师讲得不错,
分享给大家:[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 FilesMicrosoft Visual Studio2022Enterprise" #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 outDefault
# 编译生成
ninja -C outDefault

获取对应的版本

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编译(持续更新)

最后

以上就是爱笑蜻蜓为你收集整理的webrtc学习--webrtc源码获取的全部内容,希望文章能够帮你解决webrtc学习--webrtc源码获取所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部