【OBS】stream-labs-desktop 编译运行采坑全攻略

2024-03-05 21:52

本文主要是介绍【OBS】stream-labs-desktop 编译运行采坑全攻略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

▒ 目录 ▒

    • 🛫 导读
      • 需求
      • 开发环境
    • 1️⃣ 安装yarn
      • 安装
    • 2️⃣ 安装依赖库:yarn install
      • certificate has expired
      • electron@npm:25.9.3 couldn't be built successfully
    • 3️⃣ 启动desktop项目
      • 编译
      • 调试模式启动
      • 启动缓慢问题
    • 4️⃣ 打包
    • 🛬 文章小结
    • 📖 参考资料

🛫 导读

需求

OBS学习过程中,发现宝藏开源软件stream-labs-desktop,简单研究下:

  • 通过js直接控制obs的神器。
  • electron作为载体,让前端同学轻松制作客户端软件。
  • 封装实用功能,方便开发和参考。

开发环境

版本号描述
文章日期2024-03-01
操作系统Win11 - 22H222621.2715
node -vv20.10.0
npm -v10.2.3
yarn -v3.1.1

1️⃣ 安装yarn

这里,小编使用的node版本是v20.10.0,建议使用相对高的版本尝试。

安装

stream-labs-desktop使用 Yarn 作为包管理器。建议使用 npm 安装它:
npm install -g yarn

2️⃣ 安装依赖库:yarn install

执行yarn install,安装依赖库,这个过程产生了下面几种错误。

certificate has expired

直接运行yarn install,会报下面错误

yarn install v1.22.21
[1/4] Resolving packages...
error Error: certificate has expiredat TLSSocket.onConnectSecure (node:_tls_wrap:1674:34)at TLSSocket.emit (node:events:514:28)at TLSSocket._finishInit (node:_tls_wrap:1085:8)at ssl.onhandshakedone (node:_tls_wrap:871:12)
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

这里可以通过下面两种方式修正该问题(如果失败,两种方案都试试)。

  1. 取消ssl验证:
    yarn config set strict-ssl false
    这个方法一般就可以解决了。
  2. 更换yarn镜像源:
    这里使用的yarn版本是3.1.1,需要使用的命令为(重要的事情说三遍)
    yarn config set npmRegistryServer http://registry.npm.taobao.org
    yarn config set npmRegistryServer http://registry.npm.taobao.org
    yarn config set npmRegistryServer http://registry.npm.taobao.org
    |
    旧版本使用的是yarn config set registry http://registry.npm.taobao.org,该命令在新的yarn中,会报如下错误:
    |

**ps:配置镜像地址(registry),同时可避免各种package无法正常下载的问题。

electron@npm:25.9.3 couldn’t be built successfully

这个报错是因为electron请求服务器连接的是外网,需要配置electron的国内镜像(如淘宝镜像)。
方案一:
修改全局变量,很简单。新建用户全局变量即可。
在这里插入图片描述
方案二:
直接在控制台中执行set命令:set ELECTRON_MIRROR=http://npm.taobao.org/mirrors/electron/
在这里插入图片描述

ps: 使用npm的时候,可以指定config值实现配置镜像,但是yarn命令没有对应的config值,无法进行设置:

  • npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/
  • npm config set ELECTRON_BUILDER_BINARIES_MIRROR https://npm.taobao.org/mirrors/electron-builder-binaries/

3️⃣ 启动desktop项目

编译

运行前需要通过webpack编译项目:

yarn compile

或者执行watch命令:

yarn watch

调试模式启动

项目默认只有yarn start启动项目,该模式未打开调试窗口。

项目中,包含环境变量SLOBS_PRODUCTION_DEBUG,该变量未启动调试相关的开关。
我们随意指定一个字符串即可开启调试模式。
为了方便运行,我们新增一个命令dev,之后通过yarn dev即可调试方式启动项目,如下图所示:
在这里插入图片描述

启动缓慢问题

小编通过yarn dev启动项目,会在下面的界面等待很久:
在这里插入图片描述

打开调试窗口,看到下面错误:
在这里插入图片描述
这是因为小编绑定了youtube账号,如果有遇到启动慢的问题,可查看控制台定位问题。

4️⃣ 打包

Windows应用包:

yarn package

macOS应用包:

yarn package:mac

🛬 文章小结

开发环境运行stream-labs-desktop,主要参考源码中的README.md文档。
遇到问题了,再一个个排查。

ps: 只支持 OSX 10.14+64-bit Windows

📖 参考资料

  • github地址: https://github.com/stream-labs/desktop

这篇关于【OBS】stream-labs-desktop 编译运行采坑全攻略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/777928

相关文章

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

PostgreSQL如何用psql运行SQL文件

《PostgreSQL如何用psql运行SQL文件》文章介绍了两种运行预写好的SQL文件的方式:首先连接数据库后执行,或者直接通过psql命令执行,需要注意的是,文件路径在Linux系统中应使用斜杠/... 目录PostgreSQ编程L用psql运行SQL文件方式一方式二总结PostgreSQL用psql运

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码