Об этом проекте

obs-studio-node предоставляет Node.js привязки к libobs, внутренней библиотеке OBS Studio, что позволяет управлять её возможностями захвата, композиции сцен и стриминга из среды выполнения Node или Electron. В README указано, что в настоящее время поддерживаются только Windows и macOS. Для сборки требуются Git, Node.js, Yarn и CMake; на Windows также необходимы Visual Studio 2019/2022 и Windows SDK, а для сборки на macOS требуется Xcode. Типичная сборка включает выполнение yarn install, инициализацию git-подмодулей, настройку CMake с выбранным CMAKE_INSTALL_PREFIX и сборку цели install. По умолчанию загружается предварительно собранный libobs; можно указать собственную сборку OBS, но при этом необходимо отключить ENABLE_SCRIPTING и ENABLE_UI, а QTDIR оставить неустановленным. Опция OSN_LIBOBS_DEPENDENCY_PREFIX_PATH поддерживает более старые локальные пакеты разработки libobs. JavaScript-интерфейс генерируется из js/module.ts с помощью tsc в js/module.js и js/module.d.ts, которые фиксируются в репозитории, так как поставляются в npm-пакете; yarn build:javascript перегенерирует их, а CI проверяет наличие устаревших выходных файлов. Статический анализ включает cppcheck и рабочий процесс с анализатором Clang. Тесты написаны на TypeScript с использованием Mocha, electron-mocha и Chai и требуют собранного модуля, а также переменной окружения ELECTRON_PATH. Некоторые тесты взаимодействуют с Twitch и могут использовать SLOBS_BE_STREAMKEY в качестве запасного ключа стрима. Тесты можно запускать полностью, фильтровать по имени describe или отлаживать с помощью предоставленной конфигурации запуска VS Code.