⚠ 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の接続設定
録画開始と録画終了のコード
実際にPythonで録画開始と録画終了するためのコードは以下となります。
# 録画開始
ws.call(obs_req.StartRecord())
# 録画停止
ws.call(obs_req.StopRecord())
OBS WebSocketの接続を含めた一通りのコードは以下となります。
from obswebsocket import obsws,requests as obs_req
host = "localhost"
port = 4455
password = "***************"
ws = obsws(host,port,password)
ws.connect()
# 録画開始
ws.call(obs_req.StartRecord())
# 録画停止
ws.call(obs_req.StopRecord())
ws.disconnect()
録画自動化のサンプル
録画自動化のサンプルコードです。
実用化させるためには以下を修正してください。
- “録画開始の確認”や”録画終了の確認”を見直し
- ループの終了条件を修正
# OBS WebSocketのインポート
from obswebsocket import obsws,requests as obs_req
# OBS接続情報
host = "localhost"
port = 4455
password = "***************"
# OBS WebSocketクライアントの作成
ws = obsws(host,port,password)
# 録画フラグ
record_flg = False
# OBSに接続
ws.connect()
# 録画の開始と停止を繰り返す
while(True):
# 録画開始の確認
if record_flg == False and input("録画開始しますか? y/n: ") == "y":
# 録画開始
ws.call(obs_req.StartRecord())
record_flg = True
# 録画停止の確認
if record_flg == True and input("録画終了しますか? y/n: ") == "y":
# 録画停止
ws.call(obs_req.StopRecord())
record_flg = False
ws.disconnect()
公式ドキュメント
録画開始と録画終了の公式ドキュメントは以下にあります。
録画終了時にはレスポンスにファイルパスが返却されます。
ファイルパス(outputPath)を取得することで”録画ファイル名を任意のファイル名に変更しつつ移動”などが可能です。



コメント