OBS WebSocketで録画開始と録画終了する方法

録画自動化のアイキャッチ OBS
⚠ OBS WebSocket v4 に関する注意

OBS WebSocket v4 は旧バージョンであり、OBS 28 以降では v5 が標準です。
v4 を使用する場合は互換性に注意してください。
最新の仕様については
OBS WebSocket v5 の解説記事
を参照してください。

OBSをPythonから操作して録画を開始・停止する方法を解説します。
自動化すれば配信や録画が効率的になります。

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

前提条件、環境

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

実際に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)を取得することで”録画ファイル名を任意のファイル名に変更しつつ移動”などが可能です。

コメント

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