このライブラリは、ノード ランタイムから使用する目的で、obs-studio の内部ライブラリ (それに応じて libobs という名前) へのバインディングを提供することを目的としています。現在、Windows と MacOS のみがサポートされています。
以下をインストールする必要があります。
Windows 上での構築には追加のソフトウェアが必要です。
適切なデフォルトを提供しながら、カスタム用途で cmake スクリプトを常に管理する必要を避けるために、可能な限り幅広く汎用的な柔軟な cmake スクリプトを使用しています。これは非常に標準的な cmake レイアウトに従っており、必要に応じて実行できます。
例:
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
これにより、必要な依存関係がダウンロードされ、モジュールがビルドされ、特定の package.json で指定できる npm または Yarn と互換性のあるアーカイブに配置されます。
何も指定されていない場合、デフォルトでは、libobs の事前構築バージョンがダウンロードされます。ただし、この事前構築済みバージョンは使用したいものではない可能性があります。あるいは、新しい obs 機能をテストしている可能性もあります。
独自のカスタム アーカイブを指定できます。ただし、ビルドする前に、obs-studio のデフォルト構成にいくつかの変更を加える必要があります。
ENABLE_SCRIPTING
false
に設定する必要がありますENABLE_UI
false
に設定する必要がありますQTDIR
使用されないため、指定しないでください。obs-studio をソースからビルドする方法がわからない場合は、ここで手順を見つけることができます。
http://cppcheck.sourceforge.net/ から cppcheck をインストールし、cppcheck フォルダーを PATH に追加します。 コマンド ラインから check を実行するには、次の手順を実行します。
cd build
cmake --build . --target CPPCHECK
ターゲットは Visula Studio からビルドすることもできます。レポート出力形式が互換性として設定され、ビルド結果パネルから file:line に移動できるようになります。
ファイルobs-studio-client/cppcheck_suppressions_list.txt
およびobs-studio-server/cppcheck_suppressions_list.txt
で一部の警告が抑制されました。
Ninja
とLLVM
システムにインストールする必要があります。警告: depot_tool には Ninja が壊れています。
ビルドを行うには、 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
コードベース、特にサードパーティのコードは Clang でビルドする準備ができていないため、エラーを"fixing"
手順は重要です。また、コンパイルに失敗したファイルはエラー スキャンされません。
obs Studio ノードのテストは Typescript で書かれており、Mocha をテスト フレームワークとして使用し、Electron-mocha パッケージを使用して Mocha を Electron で実行し、Chai をアサーション フレームワークとして使用します。
テストを実行するには、obs-studio-node をビルドする必要があります。任意の方法でビルドできますが、必ずCMAKE_INSTALL_PREFIX
使用して、選択したフォルダーに obs-studio-node をインストールしてください。テストでは、この変数を使用して、obs-studio-node モジュールの場所を確認します。 Electron の独自のフォークを使用しているため、 yarn install
実行した後、node_modules フォルダー内の Electron バイナリの場所を指すELECTRON_PATH
という環境変数を作成する必要もあります。以下は、obs-studio-node をビルドする 3 つの異なる方法です。
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
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
をクリックして Visual Studio を開き、そこでプロジェクトをビルドします。 一部のテストは Twitch と対話し、ユーザーを取得するためにユーザー プール サービスを使用しますが、サービスからユーザーを取得できない場合に備えて、環境変数によって提供されるストリーム キーを使用します。選択した Twitch アカウントのストリーム キーを使用して、SLOBS_BE_STREAMKEY という環境変数を作成します。
yarn run test
実行します。yarn run test --grep describe_name_value
describe_name_value
します。describe_name_value は、各テスト ファイルの記述呼び出しに渡されるテストの名前です。例: yarn run test --grep nodeobs_api
またはyarn run test -g "Start streaming"