Win10+vs2017 webrtc下载和编译

2023-11-16

现在使用webrtc的小伙伴越来越多,我也来凑凑热闹,第一步自然是下载源码,其实官网上面写的还是蛮详细的,只是环境搭建稍稍复杂了点,再加上国内不能访问google,所以简单的事情就变得复杂起来。我就按照官网上面的流程给大家简单介绍下,具体细节可以参考https://webrtc.org/native-code/development/,当然前提条件是你可以访问google。

1、vs2017安装

我使用的是Visual studio community 2017-15.9.9版本,需要安装“使用C++的桌面开发”、“Visual Studio扩展开发”,需要注意的是win10 SDK,至少需要10.0.17134.0版本,否则会出现问题。

增加环境变量: GYP_MSVS_VERSION=2017,用于设置vs版本

注意:需要安装sdk 调试工具: Control Panel → Programs → Programs and Features → Select the “Windows Software Development Kit” v17134 → Change → Change → Check “Debugging Tools For Windows” → Change。

2、安装depot tools

下载地址:http://dev.chromium.org/developers/how-tos/install-depot-tools,解压之后不要拷贝和移动,否则会影响.git文件夹,记得设置环境变量将depot_tools放在最前面。设置环境变量:DEPOT_TOOLS_WIN_TOOLCHAIN=0,告诉depot使用本地的vs,然后打开cmd运行gclient,会自动下载安装很多东西,如python,mysisgit。(如果无法下载,你也可以手动安装python2.7和git)

注意:depot内部自带了python2.7版本,如果电脑已经安装了其他版本的python,可能会存在冲突,导致编译出现问题,实在不行就自行下载python2.7 x64版本,重新安装一遍。

3、配置Git

如果没有git的话,就网上下载一下,再打开git bash配置即可
$ git config --global user.name "My Name"
$ git config --global user.email "my-name@chromium.org"
$ git config --global core.autocrlf false
$ git config --global core.filemode false
$ git config --global branch.autosetuprebase always

4、设置代理

为了让depot可以正常下载和编译源码,需要设置代理,

1)打开git bash在窗口中输入(端口号由你使用的代理服务器决定,可以在“网络和Internet设置”--“代理”中查询):

set http_proxy=127.0.0.1:1080

set https_proxy=127.0.0.1:1080

或者偷懒点的话可以设置环境变量:

http_proxy=127.0.0.1:1080

https_proxy=127.0.0.1:1080

2)网上还有的说法是在depot_tools文件夹下新建http_proxy.boto并输入代理和端口:

[Boto]

proxy= 127.0.0.1

proxy_port= 1080

打开git bash在窗口中输入

set NO_AUTH_BOTO_CONFIG=F:\depot_tools\http_proxy.boto(具体路径看你自己的情况)

或者偷懒点的话可以设置环境变量:

NO_AUTH_BOTO_CONFIG=F:\depot_tools\http_proxy.boto

具体哪种更好用,我也不确定,保险起见都加总是没错的。

5、获取并编译webrtc源码

增加环境变量(或者每次在窗口中设置应该也可以吧):

GYP_GENERATORS=msvs-ninja,ninja

源码获取可以参考 https://webrtc.org/native-code/development/,上面写的很详细,下载中断时可以通过gclient sync命令继续,源码大概有4G,时间会很长,做好心理准备。

mkdir webrtc-checkout

cd webrtc-checkout

fetch --nohooks webrtc

gclient sync

用gn编译生成ninja解决方案:

cd src

gn gen out/Default --ide=vs2017

编译ninja工程:

ninja -C out/Default

最后编译完成居然有20G

 

6、测试

使用vs2017打开,本来准备重新编译一下,但是报了如下错误,推荐还是用ninja进行编译,vs只是用来debug的。

使用out/Default文件夹下面的peerconnection做音视频的测试:

1)在电脑A上打开peerconnection_server.exe

2)在电脑A上打开peerconnection_client.exe,输入电脑A的ip

3)在电脑B上打开peerconnection_client.exe,输入电脑A的ip,在“List of currently connected peers:”中选择电脑A

6、总结

大家可以自行测试,或者用我编译好的webrtc(应该是m72版本的)

