Cette bibliothèque a pour but de fournir des liaisons à la bibliothèque interne d'obs-studio, nommée libobs en conséquence, dans le but de l'utiliser à partir d'un runtime de nœud. Actuellement, seuls Windows et MacOS sont pris en charge.
Vous devrez installer les éléments suivants :
Construire sous Windows nécessite des logiciels supplémentaires :
Nous utilisons un script cmake flexible pour être aussi large et générique que possible afin d'éviter d'avoir à gérer constamment le script cmake pour des utilisations personnalisées, tout en fournissant également des valeurs par défaut raisonnables. Il suit une disposition cmake assez standard et vous pouvez l'exécuter comme vous le souhaitez.
Exemple:
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
Cela téléchargera toutes les dépendances requises, construira le module, puis le placera dans une archive compatible avec npm ou fil que vous pourrez spécifier dans un package.json donné.
Par défaut, nous téléchargeons une version prédéfinie de libobs si aucune n'est spécifiée. Cependant, cette version prédéfinie n'est peut-être pas celle que vous souhaitez utiliser ou peut-être testez-vous une nouvelle fonctionnalité d'obs.
Vous pouvez spécifier votre propre archive personnalisée. Cependant, certaines modifications doivent être apportées à la configuration par défaut d'obs-studio avant la construction :
ENABLE_SCRIPTING
doit être défini sur false
ENABLE_UI
doit être défini sur false
QTDIR
ne doit pas être spécifié car il n’est pas utilisé.Si vous ne savez pas comment construire obs-studio à partir des sources, vous pouvez trouver des instructions ici.
Installez cppcheck depuis http://cppcheck.sourceforge.net/ et ajoutez le dossier cppcheck au PATH. Pour exécuter la vérification à partir de la ligne de commande :
cd build
cmake --build . --target CPPCHECK
La cible peut également être construite à partir de Visula Studio. Format de sortie du rapport défini comme compatible et navigation vers file:line possible à partir du panneau des résultats de construction.
Certains avertissements supprimés dans les fichiers obs-studio-client/cppcheck_suppressions_list.txt
et obs-studio-server/cppcheck_suppressions_list.txt
.
Ninja
et LLVM
doivent être installés dans le système. Attention : depot_tool a cassé le ninja.
Pour créer une build ouverte 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
Il est important de "fixing"
les erreurs car la base de code et en particulier le code tiers ne sont pas prêts à être construits avec clang. Et les fichiers dont la compilation a échoué ne seront pas analysés pour détecter les erreurs.
Les tests pour le nœud obs studio sont écrits en Typescript et utilisent Mocha comme cadre de test, avec un package électron-moka pour faire fonctionner Mocha dans Electron, et Chai comme cadre d'assertion.
Vous devez construire obs-studio-node pour exécuter les tests. Vous pouvez le construire comme vous le souhaitez, assurez-vous simplement d'utiliser CMAKE_INSTALL_PREFIX
pour installer obs-studio-node dans un dossier de votre choix. Les tests utilisent cette variable pour savoir où se trouve le module obs-studio-node. Puisque nous utilisons notre propre fork d'Electron, vous devez également créer une variable d'environnement appelée ELECTRON_PATH
pointant vers l'endroit où se trouve le binaire Electron dans le dossier node_modules après avoir exécuté yarn install
. Vous trouverez ci-dessous trois manières différentes de créer un nœud obs-studio-node :
Dans le dossier racine 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
Dans le dossier racine 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
pour ouvrir Visual Studio et y créer le projet Certains tests interagissent avec Twitch et nous utilisons un service de pool d'utilisateurs pour obtenir des utilisateurs, mais si nous ne parvenons pas à en récupérer un utilisateur, nous utilisons la clé de flux fournie par une variable d'environnement. Créez une variable d'environnement appelée SLOBS_BE_STREAMKEY avec la clé de flux d'un compte Twitch de votre choix.
yarn run test
yarn run test --grep describe_name_value
où describe_name_value
est le nom du test passé à l'appel de description dans chaque fichier de test. Exemples : yarn run test --grep nodeobs_api
ou yarn run test -g "Start streaming"