【2026年版】OBS WebSocket v5の録画方法

タイトル。OBS録画の自動化 OBS

obsws-python(OBS WebSocket v5準拠)を使って録画開始・停止する方法を解説します。

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

前提条件、環境

録画開始と録画終了のコード

実際にPythonで録画開始と録画終了するためのコードは以下となります。

# 録画開始
ws.base_client.req("StartRecord")
# 録画終了
ws.base_client.req("StopRecord")

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

import obsws_python as obsws

host = "localhost"
port = 4455
password = "**********"

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

# 録画開始
ws.base_client.req("StartRecord")

# 録画停止
ws.base_client.req("StopRecord")

録画自動化のサンプル

録画自動化のサンプルコードです。
実用化させるためには以下を修正してください。

  • ループの終了条件を修正
  • “録画開始の確認”や”録画終了の確認”を見直し
# OBS WebSocketのインポート
import obsws_python as obsws

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

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

# 録画フラグ
record_flg = False

# 録画の開始と停止を繰り返す
while(True):

    # 録画開始の確認
    if record_flg == False and input("録画開始しますか? y/n: ") == "y":
        # 録画開始
        ws.base_client.req("StartRecord")
        record_flg = True

    # 録画停止の確認
    if record_flg == True and input("録画終了しますか? y/n: ") == "y":
        # 録画停止
        ws.base_client.req("StopRecord")
        record_flg = False

ws.disconnect()

公式ドキュメント

録画開始と録画終了の公式ドキュメントは以下にあります。

録画終了時にはレスポンスにファイルパスが返却されます。
OBS WebSocket v5だとレスポンスが統一されていて、responseDataにファイルパスが格納されます。
StopRecordのレスポンスは以下の通りです。

{'requestId': 603, 'requestStatus': {'code': 100, 'result': True}, 'requestType': 'StopRecord', 'responseData': {'outputPath': '録画ファイルのフルパス'}}

実際の使い方としてはStopRecordのレスポンスを受け取り、ファイルパスを抜き出す必要があります。
responseDataは辞書(dict)型で返却されるので、以下のように取得しましょう。

# 録画停止
res = ws.base_client.req("StopRecord")
print("録画ファイルのパス:", res["responseData"]["outputPath"])

コメント

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