【webrtc】编译webrtc

news2024/11/25 0:36:21

目录

  • 编译webRTC
    • 1.visual studio2019 commity安装
    • 2.安装depot_tools
    • 3.安装ninja
    • 4.设置一下网络
    • 5.glicent
    • 6.拉代码
    • 7.切到我们要的分支上
    • 8.编译
  • 编译mediasoup
    • 1.安装cmake
    • 2.编译libmediasoupclient
    • 3.生成mediasoup
      • 3.1一些报错
    • 3.5 生成socketIO
    • 3.6 生成sdptransform
    • 4.生成rtn-windows
    • 5.生成rtn-windows-demo

编译webRTC

参考链接

1.visual studio2019 commity安装

怎么表现出下面的东西来在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
右键更改,
在这里插入图片描述

在这里插入图片描述

2.安装depot_tools

在这里插入图片描述

3.安装ninja

https://blog.csdn.net/qq_36651243/article/details/115689930

4.设置一下网络

原文链接:https://blog.csdn.net/weixin_40425640/article/details/121945060

git config --global http.proxy 127.0.0.1:10809
git config --global https.proxy 127.0.0.1:10809
netsh winhttp set proxy 127.0.0.1:10809
set HTTP_PROXY=127.0.0.1:10809
set HTTPS_PROXY=127.0.0.1:10809

9不行设置8

如何取消,不取消后期拉公司代码拉不下来了

git config --global --unset https.proxy
git config --global --unset http.proxy
netsh winhttp  reset  proxy

5.glicent

在这里插入图片描述

6.拉代码

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

set vs2019_install=D:\Program Files (x86)\Microsoft Visual Studio\2019\Community
# 如果是VS2017或者VS2022也是类似格式
# set vs2017_install=D:\Program Files (x86)\Microsoft Visual Studio\2017\Community
# set vs2022_install=D:\Program Files (x86)\Microsoft Visual Studio\2022\Community
set GYP_GENERATORS=msvs-ninja,ninja
set WINDOWSSDKDIR=D:\Program Files (x86)\Windows Kits\10
# 告诉depot_tools使用我们本机的VS进行编译
set DEPOT_TOOLS_WIN_TOOLCHAIN=0

在这里插入图片描述

7.切到我们要的分支上

git checkout branch-heads/4606
//同步代码
gclient sync

8.编译

cd src


gn gen --ide=vs2019 out/DefaultEx --args="is_debug=false use_custom_libcxx=false proprietary_codecs=true rtc_use_h264=true ffmpeg_branding=\"Chrome\""

ninja -C out/DefaultEx
一定要和上面一样的
如果报错NOMINMAX啥的,就找到那一行,把define NOMINMAX删掉

取消编译就是

gn clean out/Default

编译mediasoup

mediasoup官网

1.安装cmake

https://cmake.org/

安装方法:https://blog.csdn.net/GenuineMonster/article/details/120261628

2.编译libmediasoupclient

https://mediasoup.org/documentation/v3/libmediasoupclient/installation/

set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
set GYP_MSVS_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
set GYP_MSVS_VERSION=2019

cd F:\05_project\rtn-sdk-windows\libmediasoupclient
// 
cmake . -Bbuild -DLIBWEBRTC_INCLUDE_PATH:PATH=F:\05_project\webrtc-source\src -DLIBWEBRTC_BINARY_PATH:PATH=F:\05_project\webrtc-source\src\out\DefaultEx\obj

注意不能在vsstudio自带的powershell下面执行cmake,要在cmd上执行
在这里插入图片描述

3.生成mediasoup

在这里插入图片描述
右键,生成。
在这里插入图片描述

F:\05_project\rtn-sdk-windows\libmediasoupclient\include
F:\05_project\rtn-sdk-windows\libmediasoupclient\deps\libsdptransform\include
F:\05_project\webrtc-source\src
F:\05_project\webrtc-source\src\third_party\abseil-cpp
%(AdditionalIncludeDirectories)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

