该库旨在提供对 obs-studio 内部库的绑定,相应地命名为 libobs,以便从节点运行时使用它。目前仅支持 Windows 和 MacOS。
您需要安装以下内容:
在 Windows 上构建需要额外的软件:
我们使用尽可能广泛和通用的灵活 cmake 脚本,以避免需要不断管理 cmake 脚本以供自定义使用,同时还提供合理的默认值。它遵循相当标准的 cmake 布局,您可以根据需要执行它。
例子:
yarn install
git submodule update --init --recursive
mkdir build
cd build
cmake .. -G"Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH=%CD%/libobs-src/cmake/
cmake --build . --target install --config RelWithDebInfo
这将下载任何所需的依赖项,构建模块,然后将其放置在与您在给定 package.json 中指定的 npm 或 YARN 兼容的存档中。
默认情况下,如果未指定,我们会下载 libobs 的预构建版本。但是,这个预构建版本可能不是您想要使用的版本,或者您可能正在测试新的 obs 功能。
您可以指定您自己的自定义存档。不过,在构建之前需要对 obs-studio 的默认配置进行一些更改:
ENABLE_SCRIPTING
必须设置为false
ENABLE_UI
必须设置为false
QTDIR
,因为它未被使用。如果您不知道如何从源代码构建 obs-studio,您可以在此处找到说明。
从 http://cppcheck.sourceforge.net/ 安装 cppcheck 并将 cppcheck 文件夹添加到 PATH 要从命令行运行检查:
cd build
cmake --build . --target CPPCHECK
还可以从 Visula Studio 构建目标。报告输出格式设置为兼容,并可从构建结果面板导航至文件:行。
文件obs-studio-client/cppcheck_suppressions_list.txt
和obs-studio-server/cppcheck_suppressions_list.txt
中抑制了一些警告。
系统中必须安装Ninja
和LLVM
。警告:depot_tool 已损坏 ninja。
要进行构建,请打开cmd.exe
。
mkdir build_clang
cd build_clang
"c:Program Files (x86)Microsoft Visual Studio 14.0VCbinamd64vcvars64.bat"
set CCC_CC=clang-cl
set CCC_CXX=clang-cl
set CC=ccc-analyzer.bat
set CXX=c++-analyzer.bat
#set CCC_ANALYZER_VERBOSE=1
#make ninja project
cmake -G "Ninja" -DCLANG_ANALYZE_CONFIG=1 -DCMAKE_INSTALL_PREFIX:PATH="" -DCMAKE_LINKER=lld-link -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_SYSTEM_NAME="Generic" -DCMAKE_MAKE_PROGRAM=ninja.exe ..
#try to build and "fix" errors
ninja.exe
#clean build to scan
ninja.exe clean
scan-build --keep-empty -internal-stats -stats -v -v -v -o check ninja.exe
"fixing"
错误的步骤很重要,因为代码库,尤其是第三方代码还没有准备好使用 clang 构建。编译失败的文件将不会被扫描以查找错误。
obs studio 节点的测试是用 Typescript 编写的,并使用 Mocha 作为测试框架,使用 electro-mocha 包使 Mocha 在 Electron 中运行,并使用 Chai 作为断言框架。
您需要构建 obs-studio-node 才能运行测试。您可以以任何您想要的方式构建它,只需确保使用CMAKE_INSTALL_PREFIX
将 obs-studio-node 安装在您选择的文件夹中。测试使用此变量来了解 obs-studio-node 模块的位置。由于我们使用自己的 Electron 分支,因此您还需要创建一个名为ELECTRON_PATH
环境变量,该变量在运行yarn install
后指向 Electron 二进制文件在 node_modules 文件夹中的位置。以下是构建 obs-studio-node 的三种不同方法:
在 obs-studio-node 根文件夹中:
yarn install
git submodule update --init --recursive --force
mkdir build
cmake -Bbuild -H. -G"Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="path_of_your_choosing"
cmake --build build --target install
在 obs-studio-node 根文件夹中:
mkdir build
yarn local:config
yarn local:build
yarn local:clean
yarn install
Where is the source code:
框中Where to build the binaries:
框中Configure
Generate
Open Project
以打开 Visual Studio 并在其中构建项目一些测试与 Twitch 交互,我们使用用户池服务来获取用户,但如果我们无法从中获取用户,我们将使用环境变量提供的流密钥。使用您选择的 Twitch 帐户的流密钥创建一个名为 SLOBS_BE_STREAMKEY 的环境变量。
yarn run test
yarn run test --grep describe_name_value
,其中describe_name_value
是传递给每个测试文件中的describe调用的测试的名称。示例: yarn run test --grep nodeobs_api
或yarn run test -g "Start streaming"