OBS Studioのプラグインの公式テンプレートが公開されているのでビルドしてみました。
機能としてはプラグインが読み込まれるとログが出力されるシンプルなもの。
OBSウィンドウ内のUIへの追加方法は→こちら
下記がこの日記の開発環境。
- OBS Studioバージョン:30.0.0 (29.1.2 ↑であればOK)
- OS:Windows
- Soft: Visual Studio 2022, Git , CMake(3.28.0)
Step1.準備
先ずはコマンドプロンプトでプロジェクトのclone。
git clone https://github.com/obsproject/obs-plugintemplate.git
公式のガイドではbuildspec.jsonの編集について書かれているけれどビルドだけするなら無視でOKです。
ガイド通りやるならjsonファイルの最後の項目を埋める。
Step2.CMakeでVSソリューションの生成
OBS本体のビルドと同じCMakeの手順で出来ます。
端折るとコマンドプロンプトで下記のコマンドを打ってソリューションを生成させる。
cmake --preset windows-x64
build_x64フォルダが生成されて中にobs-plugintemplate.slnファイルが出来るのでダブルクリックでVSを起動させる。
Step3.ビルドする
VSのタスクトレイのビルドオプションで好きなものを選択し実行。今回は”Release”を選択。
ビルドを実行するとReleaseフォルダに6つファイルが出来る。
obs-plugintemplate.dll
obs-plugintemplate.exp
obs-plugintemplate.lib
obs-plugintemplate.pdb
plugin-support.lib
plugin-support.pdb
Step4.インストールする
ビルドして生成された.dllファイルをOBS Studioの”obs-plugins\64bit\”内にコピペして、OBSを起動する。
Step5.生成したプラグインの確認方法
ログファイルを開いてメッセージを確認する。
・ログファイルの場所
“~\AppData\Roaming\obs-studio\logs”フォルダ内。(obs起動時刻のファイル名)
又はobsから設定フォルダを表示->logsフォルダへ移動して探す。
・ログメッセージ
14:00:00.000: [obs-plugintemplate] obs-plugin loaded successfully (version 1.0.0)
時刻はロード完了時刻が記載される
14:00:01.000: obs-plugintemplate.dll
全部のプラグインが読み込まれた時に作成したdll名が出る
14:00:02.000: [obs-plugintemplate] plugin unloaded
obs終了時に書き込みされるので起動したまま除くと無い
obs_init_module(obs-plugintemplate.dll): 0.007 ms
終了時にプラグインが読み込まれた速さのプロファイル結果が記載される
[obs-plugintemplate] で始まるメッセージの出どころはplugin-main.cファイル内の下記コード
・obs_log(LOG_INFO, "plugin loaded successfully (version %s)",
PLUGIN_VERSION);
・obs_log(LOG_INFO, "plugin unloaded");
PLUGIN_VERSIONはStep1で編集したbuildspec.json内のversionが反映されている。