%(PreprocessorDefinitions)
NDEBUG
WEBRTC_WIN
CMAKE_INTDIR="RelWithDebInfo"

3.1一些报错

1.catch (std::exception& e) 警告 C4101 “e”: 未引用的局部变量 ,删掉& e
2.非法标记

在这里插入图片描述
这些要挨个改,把std::max括起来(std::max)就可以了只括这些
3.
在这里插入图片描述
忽略掉就可以了
在这里插入图片描述

3.5 生成socketIO

要先下载openssl https://www.cnblogs.com/dingshaohua/p/12271280.html
用下面的方法
在这里插入图片描述

..\include
E:\download\OpenSSL-Win64\include
%(AdditionalIncludeDirectories)

在这里插入图片描述

..\libs\boost
..\libs\socket.io-client
E:\download\OpenSSL-Win64\lib
%(AdditionalLibraryDirectories)

把编译好的结果给rtn-windos替换一下
在这里插入图片描述
RNMGlobalDefine.h Rtn-SocketIO-Module.h改动了这两个文件就需要替换,没改动就不需要替换
lib复制到RTN-SDK-Windows\libs\Rtn-SocketIO-Module
替换到RTN-SDK-Windows\include\Rtn-SocketIO-Module

3.6 生成sdptransform

在这里插入图片描述

在这里插入图片描述

F:\05_project\rtn-sdk-windows\libmediasoupclient\deps\libsdptransform\include
%(AdditionalIncludeDirectories)

4.生成rtn-windows

在这里插入图片描述

..\include
F:\05_project\webrtc-source\src
F:\05_project\webrtc-source\src\third_party\abseil-cpp
F:\05_project\rtn-sdk-windows\libmediasoupclient\include
F:\05_project\rtn-sdk-windows\libmediasoupclient\deps\libsdptransform\include
F:\05_project\webrtc-source\src\third_party\libyuv\include
%(AdditionalIncludeDirectories)

在这里插入图片描述

F:\05_project\rtn-sdk-windows\libmediasoupclient\build\RelWithDebInfo
F:\05_project\webrtc-source\src\out\DefaultEx\obj
..\libs\Rtn-SocketIO-Module
F:\05_project\rtn-sdk-windows\libmediasoupclient\build\libsdptransform\RelWithDebInfo
%(AdditionalLibraryDirectories)

在这里插入图片描述

crypt32.lib
secur32.lib
ws2_32.lib
dmoguids.lib
msdmo.lib
wmcodecdspuuid.lib
amstrmid.lib
strmiids.lib
mfuuid.lib
mf.lib
mfplat.lib
winmm.lib
d3d9.lib
d3d11.lib
dxgi.lib
dxva2.lib
Iphlpapi.lib
urlmon.lib
Rtn-SocketIO-Module.lib
webrtc.lib
sdptransform.lib
mediasoupclient.lib
version.lib

在这里插入图片描述
要下载一下clang-cl,直接在vstudio上搜索,然后把他下载好

然后生成
报错
在这里插入图片描述
这里的clang有问题要看后面输出的报错
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
都改成MT的

5.生成rtn-windows-demo

先安装qt.exe

安装qt-vsaddin-2019.vsix
https://blog.csdn.net/WindSunLike/article/details/103945051

配置qt-vsaddin-2019.vsix
https://blog.csdn.net/c_general/article/details/120385519

会出现QTDIR改不了的情况,找到对应的.user
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MapReduce调优

MapReduce调优 MapReduce应用场景优点缺点擅长应用场景不擅长应用MapReduce优化需求与方向 文件存储格式行式存储、列式存储Sequence File优缺点Sequence File格式Sequence File 未压缩格式Sequence File 基于record压缩格式Sequence File基于block压缩格式生成Sequence File文…

KU地址提供》什么是HTML 标签

