⚠ 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でテキストソースを削除するコードは以下になります。
- シーンアイテムIDを取得
- sceneNameにシーン名を指定
- sceneItemIDで削除対象のシーンアイテムIDを指定
# シーンアイテムIDの取得
scene_item_id = ws.call(
obs_req.GetSceneItemId(
sceneName="テスト用", # シーン名を指定
sourceName="テキストメッセージ2") # ソース名を指定
).datain['sceneItemId']
# シーンアイテムの削除
ws.call(obs_req.RemoveSceneItem(
sceneName="テスト用",
sceneItemId=scene_item_id))
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()
# シーンアイテムIDの取得
scene_item_id = ws.call(
obs_req.GetSceneItemId(
sceneName="テスト用", # シーン名を指定
sourceName="テキストメッセージ2") # ソース名を指定
).datain['sceneItemId']
# シーンアイテムの削除
ws.call(obs_req.RemoveSceneItem(
sceneName="テスト用",
sceneItemId=scene_item_id))
# OBSから切断
ws.disconnect()
公式ドキュメント
シーンアイテムを削除する公式ドキュメントは以下にあります。



コメント