【webrtc资源 链接: https://pan.baidu.com/s/1Tpngswj_SRNQnwLCABBbqQ 提取码: lc6d 】

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Win10+vs2017 webrtc下载和编译 的相关文章

  • coturn STUN 请求在本地工作,但不适用于远程连接

    我已成功向 coturn 服务器发出 TURN 请求 https github com coturn coturn https github com coturn coturn 但在执行 STUN 请求时失败 如果我尝试从运行服务器的同一台
  • 具有预编码 H.264 视频流的 Android WebRTC 客户端

    我有一个发送 H 264 编码视频字节的视频流源 我想使用 Android 的 WebRTC 类构建一个应用程序 将此视频流发送到 WebRTC 对等点 这些内置类似乎只支持原始视频源 而不支持已由编解码器处理的视频 我只需要创建仅包含一种
  • org.webrtc.RTCPeerConnection 无法将视频发布到服务器

    我使用 webrtc 在会议中发送和获取视频 子主视频正常显示 但问题是视频没有发布到服务器 我检查方法 setlocalDescription 没有返回错误 这是我的sdp 有人可以帮忙吗 我搜索了很多解决方案 但我仍然不知道我的问题 我
  • Android WebRTC 中的本地视频渲染器

    我正在使用这个库 https bintray com google webrtc google webrtc https bintray com google webrtc google webrtc 我想要实现的目标 至少在我的项目开始时
  • 通过 websocket 的 SIP 到真正的 SIP

    我正在尝试实现一个 sip 服务器用于从HTMLsip客户端 使用sipml5制作 在我研究这样做的过程中 我遇到了 sip over web sockets 这可能对我有用 但是 我不确定用户代理是否通过 sip over 连接web s
  • WebRTC:对多个对等连接使用相同的 SDP?

    是否可以在多个对等连接中使用相同的 SDP 我正在使用 WebRTC 构建视频会议 这个想法是 呼叫者使用某种信令机制 使用其 SDP 每个用户相同的 SDP 向所有其他用户发送广播消息 然后用户将使用其 SDP 进行响应 当用户收到某人的
  • 如何与本机桌面 (win) 应用程序建立对等连接

    我需要与本机桌面 win 应用程序和网络浏览器建立对等连接 只是为了传输原始数据 从理论上讲 WebRTC 似乎是实现这一目标的唯一方法 如果您想使用 WebRTC 在浏览器和桌面之间交换数据 您可以使用此库将桌面部分编码为 C 语言 ht
  • 将 WebRTC 与 WebWorker 结合使用

    我有兴趣将 webrtc 与 webworker 一起使用 是否可以 我尝试了 但没有成功 因为它没有找到 窗口 根据规格 1 https w3c github io mediacapture main dom navigator 2 ht
  • WebRTC - 禁用所有音频处理

    我目前正在尝试通过 webrtc 获得尽可能干净的音频通道 通过 getUserMedia mediaconstraints 对象 我设置了以下选项 constraints audio mandatory echoCancellation
  • webrtc如何选择输入视频设备?

    我正在研究webRTC应用程序 我参考的是这个软件 apprtc https code google com p webrtc source browse trunk samples js apprtc https code google
  • 在 iOS 上读取实时摄像头流的 getUserMedia() 替代方案?

    我们正在使用 QuaggaJS 构建一个移动条形码扫描仪 它可以直接从设备的摄像头流中读取条形码 在桌面 Android 上运行良好 但在 iOS 上根本不起作用 从最初的研究来看 我发现 iOS 根本不支持 WebRTC getUserM
  • 部署站点后,我无权访问 navigator.mediaDevices。我该如何解决?

    我目前正在尝试使用 WebRTC api 并让一切在本地运行 当我部署到surge sh我无法访问navigator mediaDevices目的 我该如何解决这个问题 以下代码行是我遇到问题的地方 const stream await n
  • SignalR WebRTC WebSocket 已处于 CLOSING 或 CLOSED 状态

    我想测试运行 SignalR 和 WebRTC 的最简单实现 我将代码托管在https github com foyzulkarim WebRtc https github com foyzulkarim WebRtc 我制作了两个不同的文
  • 我需要 TURN 服务器吗?

    在什么情况下我应该使用 TURN 服务器 现在我有一个运行完美的 WebRTC 应用程序 该应用程序即将发布 我是否需要设置自己的 TURN 服务器 或者可能仅适用于主要应用程序 WebRTC 可以通过多种方式进行连接 并且当它在第一个选择
  • 如何在 Android webRTC 上启用 H264

    如何在 Android WebRTC 上启用 H264 PeerConnection to createOfferSDP中没有h264描述 由于某种原因 Google 默认会阻止他们自己的软件编解码器 因此 如果您的芯片组中没有硬件解码 或
  • 为什么turn服务器不支持tcp连接?

    我是 WebRTC 新手 我需要为我的 webrtc 应用程序配置我自己的 Turn 服务器 我使用以下命令安装了我的转弯服务器 apt get install coturn 我只需要通过 tcp 运行转变服务器 它不必使用 UDP 进行任
  • webrtc - 视频出现斑点,但它仍然是黑色的

    我使用 chrome 21 运行我的 webrtc 代码 如果我在同一个 chrome 中打开两个选项卡 然后打开其中包含 webrtc 代码的页面 一个选项卡用于发送视频流 一个选项卡用于接收视频流 效果很好 但是 如果我使用两种隐身模式
  • 使用 WebRTC 构建 iOS 本机应用程序

    我找了4天了 还是没找到 我构建了所有库并将其集成到我的自定义项目中 但我不知道应该采取哪些步骤才能使其正常工作 我在代码示例 解释中发现的唯一内容是 tech appear in 2015 05 25 Getting started wi
  • 错误类型 3 - 活动类不存在

    我正在尝试运行 webRTC 应用程序 但返回以下错误 启动应用程序 com onlinevoicecallapp com onlinevoicecallapp MainActivity 设备外壳命令 am start n com onli
  • Webrtc 重新协商,Firefox 到 Chrome,反之亦然,不更新流

    我已经成功建立对等连接 但我无法在 Chrome Firefox 上进行正确的重新协商 我已按照重新协商的步骤 将相机 视频更改为屏幕共享时 更新流 曲目 添加 删除 Changer 这击中了需要谈判 改变者 创建报价 更改者 设置本地描述

