Esta biblioteca pretende proporcionar enlaces a la biblioteca interna de obs-studio, denominada libobs en consecuencia, con el fin de utilizarla desde un tiempo de ejecución de nodo. Actualmente, sólo se admiten Windows y MacOS.
Necesitará tener instalado lo siguiente:
La construcción en Windows requiere software adicional:
Usamos un script cmake flexible para que sea lo más amplio y genérico posible a fin de evitar la necesidad de administrar constantemente el script cmake para usos personalizados, al mismo tiempo que proporcionamos valores predeterminados sensatos. Sigue un diseño cmake bastante estándar y puedes ejecutarlo como quieras.
Ejemplo:
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
Esto descargará las dependencias necesarias, compilará el módulo y luego lo colocará en un archivo compatible con npm o hilo que puede especificar en un paquete.json determinado.
De forma predeterminada, descargamos una versión prediseñadas de libobs si no se especifica ninguna. Sin embargo, es posible que esta versión prediseñadas no sea la que desea utilizar o tal vez esté probando una nueva función de observación.
Puede especificar un archivo personalizado propio. Sin embargo, es necesario realizar algunos cambios en la configuración predeterminada de obs-studio antes de compilar:
ENABLE_SCRIPTING
debe establecerse en false
ENABLE_UI
debe establecerse en false
QTDIR
ya que no se utiliza.Si no sabe cómo compilar obs-studio desde el código fuente, puede encontrar instrucciones aquí.
Instale cppcheck desde http://cppcheck.sourceforge.net/ y agregue la carpeta cppcheck a PATH Para ejecutar check desde la línea de comando:
cd build
cmake --build . --target CPPCHECK
También se puede construir un objetivo desde Visula Studio. Formato de salida del informe configurado como compatible y navegación al archivo: línea posible desde el panel de resultados de compilación.
Algunas advertencias se suprimieron en los archivos obs-studio-client/cppcheck_suppressions_list.txt
y obs-studio-server/cppcheck_suppressions_list.txt
.
Ninja
y LLVM
deben estar instalados en el sistema. Advertencia: depot_tool ha roto ninja.
Para realizar la compilación, abra 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
Es importante "fixing"
los errores ya que el código base y especialmente el código de terceros no están listos para compilarse con clang. Y los archivos que no se pudieron compilar no se analizarán en busca de errores.
Las pruebas para el nodo obs studio están escritas en Typecript y utilizan Mocha como marco de prueba, con el paquete electron-mocha para que Mocha se ejecute en Electron y Chai como marco de afirmación.
Necesita compilar obs-studio-node para poder ejecutar las pruebas. Puede compilarlo de la forma que desee, solo asegúrese de usar CMAKE_INSTALL_PREFIX
para instalar obs-studio-node en la carpeta que elija. Las pruebas utilizan esta variable para saber dónde está el módulo obs-studio-node. Dado que usamos nuestra propia bifurcación de Electron, también debe crear una variable de entorno llamada ELECTRON_PATH
que apunte a dónde está el binario de Electron en la carpeta node_modules después de ejecutar yarn install
. A continuación se muestran tres formas diferentes de crear obs-studio-node:
En la carpeta raíz de 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
En la carpeta raíz de 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
para abrir Visual Studio y compilar el proyecto allí. Algunas pruebas interactúan con Twitch y usamos un servicio de grupo de usuarios para obtener usuarios, pero en caso de que no podamos recuperar un usuario, usamos la clave de transmisión proporcionada por una variable de entorno. Cree una variable de entorno llamada SLOBS_BE_STREAMKEY con la clave de transmisión de una cuenta de Twitch de su elección.
yarn run test
yarn run test --grep describe_name_value
donde describe_name_value
es el nombre de la prueba pasada a la llamada describe en cada archivo de prueba. Ejemplos: yarn run test --grep nodeobs_api
o yarn run test -g "Start streaming"