Open WebRTC Toolkit Native SDK Windows环境编译

news2024/12/23 14:49:28

1、首先按照编译webrtc原生代码环境,配置系统环境

https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.mdhttps://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md      安装openssl软件/source/index.htmlhttps://www.openssl.org/source/

     也可以自己下载安装包安装(但是要收费)

Binaries - OpenSSLWikihttps://wiki.openssl.org/index.php/Binaries 

2、在github上下载Open WebRTC Toolkit源码。

https://github.com/open-webrtc-toolkit/owt-client-nativehttps://github.com/open-webrtc-toolkit/owt-client-native

3、这里注意需要修改源码目录名称,因为不同分支上的描述有点不一上。拉取代码之后git clone https://github.com/open-webrtc-toolkit/owt-client-native.git,源码文件如果没设置目录名的话,源码是在名为owt-client-native,这里需要将owt-client-native重命名为src。

4、需要在src源码路径下,增加一个.gclient文件,文件内容如下:

solutions = [
  {
     "managed": False,
     "name": "src",
     "url": "https://github.com/open-webrtc-toolkit/owt-client-native.git",
     "custom_deps": {},
     "deps_file": "DEPS",
     "safesync_url": "",
  },
]
target_os = []

5、调用VsDevCmd.bat文件under ..\Microsoft Visual Studio\2019\Professional\Common7\Tools

6、cd到src路径, Run gclient sync

 7、执行调用python编译命令行

python build-win.py --arch=x64 --scheme=release --gn_gen --sdk --ssl_root D:\openssl-3.0.7  --msdk_root D:\code\src\msdk  --output_path D:\code\src\output

build-win.py脚本的核心函数是:

 subprocess.call实际上执行的就是:gn gen out/Release --args="target_os=\"win\" target_cpu=\"x64\" is_component_build=false rtc_enable_protobuf=true rtc_use_h264=true rtc_initialize_ffmpeg=true ffmpeg_branding=\"Chrome\" rtc_include_tests=false is_debug=false " --ide=vs2015

这个gn的编译脚本,只是用python脚本自动生成输入参数。

若没有下载对应的第三方软件,这里可以将对应开关关闭。

GN_ARGS = [
    'rtc_use_h264=false',
    'ffmpeg_branding="Chrome"',
    'rtc_use_h265=false',
    'is_component_build=false',
    'use_lld=false',
    'enable_libaom=true',
    'rtc_build_examples=false',
    'treat_warnings_as_errors=false',
    ]


 

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

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

相关文章

MODBUS协议下,能否实现MCGS触摸屏与FX5U之间无线通讯?

在工厂里,触摸屏往往位于程控室内,作为控制多个不同位置PLC的主站设备。因为触摸屏和plc所处位置距离较为分散,重新铺设电缆线工期长,成本高,故采用无线方式解决触摸屏与PLC之间的通讯问题。 一、方案概述 本方案是M…

年底了,准备跳槽的可以看看

前两天跟朋友感慨,今年的铜九铁十、裁员、疫情导致好多人都没拿到offer!现在已经12月了,具体明年的金三银四只剩下两个月。 对于想跳槽的职场人来说,绝对要从现在开始做准备了。这时候,很多高薪技术岗、管理岗的缺口和市场需求也…

【Linux03-基本工具之VIM】Linux下的强大编辑器(附软件生态与yum)

前言 本期分享6个Linux中常用的基本工具,以确保后续的学习能够进行。 零、软件生态与yum 抛出一个问题:软件的下载? 具体拆分 软件从哪里下?软件由谁提供?怎么下载? 软件,肯定不在本地&am…

RabbitMQ死信队列、延时队列

介绍: 消息被消费⽅否定确认,使⽤ channel.basicNack 或 channel.basicReject ,并且此时 requeue 属性被设置为 false 。消息在队列的存活时间超过设置的TTL时间。消息队列的消息数量已经超过最⼤队列⻓度。那么该消息将成为“死信”。“死信…

Espresso Sequencer:去中心化Rollups

1. 引言 前序博客有: HyperPlonk——实现zkEVM的一种zk-proof system Espresso Systems团队致力于为Web3世界开发工具和基础设施。 Espresso Sequencer:为在不牺牲扩展性和速度的情况下,实现的去中心化rollups系统,兼具Web2的性…

[附源码]计算机毕业设计springboot软考刷题小程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

MAC层协议总结

