OBSでWebSocketを有効にするには?
- OBSの上部メニューから「ツール → WebSocket サーバー設定」を開きます。
- 「WebSocketサーバーを有効にする」にチェックを入れます。
- 認証がオンになっている場合は、「接続情報を表示」をクリックしてパスワードをコピーします。
- 「OK」をクリックします。
OBS Bridgeはobs-websocket 5と通信します。これはOBS Studio 28以降に最初から組み込まれています。初期設定では ws://127.0.0.1:4455 に接続するので、OBSが同じパソコンにあるならWebSocket URLの欄は空のままでかまいません。OBSが別のパソコンにある場合は、そのパソコンのアドレスとポート(例: ws://192.168.1.20:4455)を入力します。接続できないときは、5秒ごとに再試行します。
OBS Bridgeを設定するには?
- OBS Bridgeの設定ページを開きます。
- 聞き取るTwitchチャンネル、Kickチャンネル、またはその両方を入力します。
- 許可ユーザーを追加します。誰を追加するかは下で説明します。
- OBSのWebSocketパスワードを入力し、必要ならWebSocket URLを変更します。
- ツールURLをコピーし、ブラウザのタブか、OBSのカスタムブラウザドックとして開きます。
- ツールページにOBSのシーンが一覧表示されます。メインとBRBに使いたいシーンの横にある「メイン」「BRB」ボタンをクリックします。
何も選ばなかった場合は、メインには Main Scene、BRBには BRB Scene という名前のシーンを探します。選んだシーンはツールページのURLに保存されるので、選んだあとにURLをもう一度コピーして保管しておいてください。次に開いたときも同じシーンが読み込まれます。
どんなチャットコマンドがありますか?
| コマンド | 動作 |
|---|---|
| !scene <シーン名> | 名前が一致するシーンに切り替えます |
| brb | BRBシーンに切り替えます |
| back | メインシーンに切り替えます |
| !show / !hide <ソース名> | 配信中のシーンでソースを表示 / 非表示 |
| !toggle <ソース名> | 表示中のソースを非表示に、非表示のソースを表示 |
| !blink <ソース名> | ソースを非表示にして、1秒後に再表示 |
| !mute / !unmute <ソース名> | ソースをミュート / ミュート解除 |
| !startstream / !stopstream | 配信を開始 / 終了します |
| !startrecord / !stoprecord | 録画を開始 / 停止します |
| !profile <プロファイル名> | 名前が一致するOBSプロファイルを読み込みます |
| !health [on|off] | 監視中のソースの状態をツールページに表示します。`on`と`off`でシーンの自動切り替えをオン・オフします |
brb と back はビックリマークなしで打ちます。コマンドは大文字・小文字を区別しませんが、メッセージ全体がコマンドである必要があります。brb は動き、brb 5 min は動きません。設定ページの「コマンド」で、!scene の代わりに !switch にするなど、どのコマンドの名前も変更できます。
配信と録画のコマンドは、リストに入っていてモデレーターか配信者のバッジも持つユーザーだけが使えます。停止コマンドは本当に配信を終了するためです。!profile は配信者だけが使え、配信、録画、仮想カメラ、リプレイバッファのいずれかが動いている間は動きません。プロファイルにはストリームキーとエンコーダー設定が含まれるためです。それでも、許可ユーザーのリストは短くしておきましょう。
!scene コマンドはどうやって正しいシーンを見つけますか?
まず完全一致を探します。!scene game は、大文字・小文字を区別せず「Game」という名前のシーンに切り替えます。完全一致がなければ、名前にその語を含む最初のシーンを選びます。!scene chatting なら「Just Chatting」シーンが見つかります。一致するシーンがなければ何も起きません。
同じ語を含むシーンが複数ある場合は、「シーン」リストでいちばん上にあるものが選ばれます。似た名前のシーンがあるなら、フルネームで打つのが確実です。シーンを追加したり名前を変えたりすると、リストは自動で更新されます。
!show、!hide、!toggle、!blink、!mute、!unmute も同じ方法でソースを探します。名前がちょうど「Cam」のソースがなければ、!hide cam は「Webcam」ソースを非表示にします。表示と非表示は配信中のシーンとそのグループ、入れ子のシーンから探し、そこにあるそのソースのコピーをすべて変えます。ミュートはすべてのシーンに効くため、ミュートとミュート解除はすべてのソースから探します。
コマンドを使えるのは誰?
許可ユーザーのリストに入っている人だけです。リストが空だと、配信者も含めて誰もコマンドを使えないので、自分のアカウントも追加してください。シーンとソースのコマンドはリストに入っていれば使えます。配信と録画のコマンドにはさらにモデレーターか配信者のバッジが、!profile には配信者のバッジが必要です。
各ユーザーはプラットフォームと一緒に追加され、URLには commandUser=twitch:bob,kick:alice のように入ります。プラットフォームと名前の両方が一致したメッセージだけがコマンドとして扱われます。そのため、誰かがKickでTwitchのモデレーターと同じ名前を取っても、シーンは切り替えられません。
プラットフォームなしで保存された古い名前(bob だけ)は、URLでプラットフォームがひとつだけ設定されていれば、そのプラットフォームで使えます。両方のプラットフォームがオンのときは、これらの名前はツールページで黄色く表示され、プラットフォームを選ぶまでコマンドを使えません。
ツールページは開いたままにする必要がありますか?
はい。チャットを読み取ってOBSにコマンドを渡しているのはツールページです。タブを閉じるとコマンドは動かなくなります。配信中はずっと、ツールをタブかOBSのドックで開いておいてください。OBSとの接続が切れた場合は、5秒ごとに再接続を試みます。
ツールURLをパスワードのように扱うべき理由は?
URLの中に、OBSのWebSocketパスワード(obsWebsocketPassword パラメータ)が含まれているからです。URLを共有することは、パスワードを共有することと同じです。配信に映さず、チャットに貼らず、画面共有のときはアドレスバーを隠してください。
OBSへの接続は、ブラウザからOBSへ直接つながります。ツールページ自体は普通のウェブサイトと同じくextensions.senchabot.comから読み込まれるので、パスワードを含むアドレス全体がそのリクエストと一緒に送られます。