OBS Studio
Macro Deck に同梱シーンの切り替え、配信、録画、オーディオの操作を行い、OBS Studio での出来事に反応します。
設定名、ホスト、ポート、パスワードを入力する「OBS Studio に接続」ダイアログ
- シーン、プロファイル、シーンコレクションを切り替え
- 配信、録画、リプレイバッファー、仮想カメラの開始と停止
- 入力のミュート、音量設定、ソースとフィルターの切り替え
- シーン、タイムコード、FPS、ドロップしたフレームのライブ変数
- 複数の OBS インスタンスに同時に接続
OBS Studio 連携は、OBS に内蔵されている WebSocket サーバー (obs-websocket 5) を通じて Macro Deck を OBS に接続します。接続すると、配信中に OBS で行うほとんどの操作をボタンから実行でき、OBS が変更を報告し返すので、デッキには常に現在の状態が表示されます。
できること
- 番組のシーン、スタジオモードのプレビューシーン、プロファイル、シーンコレクションを切り替える。
- 配信、録画、リプレイバッファー、仮想カメラを開始、停止、切り替える。リプレイを保存する、録画を一時停止する、録画ファイルを分割する、チャプターマーカーを追加する。
- シーン内のソースを表示または非表示にする、フィルターを有効または無効にする、入力をミュートする、音量をパーセントまたは dB で変更する。
- テキストソースのテキスト、画像ソースやメディアソースのファイル、ブラウザソースの URL など、ソースの設定を変更する。
- プラグインが追加した出力も含め、OBS の任意の出力を名前で開始、停止する。
設定例:
- BRB 用のシーンに切り替えてマイクをミュートする BRB ボタン。
- 録画を切り替え、OBS が録画中、一時停止中、停止中のどれかを表示する 録画 ボタン。
- 音楽の入力の
obs_<input>_volume変数にバインドしたスライダー。スライダーを動かすと OBS の音量が変わります。 - OBS が 配信を開始しました を報告したときに通知を送るフロー。
動作のしくみ
Macro Deck は OBS が送るイベントを受け取るので、現在のシーン、ミュート状態、フィルターの状態などの変数は、OBS で変更してから 1 秒もかからずに更新されます。切り替えボタンは、OBS 側で状態を変えた場合も含め、状態が有効な間は点灯します。FPS、CPU 使用率、ビットレート、ドロップしたフレームなどの統計は、1 秒または 2 秒ごとに読み取られます。
固定の変数に加えて、変数の選択画面には、接続している OBS の各入力、シーン、シーンアイテム、フィルターが、音量、ミュート状態、表示状態、有効状態とともに表示されます。トリガーは、シーンの変更、録画と配信の変化、リプレイやスクリーンショットの保存、入力がアクティブになったとき、自作の OBS スクリプトが送るカスタムイベントに反応します。
配信用 PC とゲーム用 PC のように、設定は複数追加できます。設定ごとに専用の変数が作られ、すべてのアクションにどの OBS を操作するかを選ぶ 設定 欄があります。OBS が終了したりネットワークが切れたりすると、Macro Deck は再接続を試み続け、切断 と 接続済み のトリガーを発生させます。
必要なもの
- Windows、macOS、Linux 上の Macro Deck 3
- OBS Studio 28 以降 (obs-websocket 5 を含む)
- OBS の Tools > WebSocket Server Settings で有効にした WebSocket サーバー
- 名前による出力の開始と停止には obs-websocket 5.7 以降が必要
セットアップ
ステップ 1: OBS で WebSocket サーバーを有効にする
OBS で Tools > WebSocket Server Settings を開き、Enable WebSocket server にチェックを入れます。Server Port (既定は
4455) を控えます。Enable Authentication にチェックが入っている場合は、Show Connect Info をクリックしてパスワードを確認します。ステップ 2: Macro Deck で OBS Studio を開く
Macro Deck のサイドバーで 連携 をクリックし、OBS Studio をクリックします。概要 タブの 設定 セクションで 設定を追加 をクリックします。右上のスイッチをオンにしても同じダイアログが開き、セットアップが完了すると連携が有効になります。
ステップ 3: 接続情報を入力する
OBS Studio に接続 ダイアログで次の項目を入力します。
- 設定名: 自由に決めた名前 (例:
Streaming PC)。 - ホスト: OBS が同じコンピューターで動いている場合は
127.0.0.1、それ以外は OBS を実行しているコンピューターの IP アドレス。 - ポート: OBS のサーバーポート。既定は
4455です。 - パスワード: OBS のパスワード。認証がオフの場合は空欄にします。
続行 をクリックします。Macro Deck は設定を保存する前に接続をテストします。
- 設定名: 自由に決めた名前 (例:
ステップ 4: ボタンに OBS のアクションを追加する
デッキ ページで、使いたいボタンをクリックします。デッキのロックが解除されている必要があります。右上のボタンに ロック と表示されていれば解除されています。エディターが開き、短押し が選択されています。+ アクションを追加 をクリックし、アクションを追加 ダイアログの左側で OBS Studio を選択して、シーンを設定 などのアクションを選びます。設定 と シーン を選び、保存 をクリックします。
ステップ 5: ボタンを押す
スマートフォン、タブレット、または Web クライアントでボタンを押します。OBS が選んだシーンに切り替わります。何も起こらない場合は、OBS が起動していること、連携 の OBS Studio ページでその設定に 接続済み と表示されていることを確認してください。
アクション35
ボタンに設定したり、フローから実行したりできます。
- シーンを設定
- アクティブな番組シーンを切り替えます。
- プレビューシーンを設定
- スタジオモードのプレビューシーンを切り替えます。
- プロファイルを設定
- OBS を別のプロファイルに切り替えます。
- シーンコレクションを設定
- OBS を別のシーンコレクションに切り替えます。
- 録画を開始
- 録画を開始します。
- 録画を停止
- 録画を停止します。
- 録画の切り替え
- 録画を開始または停止し、OBS が録画中、一時停止中、停止中のどれかを表示します。
- 録画の一時停止/再開
- 現在の録画を一時停止または再開します。
- 配信を開始
- 配信を開始します。
- 配信を停止
- 配信を停止します。
- 配信の切り替え
- 配信を開始または停止します。
- 仮想カメラを開始
- 仮想カメラを開始します。
- 仮想カメラを停止
- 仮想カメラを停止します。
- 仮想カメラの切り替え
- 仮想カメラを開始または停止します。
- リプレイバッファーを開始
- リプレイバッファーを開始します。
- リプレイバッファーを停止
- リプレイバッファーを停止します。
- リプレイバッファーの切り替え
- リプレイバッファーを開始または停止します。
- リプレイバッファーを保存
- 現在のリプレイバッファーをディスクに保存します。
- 録画ファイルを分割
- 録画を続けたまま、新しい録画ファイルを開始します。
- 録画のチャプターを作成
- 録画中のファイルにチャプターマーカーを追加します (Hybrid MP4 形式のみ)。
- 録画フォルダーを設定
- OBS が新しい録画を書き込むフォルダーを設定します。
- 出力を開始
- プラグインが追加した出力も含め、OBS の出力を名前で開始します。
- 出力を停止
- プラグインが追加した出力も含め、OBS の出力を名前で停止します。
- 出力を切り替え
- プラグインが追加した出力も含め、OBS の出力を名前で開始または停止します。
- 出力の状態を取得
- OBS の出力がアクティブかどうかを変数に読み込みます。
- ソースの表示を設定
- シーン内のソースを表示、非表示、または切り替えます。
- 入力をミュート
- オーディオ入力をミュート、ミュート解除、または切り替えます。
- 入力の音量を設定
- オーディオ入力の音量をパーセントまたは dB で設定、増加、減少します。
- ソースフィルターを設定
- ソースのフィルターを有効、無効、または切り替えます。
- 入力設定を変更
- テキストソースのテキストやブラウザソースの URL など、ソースの設定を 1 つ変更します。
- 入力の音量を取得
- オーディオ入力の音量 (パーセント) を変数に読み込みます。
- フィルターの状態を取得
- ソースフィルターが有効かどうかを変数に読み込みます。
- 入力のミュート状態を取得
- オーディオ入力がミュートされているかどうかを変数に読み込みます。
- ソースの表示状態を取得
- シーン内でソースが表示されているかどうかを変数に読み込みます。
- スタジオモードの切り替え
- スタジオモードをオンまたはオフにします。
トリガー24
ボタンやフローがこれらのイベントに反応できます。
- シーンが変更されました
- 番組 (ライブ) のシーンが変わりました。特定のシーンだけに限定することもできます。
- プレビューシーンが変更されました
- スタジオモードのプレビューシーンが変わりました。
- 録画を開始しました
- OBS が録画を開始しました。
- 録画を停止しました
- OBS が録画を停止しました。
- 録画を一時停止しました
- 録画が一時停止されました。
- 録画を再開しました
- 録画が再開されました。
- 録画ファイルの変更
- 録画が開始した、新しいファイルに移った、または停止しました。ファイルのパスも含まれます。
- 配信を開始しました
- OBS が配信を開始しました。
- 配信を停止しました
- OBS が配信を停止しました。
- リプレイバッファーを開始しました
- リプレイバッファーが開始しました。
- リプレイバッファーを停止しました
- リプレイバッファーが停止しました。
- リプレイバッファーを保存しました
- リプレイクリップがディスクに書き込まれました。ファイルのパスも含まれます。
- スクリーンショットを保存
- OBS がスクリーンショットをディスクに保存しました。ファイルのパスも含まれます。
- 仮想カメラを開始しました
- 仮想カメラが開始しました。
- 仮想カメラを停止しました
- 仮想カメラが停止しました。
- スタジオモードが変更されました
- スタジオモードがオンまたはオフになりました。
- 入力のミュート状態が変更されました
- オーディオ入力がミュートまたはミュート解除されました。特定の入力だけに限定することもできます。
- 入力がアクティブになりました
- ウェブカメラがライブになったときなど、入力が番組出力に描画され始めました。
- 入力が非アクティブになりました
- 入力が番組出力に描画されなくなりました。
- 入力の表示が開始されました
- 入力が番組出力またはプレビュー出力に描画され始めました。
- 入力の表示が停止されました
- 入力が番組出力にもプレビュー出力にも描画されなくなりました。
- カスタムイベント
- OBS のスクリプトやプラグインがカスタムイベントを送信しました。特定のイベント名だけに限定することもできます。
- 接続済み
- Macro Deck が OBS に接続し、OBS の読み込みが完了しました。
- 切断
- OBS との接続が切れました。
変数14
これらの値をボタンやウィジェットに表示したり、条件に使ったりできます。
obs_<configuration>_is_connected- Macro Deck がこの OBS に接続しているかどうかです。
obs_<configuration>_current_scene- アクティブな番組シーンです。
obs_<configuration>_preview_scene- スタジオモードのプレビューシーンです。
obs_<configuration>_current_profile- アクティブなプロファイルです。
obs_<configuration>_current_scene_collection- アクティブなシーンコレクションです。
obs_<configuration>_is_recording,obs_<configuration>_recording_paused,obs_<configuration>_recording_timecode- OBS が録画中かどうか、一時停止中かどうかと、録画の経過時間です。
obs_<configuration>_is_streaming,obs_<configuration>_streaming_timecode- OBS が配信中かどうかと、その経過時間です。
obs_<configuration>_virtual_camera_active,obs_<configuration>_replay_buffer_active,obs_<configuration>_studio_mode_active- 仮想カメラ、リプレイバッファー、スタジオモードがそれぞれオンかどうかです。
obs_<configuration>_fps,obs_<configuration>_max_fps,obs_<configuration>_cpu_usage- OBS が報告するパフォーマンスの数値です。
obs_<configuration>_streaming_bitrate,obs_<configuration>_recording_bitrate- 現在の出力のビットレート (kbps) です。
obs_<configuration>_dropped_frames,obs_<configuration>_dropped_frames_percent,obs_<configuration>_skipped_frames,obs_<configuration>_skipped_frames_percent- 配信でドロップしたフレームと、エンコーダーがスキップしたフレームの数と割合 (パーセント) です。
obs_<configuration>_last_recording_file,obs_<configuration>_last_screenshot- 最新の録画ファイルとスクリーンショットのパスです。
obs_<input>_volume,obs_<input>_mutedなど- 選んだ各入力の値です。音量 (dB。書き込み可能なのでスライダーで設定できます)、ミュート、アクティブ、表示中、オーディオトラック (
obs_<input>_track_1から_6)、モニタリングの種類、同期オフセット、その設定です。名前は選択画面が提案し、変更することもできます。 obs_<scene>_<source>_visible,obs_<source>_<filter>_enabled- ソースがシーン内で表示されているかどうかと、フィルターが有効かどうかです。名前は選択画面が提案し、変更することもできます。
よくある質問
OBS が別のコンピューターで動いていても使えますか?
はい。OBS を実行しているコンピューターの IP アドレスを ホスト に入力し、そのコンピューターのファイアウォールでポート (既定は 4455) を許可してください。録画フォルダーを設定 や 入力設定を変更 などのアクションのパスは、OBS を実行しているコンピューター上のパスです。
複数の OBS を操作できますか?
はい。設定を追加 で OBS のインスタンスごとに設定を 1 つ追加します。それぞれに専用の変数があり、各アクションの 設定 欄で操作する OBS を選べます。
OBS が終了したり接続が切れたりするとどうなりますか?
Macro Deck はバックグラウンドで再接続を試み続け、OBS が戻ると再び接続します。それまでは、アクションは OBS に接続されていません。 で失敗し、切断 と 接続済み のトリガーが発生するので、フローで反応できます。
アクションが失敗するのはなぜですか?
アクションに理由が表示されます。たとえば、シーンやソースがもう存在しない、OBS がまだシーンコレクションを読み込んでいる、OBS が録画していない (録画ファイルを分割 と 録画のチャプターを作成 の場合) などです。OBS で名前を変更した場合は、アクションでもう一度選び直してください。
WebSocket のパスワードはどこに保存されますか?
Macro Deck は、Macro Deck を実行しているコンピューター上にパスワードを暗号化して保存し、OBS への接続にだけ使います。
配信のその他の連携
Meld Studio
Macro Deck に同梱Meld Studio でシーンの切り替えと準備、レイヤー、エフェクト、オーディオトラックの操作、配信の開始ができます。
Streamlabs Desktop
Macro Deck に同梱Streamlabs Desktop でシーンの切り替え、配信、録画、音声ソースの操作ができます。
Streamer.bot
Macro Deck に同梱Streamer.bot のアクションの実行、チャットメッセージの送信を行い、Streamer.bot が報告するすべてのイベントに反応します。
Twitch
Macro Deck に同梱Twitch のチャットと配信統計を表示し、モデレーション、投票、広告を行い、フォロー、サブスク、レイドに反応します。
YouTube
Macro Deck に同梱YouTube のライブチャットと配信統計を表示し、タイトルやタグを変更して、スーパーチャットやメンバーに反応します。