HTML 标签 下拉选单- select 单选选单 下拉式选单让使用者可以从一堆选项中选择出一个(或多个)选项【KU地址K͜W͜9㍠N͜E͜T͜娜娜提供】。本身做为选单的容器&#xff0c;在select 里面用标签来建立个别选项。 <select><option value"dog" selected>…

Hardhat 开发框架 - Solidity开发教程连载

Decert.me 要连载教程了&#xff0c; 《Solidity 开发教程》 力求系统、深入的介绍 Solidity 开发&#xff0c; 同时这是一套交互式教程&#xff0c;你可以实时的修改教程里的合约代码并运行。 本教程来自贡献者 Tiny熊&#xff0c;让我们正式开始学习吧。 如果你已经是 Hard…

C++画图(导入matplotlibcpp.h头文件)

QTC 导入matplotlibcpp进行画图 准备工作&#xff1a; 1.下载python、QT 2.配置环境&#xff0c;确保QTc、以及python可以正常运行 步骤&#xff1a; 1.先在QT中导入Python.&#xff48;头文件&#xff0c;详细步骤可见此链接&#xff1a;https://blog.csdn.net/weixin_458669…

跑步课程导入能力,助力科学训练

HUAWEI Health Kit为开发者提供用户自定义的跑步课程导入接口&#xff0c;便于用户在华为运动健康App和华为智能穿戴设备上查看来自生态应用的训练课表&#xff0c;开启科学、适度的运动训练。 跑步课程导入能力支持生态应用在获取用户的华为帐号授权后&#xff0c;将跑步课程…

大学应届生,想转行学云计算,该怎么学,没有基础

大学应届生&#xff0c;想转行学云计算&#xff0c;该怎么学&#xff0c;没有基础 对于大学生来说&#xff0c;毕业立即学习转行是最明智的选择&#xff0c;因为转行要趁早&#xff01;当然前提也需要你自己了解考虑好&#xff0c;是否真的看好云计算行业&#xff0c;要学习哪些…

Spring Boot集成ShardingSphere实现数据加密及数据脱敏 | Spring Cloud 48

一、前言 通过以下系列章节&#xff1a; Spring Boot集成ShardingSphere实现数据分片&#xff08;一&#xff09; | Spring Cloud 40 Spring Boot集成ShardingSphere实现数据分片&#xff08;二&#xff09; | Spring Cloud 41 Spring Boot集成ShardingSphere实现数据分片&…

C++实现AVL树和红黑树(插入部分)

文章目录 前言1.AVL树的相关介绍2.AVL树的旋转1.失衡状态2.旋转调整 3.代码实AVL树1.节点的插入2.插入部分的验证 4.红黑树的相关介绍5.红黑树的插入调整1.处理方式2.代码实现 6.红黑树的检查7.总结 前言 之前介绍了二叉搜索树&#xff0c;本文主要是对AVL树和红黑树进行介绍。…

中国人民大学与加拿大女王大学金融硕士任晋红:热血中年

任晋红 中国人民大学-加拿大女王大学金融硕士 2021-2022级行业高管班 丰汇租赁有限公司 租赁事业部总经理 2021年9月初的一个傍晚&#xff0c;日暮四合&#xff0c;风轻轻亲了一下叶子&#xff0c;晚霞看见了&#xff0c;悄悄红了脸。线下上课时&#xff0c;窗外的晚霞是最美…

如何使用ADAudit Plus增强你的网络安全措施

网络安全是当今社会中至关重要的话题&#xff0c;因为互联网在我们生活中扮演着越来越重要的角色&#xff0c;人们对网络的依赖程度也越来越高。在这种情况下&#xff0c;网络内部安全威胁也变得越来越普遍。本文将介绍ADAudit Plus&#xff0c;它是一种用于检测和防范网络内部…

【RS专题】eval层混淆和逻辑完整分析 - 扣代码终结篇

