⚠ OBS WebSocket v4 に関する注意
OBS WebSocket v4 は旧バージョンであり、OBS 28 以降では v5 が標準です。
v4 を使用する場合は互換性に注意してください。
最新の仕様については
OBS WebSocket v5 の解説記事
を参照してください。
OBSをPythonから操作してシーンアイテムを作成を解説します。
その他にも知りたい方はコチラの記事を見てください。
前提条件、環境
- OBS:28.0以上
- Python:3.9以上
- obs-websocket-py
- OBS WebSocketの接続設定
シーンアイテム(テキスト)の作成
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()
公式ドキュメント
シーンアイテムを作成する公式ドキュメントは以下にあります。



コメント