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 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
Im obs-studio-node-Stammordner:
mkdir build
yarn local:config
yarn local:build
yarn local:clean
aus yarn install
Where is the source code:
“ einWhere to build the binaries:
“ einConfigure
Generate
Open 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"