OBSでシーンアイテムを作成する方法

シーンアイテムの作成のアイキャッチ OBS
⚠ OBS WebSocket v4 に関する注意

OBS WebSocket v4 は旧バージョンであり、OBS 28 以降では v5 が標準です。
v4 を使用する場合は互換性に注意してください。
最新の仕様については
OBS WebSocket v5 の解説記事
を参照してください。

OBSをPythonから操作してシーンアイテムを作成を解説します。

その他にも知りたい方はコチラの記事を見てください。

前提条件、環境

シーンアイテム(テキスト)の作成

OBSでシーンアイテムを作成するコードは以下になります。

  • sceneNameにシーン名を指定
  • inputNameにシーンアイテム名を指定
  • inputKindに作成するアイテム種類(text_gdiplus_v3ならテキストソース)を指定
  • inputSettingsにシーンアイテムの属性を指定
# シーンアイテム(テキスト)を作成
ws.call(obs_req.CreateInput(
        sceneName="テスト用",
        inputName="テキストメッセージ2",
        inputKind="text_gdiplus_v3",
        inputSettings={'text':'新しいテキストソース','font':{'size':128}},
        sceneItemEnabled=True
        ))

OBS WebSocketの接続を含めた一通りのコードは以下となります。

# OBS WebSocketのインポート
from obswebsocket import obsws,requests as obs_req

# OBS接続情報
host = "localhost"
port = 4455
password = "**********"

# OBS WebSocketクライアントの作成
ws = obsws(host,port,password)

# OBSに接続
ws.connect()

# シーンアイテム(テキスト)の作成
ws.call(obs_req.CreateInput(
        sceneName="テスト用",
        inputName="テキストメッセージ2",
        inputKind="text_gdiplus_v3",
        inputSettings={'text':'新しいテキストソース','font':{'size':128}},
        sceneItemEnabled=True
        ))

# OBSから切断
ws.disconnect()

シーンアイテム(画像)の作成

基本的にはテキストソースと同じですが、inputKindとinputSettingsが異なります。

  • inputKindに「image_source」を指定
  • inputSettingsに画像ファイルのパスを指定
# OBS WebSocketのインポート
from obswebsocket import obsws,requests as obs_req

# OBS接続情報
host = "localhost"
port = 4455
password = "**********"

# OBS WebSocketクライアントの作成
ws = obsws(host,port,password)

# OBSに接続
ws.connect()

#シーンアイテム(画像)の作成
ws.call(obs_req.CreateInput(
        sceneName="テスト用",
        inputName="テキストメッセージ2",
        inputKind="image_source",
        inputSettings={"file":"画像ファイルのフルパス"},
        sceneItemEnabled=True
        ))

# OBSから切断
ws.disconnect()

公式ドキュメント

シーンアイテムを作成する公式ドキュメントは以下にあります。

コメント

タイトルとURLをコピーしました