C#でOBSを操作する
いろいろ自動化したかったので、OBSをC#から操作する方法を調べました。
その備忘録です。
だいたいみんなPythonなんですかね?
※OBS、obs-websocketはインストールしているものとする。
必要なもの・準備するもの
- obs-websocket-dotnet
⇒https://www.nuget.org/packages/obs-websocket-dotnet/
⇒2019のCommunity(Version 16.10.0)でやりました
obs-websocket-dotnetのインストール
パッケージマネージャコンソールで下記を入力して、実行
Install-Package obs-websocket-dotnet -Version 4.9.0
OBS側の設定
[ツール]タブから「Websocketサーバー設定」
サーバーポートとパスワードを設定
C#で実装
要所要所だけ。。。
- OBSへ接続
OBSWebsocket obs; obs = new OBSWebsocket(); obs.Connect(”ws://127.0.0.1:4444”, "パスワード");
Connect関数の第1引数の末尾"4444"はOBS側で設定した「サーバーポート」を書くこと。
第2引数"パスワード" もOBS側で設定したものを入力すること
- スクリーンショットをとる
Connectした後に下記関数を呼ぶとスクリーンショットが撮れる。
obs.TakeSourceScreenshot("ソース", "画像の拡張子", "ファイルパス");
第1引数のソースはOBS側のソース名 ※下記画像参照
第2引数の画像の拡張子は"jpg"、"png"などなど ※第3引数でファイルパスを書けばnullでもOK
第3引数のファイルパスは"C:\test\ss\hoge.png"こんな感じでファイル名まで書くこと。
あとは煮るなり焼くなり好きにしよう。