Diese Bibliothek soll Bindungen an die interne Bibliothek von obs-studio, entsprechend libobs genannt, bereitstellen, um sie von einer Knotenlaufzeit aus zu verwenden. Derzeit werden nur Windows und MacOS unterstützt.
Folgendes muss installiert sein:
Für den Aufbau unter Windows ist zusätzliche Software erforderlich:
Wir verwenden ein flexibles cmake-Skript, das so umfassend und allgemein wie möglich ist, um zu vermeiden, dass das cmake-Skript ständig für benutzerdefinierte Zwecke verwaltet werden muss, und gleichzeitig vernünftige Standardeinstellungen bereitzustellen. Es folgt einem ziemlich standardmäßigen cmake-Layout und Sie können es nach Ihren Wünschen ausführen.
Beispiel:
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
Dadurch werden alle erforderlichen Abhängigkeiten heruntergeladen, das Modul erstellt und dann in einem Archiv abgelegt, das mit npm oder Yarn kompatibel ist und das Sie in einer bestimmten package.json angeben können.
Standardmäßig laden wir eine vorgefertigte Version von libobs herunter, wenn keine angegeben ist. Diese vorgefertigte Version ist jedoch möglicherweise nicht das, was Sie verwenden möchten, oder Sie testen eine neue Obs-Funktion.
Sie können ein eigenes benutzerdefiniertes Archiv angeben. Vor dem Erstellen müssen jedoch einige Änderungen an der Standardkonfiguration von obs-studio vorgenommen werden:
ENABLE_SCRIPTING muss auf false gesetzt seinENABLE_UI muss auf false gesetzt seinQTDIR sollte nicht angegeben werden, da es nicht verwendet wird.Wenn Sie nicht wissen, wie Sie obs-studio aus dem Quellcode erstellen, finden Sie möglicherweise hier Anweisungen.
Installieren Sie cppcheck von http://cppcheck.sourceforge.net/ und fügen Sie den cppcheck-Ordner zum PATH hinzu. So führen Sie die Prüfung über die Befehlszeile aus:
cd build
cmake --build . --target CPPCHECK
Außerdem kann ein Ziel aus Visula Studio erstellt werden. Das Berichtsausgabeformat wurde als kompatibel festgelegt und die Navigation zu Datei:Zeile ist im Build-Ergebnisfenster möglich.
Einige Warnungen werden in den Dateien obs-studio-client/cppcheck_suppressions_list.txt und obs-studio-server/cppcheck_suppressions_list.txt unterdrückt.
Ninja und LLVM müssen im System installiert sein. Warnung: depot_tool hat Ninja kaputt gemacht.
Um den Build durchzuführen, öffnen Sie 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
Schritte zum "fixing" von Fehlern sind wichtig, da die Codebasis und insbesondere der Code von Drittanbietern noch nicht für die Erstellung mit Clang bereit sind. Und Dateien, deren Kompilierung fehlgeschlagen ist, werden nicht auf Fehler überprüft.
Die Tests für obs studio node sind in Typescript geschrieben und verwenden Mocha als Test-Framework, mit Electron-Mocha-Paket, um Mocha in Electron laufen zu lassen, und Chai als Assertion-Framework.
Sie müssen obs-studio-node erstellen, um die Tests ausführen zu können. Sie können es nach Ihren Wünschen erstellen. Verwenden Sie jedoch unbedingt CMAKE_INSTALL_PREFIX um obs-studio-node in einem Ordner Ihrer Wahl zu installieren. Die Tests verwenden diese Variable, um zu wissen, wo sich das obs-studio-node-Modul befindet. Da wir unseren eigenen Fork von Electron verwenden, müssen Sie auch eine Umgebungsvariable namens ELECTRON_PATH erstellen, die auf die Stelle zeigt, an der sich die Electron-Binärdatei im Ordner „node_modules“ befindet, nachdem Sie yarn install ausgeführt haben. Im Folgenden finden Sie drei verschiedene Möglichkeiten zum Erstellen von obs-studio-node:
Im obs-studio-node-Stammordner:
yarn installgit submodule update --init --recursive --forcemkdir buildcmake -Bbuild -H. -G"Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="path_of_your_choosing"cmake --build build --target installIm obs-studio-node-Stammordner:
mkdir buildyarn local:configyarn local:buildyarn local:clean aus yarn installWhere is the source code: “ einWhere to build the binaries: “ einConfigureGenerateOpen Project um Visual Studio zu öffnen und das Projekt dort zu erstellen Einige Tests interagieren mit Twitch und wir verwenden einen Benutzerpooldienst, um Benutzer abzurufen. Falls wir jedoch keinen Benutzer daraus abrufen können, verwenden wir den Stream-Schlüssel, der von einer Umgebungsvariablen bereitgestellt wird. Erstellen Sie eine Umgebungsvariable namens SLOBS_BE_STREAMKEY mit dem Stream-Schlüssel eines Twitch-Kontos Ihrer Wahl.
yarn run test durchyarn run test --grep describe_name_value aus, wobei describe_name_value der Name des Tests ist, der an den Beschreibungsaufruf in jeder Testdatei übergeben wird. Beispiele: yarn run test --grep nodeobs_api oder yarn run test -g "Start streaming"