obsws-python(OBS WebSocket v5準拠)をPythonから操作してシーンアイテムを削除する方法を解説します。
ツールで作成したシーンアイテムをそのままにしておくと、OBS Studio上で管理し辛くなるので削除するときに使っています。
その他にも知りたい方はコチラの記事を見てください。
前提条件、環境
- OBS:28.0以上
- Python:3.9以上
- obsws-python
- OBS WebSocketの接続設定
シーンアイテムを削除
OBSでテキストソースを削除するコードは以下になります。
- シーンアイテムIDを取得
- sceneNameにシーン名を指定
- sceneItemIDで削除対象のシーンアイテムIDを指定
# シーンアイテムIDの取得
res = ws.base_client.req("GetSceneItemId",
{
"sceneName":"ナニカツクル", # シーン名を指定
"sourceName":"テキストメッセージ2" # ソース名を指定
}
)
scene_item_id = res["responseData"]["sceneItemId"]
# シーンアイテムの削除
ws.base_client.req("RemoveSceneItem",
{
"sceneName":"ナニカツクル",
"sceneItemId":scene_item_id
}
)
OBS WebSocketの接続を含めた一通りのコードは以下となります。
# OBS WebSocketのインポート
import obsws_python as obsws
# OBS接続情報
host = "localhost"
port = 4455
password = "**********"
# OBS WebSocketクライアントの作成
ws = obsws.ReqClient(host=host, port=port, password=password)
# シーンアイテムIDの取得
res = ws.base_client.req("GetSceneItemId",
{
"sceneName":"ナニカツクル", # シーン名を指定
"sourceName":"テキストメッセージ2" # ソース名を指定
}
)
scene_item_id = res["responseData"]["sceneItemId"]
# シーンアイテムの削除
ws.base_client.req("RemoveSceneItem",
{
"sceneName":"ナニカツクル",
"sceneItemId":scene_item_id
}
)
# OBSから切断
ws.disconnect()
公式ドキュメント
シーンアイテムを削除する公式ドキュメントは以下にあります。


コメント