一、现存问题 广播网络存在问题 当信道的使用存在竞争时,如何分配信道的使用权----->如一个人停止讲话,另外可能两个或多个人同时讲话,当只有单个信道时,怎么决定下一个讲话的人?------>为了解决这个问题&#…

JavaCV音视频开发宝典:rtsp转推到rtp(非TS流方式),及使用TS流发送解决sdp缺失问题

《JavaCV音视频开发宝典》专栏目录导航 《JavaCV音视频开发宝典》专栏介绍和目录 前言 在之前的文章中,由于忘记介绍使用的rtp推流方式都是TS流方式,RTP方式推流没讲,本章作为之前文章(JavaCV音视频开发宝典:rtsp拉流并使用转码方式转推到rtp)的补充。 注意:本文不需要…

Spring MVC Formatter(数据格式化)详解

Spring MVC 框架的 Formatter 与 Converter 一样,也是一个可以将一种数据类型转换成另一种数据类型的接口。不同的是,Formatter 的源数据类型必须是 String 类型,而 Converter 的源数据类型是任意数据类型。 在 Web 应用中由 HTTP 发送的请求…

keychron矮轴无线机械键盘简直就是yyds

一、背景 日常生活中,我们都离不开键盘,游戏党打游戏要键盘, 工作人员无论使用台式电脑还是笔记本操作都离不开键盘,尤其程序员这一族,键盘简直就是敲代码的灵魂。随着经济和科技飞速发展,我们早已不在像从…

[附源码]Python计算机毕业设计Django电子相册管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

公共建筑节能大数据应用进展

3月26日|清华大学建筑节能学术周——公共建筑节能—工程实践助力实现双碳目标 【3月26日公开论坛】公共建筑节能 – 工程实践助力实现双碳目标 公共建筑节能大数据应用进展 建筑用能负荷受到气象条件、建筑围护结构、设备系统、人行为等多重因素耦合影响&#xff…

C语言 结构体

C语言 结构体一、结构体的声明和初始化1. 结构体声明2. 结构体初始化二、typedef 重定义结构体三、结构体成员的类型四、结构体成员的访问五、结构体传参六、结构体的自引用七、结构体的内存对齐对齐规则程序清单1程序清单2程序清单3程序清单4修改默认对齐数一、结构体的声明和…

nvcc编译器之设备和主机独立编译(chapter 6)

目录 6. CUDA中的独立编译 6.1 单独编译时的代码改动 6.2 nvcc独立编译选项 6.3 库 6.4 示例 6.5 分布编译优化 6.6 独立编译的潜在问题 6. CUDA中的独立编译 在5.0版本之前,CUDA不支持分开编译,因此CUDA代码不能访问跨文件(编译单元&…

挂耳式耳机品牌排行榜,五款目前排行靠前的耳机分享

耳机传声的方式无非就是空气传播以及骨骼传播,而骨传导耳机就属后者,通过骨骼震动来完成声波的传递,在传递的过程无需经过外耳道和鼓膜,在一定程度上缓解了对耳道造成的损伤,减少对于耳道的负担,看到这里如…

OSI参考模型个人总结

附:参考模型 OSI参考模型 基于国际标准化组织ISO的建议,作为各种层上使用的协议国际标准化的第一步发展起来的,被称作ISO开放系统互联参考模型(open system interconnection refertence model),简称为OSI模…

[附源码]Python计算机毕业设计Django高校后勤保障系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

【解决问题】413错误 413 Request Entity Too Large 接口返回413 报413nginx

文章目录问题排查解决方案1、修改nginx配置文件nginx.conf2、更新完成后需要重启nginx3、其他可能性博客背景:JAVA项目,前端想弄个便捷富文本,直接很多图片转base64编码直接存库了。字段为longtext类型。这种问题通常是在使用http请求对象太大…

python实现中缀表达式转后缀表达式

前缀、中缀、后缀表达式(逆波兰表达式) 前缀表达式称为波兰表达式,前缀表达式的运算符位于操作符之前 举例说明:(34)x 5 – 6 对应的前缀表达式就是- X 3 4 5 6 中缀表达式转为后缀表达式: …

概率论与数理统计——事件间的关系

包含 事件A发生必然导致事件B发生。 代数中经常用这种方法证明两个事件相等。 事件的并(和) A与B至少有一个发生 事件的交(积) A与B同时发生 无限可列个:能按某种规律能把他排成一个序列(实变函数…