如有侵权、联系本人下架 首先明确一下目标,我们要先获取网页200的源代码,RS5代第一次响应为412,第二次为200。如果是200就表示正常 以下为某 yjj RS5请求成功的结果,具体流程请看完文章,源-码–答-案也会在末 尾公 布 前面是定义了非常多和函数,一直往下拉,直到出现v…

游戏开发需要具备哪些技术

游戏开发需要具备哪些技术 大家好我是艾西&#xff0c;今天跟大家闲聊一下。开发一款游戏在没有参照物或是底板的情况下开发一款游戏都需要具备哪些技术&#xff0c;在开发过程中我们又会涉及到哪些板块或是领域。 一款游戏的开发需要一个总的游戏策划人&#xff0c;为游戏编写…

起重机安装拆除安全技术规范

为贯彻安全第一、预防为主、综合治理的方针&#xff0c;确保塔式起重机在安装、使用、拆卸时的安全&#xff0c;制定本规程。 本规程适用于房屋建筑工程、市政工程所用塔式起重机的安装、使用和拆卸。 本规程规定了塔式起重机的安装、使用和拆卸的基本技术要求。当本规程与国…

一些注意事项

1&#xff1a;Collection 子接口 1&#xff1a;List 鉴于 Java 中数组用来存储数据的局限性&#xff0c;我们通常使用 java.util.List 替代数组 List 集合类中元素有序、且可重复&#xff0c;集合中的每个元素都有其对应的顺序索引 1.1 List 接口主要实现类&#xff1a;Arra…

历经3个月,二战华为成功上岸,要个27k应该不过分吧~

先说下我基本情况&#xff0c;本科不是计算机专业&#xff0c;现在是学通信&#xff0c;然后做图像处理&#xff0c;可能面试官看我不是科班出身没有问太多计算机相关的问题&#xff0c;因为第一次找工作&#xff0c;华为的游戏专场又是最早开始的&#xff0c;就投递了&#xf…

嵌入式五大通信协议详解 (一) UART

嵌入式C语言学习进阶系列文章 GUN C编译器拓展语法学习笔记(一&#xff09;GNU C特殊语法部分详解 GUN C编译器拓展语法学习笔记(二&#xff09;属性声明 GUN C编译器拓展语法学习笔记(三&#xff09;内联函数、内建函数与可变参数宏 数组存储与指针学习笔记(一&#xff09;数…

Spring MVC 和 WebFlux 上传文件

WebFlux 上传文件 1. 表单上传方式1.1 Spring MVC1.2 Spring WebFlux 2. 二进制流2.1 Spring MVC2.2 Spring WebFlux 开发环境&#xff1a;jdk 11 WebFlux&#xff1a;jdk 8 1. 表单上传方式 1.1 Spring MVC multipart大小限制 spring:servlet:multipart:max-file-size: 512…

IS220PPRFH1B输电线路的先导继电器保护

​ IS220PPRFH1B输电线路的先导继电器保护 导引线差动继电器是专为保护配电线路和输电线路而设计的高速继电器&#xff0c;主要用于40公里以内的短线路。它是开关设备继电器中速度最快的功率继电器&#xff0c;该方案的工作需要通信通道&#xff0c;以便它可以将系统电压和电流…

2023.05.11-使用纯CPU来运行RWKV大语言模型

1. 简介 使用CPU来运行C版本的RWKV rwkv.cpp 可以将 RWKV 原始模型的参数转化为 float16&#xff0c;并量化到 int4&#xff0c;可以在 CPU 上更快地运行&#xff0c;也可以节省更多的内存。 2. 下载项目 ## git clone --recursive https://github.com/saharNooby/rwkv.cpp…

PostgreSQL11 | 视图

上一篇讲了索引&#xff0c;索引提高了表查询的速度&#xff0c;这一篇讲视图。 视图 视图&#xff0c;数据库中的一个虚拟表。 目录 视图 视图概述 前期准备 创建视图 单表视图 多表视图 查询视图 删除视图 视图概述 视图同真实表一样具有表的功能&#xff0c;但是…