随机推荐

  • VMware16虚拟机安装及配置(保姆级教程),这一篇就够了

    1 虚拟机VMware的下载官网地址 https www vmware com cn html VMware 安装 1 打开下载好的 exe 文件 即可开始安装 2 点击下一步 3先勾选我接受许可协议中的条款 然后点击下一步 4 自定义安装
  • 05-----撤销add,commit,push的方法(包括如何删除已经push到远程库的单个文件或者文件夹)

    1 撤销add添加的多余文件 git reset filename 撤销add到缓冲区的部分文件 2 撤销commit的多余文件 git log 先使用查看已经提交的commitId节点 git reset commit id 回退到上一个
  • 为什么我选用了springcloud而不是dubbo

    写好的代码越来越满足不了需求 因为需求总是在不断的变化 在技术选型时 实在是心有余而力不足 思来想去 就考虑了使用微服务架构来实现 功能模块化 今天主要讲讲为什么需要微服务架构 还是以故事的形式呈现 一 认识微服务 阶段一 单体服务 话说小
  • C语言密码破译

    请用C语言编程序将 China 译成密码 密码规律是 用原来的字母后面第4个字母代替原来的字母 例如 字母 A 后面第4个字母是 E 用 E 代替 A 因此 China 应译为 Glmre 请编一程序 用赋初值的方法使 cl c2 c3 c
  • IntelliJ IDEA(编码篇):集成Junit4插件,快速生成测试类

    目录 安装JUnitGenerator V2 0 修改JUnitGenerator V2 0的配置 生成JUnit4测试用例 注意 安装JUnitGenerator V2 0 1 通过网络安装 如下 2 手动下载插件安装 插件下载 http
  • 全网最简单解决方式1045-Access denied for user root@localhost(using password:YES)

    最近 Javaweb小学期 和 数据库小学期 答辩 极限赶大作业 唉 1045 Access denied for user root localhost using password YES 连接数据库时出现了这个问题 网上大概有3种解决
  • React Hooks:Effect无限回调踩坑

    场景 我的目的是通过Effect来模拟组件的componentDidMount 在渲染完成之后 通过setTimeout来处理操作 向keyIndex中push一个新的元素 并更新keyIndex 但是这个操作我确定只会执行一次 错误代码如
  • a和ajax跳转页面,ajax 页面跳转

    ajax 页面跳转 内容精选 换一换 面包屑组件 是项目中常用的一种组件 结构大致是 首页 菜单1 菜单2 菜单3 接入配置完成后 伙伴可以在能力开放页面配置伙伴平台回跳地址 以便于客户在完成订单支付后能返回到伙伴销售平台或者客户支付订单需
  • 适合下班后的副业,4个比较实际的副业兼职

    每一个上班族 都有一个发财的梦想 希望可以通过自己的努力 让领导看到自身价值 得到赏识 快速升职加薪 赚得盆满钵满 这样是不错 而且不少上班族单纯依靠工作就实现了这样的梦想 但是对于绝大部分普通人来说 还只存在于 想 如果现有的工作暂时没有
  • pdf注释上锁_如何在iPad上突出显示和注释PDF

    pdf注释上锁 Khamosh Pathak Khamosh Pathak The iPad is a great way to read PDFs but what if you want to highlight parts of it
  • STM32采用普通的IO口来测量PWM的频率

    STM32测量外部输入信号的频率的方法有很多 采用内部定时器输入捕获功能 采用普通的IO口设置外部中断 定时器的当时测量PWM信号的频率 这两种方式比较推荐使用第一种 比较使用内部的资源可以节省CPU资源的利用 当然当内部资源不够使用的时候
  • Unity LensFlares(镜头炫光)踩坑以及解决总结

    镜头光晕 Lens Flares 模拟相机镜头内的折射光线的效果 主要作用就是让太阳光 其他光源更加真实 Build in Build in管线中 可以直接添加Lens Flare组件即可获得效果 URP 2019 在Unity2019版本
  • 【mcuclub】CO2及TVOC检测-SGP30

    一 实物图 二 原理图 编号 名称 功能 1 VCC 电源正 2 GND 电源地 3 SDA 串行地址和数据输入 输出 4 SCL 串行时钟输入 三 简介 SGP30是一款单一芯片上具有多个传感元件的金属氧化物室内气体传感器 内部集成4个气
  • 电赛分几种_参加电赛需要具备哪些知识呢?

    本文转载自 微信公众号 47竞赛 ID gh 1814a7d91c55 经微信公众号授权转载 如需转载与原文作者联系 电赛需要准备哪些知识呢 先分析一下电赛的题目 你会发现 题目主要分为控制类 仪器仪表类 信号源类 电源类 放大器类 高频通
  • QT 布局,控件自适应大小 自动缩放 自动布局

    目录 前言 1 先来说简单的布局控件自适应 说明我们实现了自动布局 3 通过代码设置控件自动缩放重写resizeEvent 4 源码 https upload csdn net creation uploadResources 866208
  • 第1章 用物理模型进行高效的水模拟

    一 用物理模型进行高效的水模拟 一句话概括 基本网格的几何波动 动态法线贴图 1 1现状 1 快速傅里叶FFT在大中尺寸栅格取得逼真效果 并能适用于顶点shader和像素shader 2 能基于体素 Voxel 对简化的Navier Sto
  • 在培训班里学IT技术是否有用?和大家分享相关IT培训班里五大常见宣传手法、相关优势与实际效果

    目录 Introduction 引言 IT培训班常见宣传手法 培训班的优势 如何评判IT培训班的效果与质量 除IT培训班之外的学习渠道 总结 其它资料下载 Introduction 引言 随着信息技术的飞速发展 学习IT技术成为许多人追求职
  • win10搜索大文件

    直接在资源管理器的搜索框中敲 size gt 1G win 10计算机查找大文件 教你如何在Win10系统中查找大文件
  • WIN+R 实用大总结

    文章目录 cmd 与管理员cmd 打开网络共享中心 ncpa cpl 打开画画 mspaint 打开系统配置 msconfig 打开设备管理器 devmgmt msc 打开远程桌面连接 mstsc 任务管理器 taskmgr 系统属性 sy
  • Win10+vs2017 webrtc下载和编译

    现在使用webrtc的小伙伴越来越多 我也来凑凑热闹 第一步自然是下载源码 其实官网上面写的还是蛮详细的 只是环境搭建稍稍复杂了点 再加上国内不能访问google 所以简单的事情就变得复杂起来 我就按照官网上面的流程给大家简单介绍下 具体细