Эта библиотека предназначена для предоставления привязок к внутренней библиотеке 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
При этом будут загружены все необходимые зависимости, собраны модули, а затем помещены в архив, совместимый с npm или Yarn, который вы можете указать в данном package.json.
По умолчанию мы загружаем предварительно созданную версию libobs, если она не указана. Однако эта предварительно созданная версия может быть не тем, что вы хотите использовать, или, возможно, вы тестируете новую функцию наблюдения.
Вы можете указать собственный архив. Однако перед сборкой необходимо внести некоторые изменения в конфигурацию obs-studio по умолчанию:
ENABLE_SCRIPTING
должно быть установлено значение false
ENABLE_UI
должно быть установлено в false
QTDIR
не следует указывать, поскольку он не используется.Если вы не знаете, как собрать obs-studio из исходного кода, инструкции можно найти здесь.
Установите cppcheck с http://cppcheck.sourceforge.net/ и добавьте папку 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 сломал ниндзя.
Чтобы сделать сборку, откройте 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 написаны на Typescript и используют Mocha в качестве тестовой среды с пакетом Electron-Mocha, позволяющим Mocha работать в Electron, и Chai в качестве среды утверждений.
Вам необходимо собрать obs-studio-node для запуска тестов. Вы можете собрать его любым способом, просто обязательно используйте CMAKE_INSTALL_PREFIX
для установки obs-studio-node в выбранную вами папку. Тесты используют эту переменную, чтобы узнать, где находится модуль obs-studio-node. Поскольку мы используем нашу собственную вилку Electron, вам также необходимо создать переменную среды с именем ELECTRON_PATH
, указывающую на то, где находится двоичный файл Electron в папке node_modules после запуска yarn install
. Ниже приведены три различных способа сборки 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, и мы используем службу пула пользователей для получения пользователей, но в случае, если мы не можем получить от него пользователя, мы используем ключ потока, предоставляемый переменной среды. Создайте переменную среды под названием SLOBS_BE_STREAMKEY с ключом потока выбранной вами учетной записи Twitch.
yarn run test
yarn run test --grep describe_name_value
, где describe_name_value
— это имя теста, передаваемое при вызове описания в каждом тестовом файле. Примеры: yarn run test --grep nodeobs_api
или yarn run test -g "Start streaming"