OBS Studio Plugin「Branch Output」リリース

1. Branch Output の概要

この OBS Studio プラグインは、導入することでソースないしシーン毎に RTMP や SRT 等で「パラ出し」ができるようになります。

「パラ出し」とは、選択した任意のソースをそれぞれ個別の配信先に送出することを指します。

オープンソースの配信ソフト OBS Studio には、複数の配信を同時に送出する機能が、標準では搭載されていません。 もちろん、特定のソースやシーンだけを個別にパラ出しする機能もありません。

OBS Studio 標準では、プログラムアウトに出力された1つのシーンと、ミックスされたオーディオを、1つの配信サーバーに対して送出できます (または同時に録画ファイル、及びバーチャルカメラデバイスに出力できます)

その為、従来は複数の OBS Studio プロセスを起動することで、パラ出しに対応しました (例えば リモート配信システム のようなユースケースが該当)

または、DistroAV (旧OBS-NDI) を使う場合もあるでしょう。 ただし、リモートへの送出は別のエンコーダーが必要になります。

「Branch Output」プラグインでは、ソースやシーン毎に個別の配信先を追加できるので、 メインの配信チャンネルに配信しながら、「パラ出し」も 1 つの OBS Studio でまとめて行うことが可能です。

主な機能

  • ソースあるいはシーン毎に RTMP / SRT 等でパラ出しするエフェクトフィルタ「Branch Output」を追加
  • Branch Output 1つにつき専用の配信先、エンコーディング設定、音声ソースが選択可能
  • 音声ソースとして別のソースの音声、あるいは音声トラック1~6(ミキサー出力)が選択可能
  • Branch Output はソース1つ、シーン1つに複数追加可能
  • 接続が切れても自動的に再接続

2. インストール

GitHub リポジトリの Releases ページから最新のパッケージをダウンロード してください。公式のガイド に従って OBS Studio のインストールフォルダに配置してください。

インストーラー形式も用意しています

※インストーラーは今のところ署名されていませんので、「不明な発行元」の警告が表示されます。「詳細」を押してインストールしてください

対応プラットフォームは下記のとおりです。

  • Windows (x64)
  • Ubuntu (他、OBS Studio が動作する Linux でも使用可)
  • MacOS (未確認。OBS Studio の機能しか使ってないので多分動く)

3. 使用方法

  1. ソースまたはシーンの「フィルタ」を開く

    シーンのフィルタは、ドック下部の「フィルタ」アイコンをクリックするか、右クリックのコンテキストメニューから「フィルタ」を選択して開いてください。

  2. 「エフェクトフィルタ」の「プラス」アイコンをクリックし、に「Branch Output」を追加してください。名前を適時設定してください。

    注意:上段の「映像・音声フィルタ」ではありません。

  3. 「サーバー」に配信先の URL、また配信先から提供される「ストリームキー」を必要に応じて入力してください。入力方法はメイン配信のカスタム配信設定と同じで、 RTMP のほか SRT 等のプロトコルも使用できます。

    URL例:rtmp://example.com/live または srt://example.com:1234

  4. 音声ソースを選択してください。「カスタム音声ソース」にチェックを入れなければ、 エフェクトフィルタパイプラインの音声をそのまま音声ソースとして使用します。

    「カスタム音声ソース」にチェックをいれてほかのソースを選択することで、そのソースの音声を使用できます。 その場合、Branch Output は、当該ソースの全てのフィルタを通過した後、音声ミキサーに入る前の音声を取り込みます。

    「音声トラック1~6」を選択すると、Branch Output は音声ミキサーの出力を取り込みます。メイン配信に出していないトラックを使用すれば、 例えば「バス出力」にマイナスワンを作るような使い方ができます。

    「無音」を選択することも可能です。

  5. 音声および映像エンコーディングを設定してください。 音声エンコーダーはいろいろ選べるようになっていますが、基本「FFmpeg AAC」を選択してください。これ以外はおそらく配信先が対応してないと思います。 円蔵エンコーダーはメイン配信と同様に NVENC 等のハードウェアエンコーダーが使用可能です。

    PC全体で使用できるハードウェアエンコーダーの数には限りがあるので注意してください。 尚、ワークステーション向けでないコンシューマー用 GeForce でも、 最近ではNVENCの上限が8個程度に上がっているようです

  6. 「適用」ボタンをクリックすると配信が開始されます。うまく配信されない場合はサーバーとストリームキーをよく確認してください。

4. プラグインの挙動 (v0.9.4 時点)

以下の挙動は将来のバージョンで変更される場合があります。 その際はリリースでお知らせします。

4.1. 配信の解像度とフレームレート

配信解像度はソースの解像度が使用されます。

配信フレームレートは OBS Studio の映像設定の値が使用されます。

4.2. 他のフィルタの効果

Branch Output はフィルタパイプラインのどの位置に挿入されていても、全ての映像フィルタないしエフェクトフィルタが適用された後の映像が配信されます。

4.3. フィルタの「目」アイコンをクリックした場合の動作

Branch Output フィルタが非アクティブ化されると、配信も停止します。アクティブ化すると再び開始されます。

4.4. ソースの「目」アイコンをクリックした場合の動作

ソースが非アクティブ化されても、配信は停止しません。パラ出力(メイン配信には出さない)用に非アクティブにしておくという使い方を想定しています。 配信を一時的に停止したい場合はフィルタを非アクティブ化してください。

ただし、一部のソースは非アクティブになると配信が停止するものがあります(例:ローカルメディアファイル) これはソースの出力自体が止まるためで、 Branch Output プラグインの不具合ではありません。

4.5. シーンを切り替えた場合の動作

シーンを切り替えても、配信は停止しません。 ただし、上記の通り一部のソース(例:ローカルメディアファイル)はシーンが非アクティブになると配信が停止するものがあります。

4.6. シーンやソース、フィルタを削除した場合の動作

配信は停止します。

4.7. カスタム音声ソースを削除した場合の動作

カスタム音声ソースに指定しているソースを削除すると、音声が無音になりますが、配信は継続します。

4.7. ソースの解像度が変わった場合の動作

配信はリスタートが行われます。

4.8. Branch Output 新規作成時のデフォルト設定

音声・映像エンコーダー設定には、前回作成した Branch Output の内容が自動入力されます。

5. トラブルシューティング

5.1. リモートの OBS Studio に配信すると音声がブツブツする

OBS Studio のメディアソースの設定で「ネットワークバッファリング」を増加させてください。例えば 0 MB にしてる場合は 1 MB にしてみてください。 お使いのインターネット接続環境によっては、さらに増やす必要があるかもしれません。

5.2. パスフレーズを設定した SRT が配信できない

パスフレーズはストリームキーではなく、URL のパラメータにつける必要があります(例:srt://example.com:1234?passphrase=yourpassphrase

※ストリームキーとパスフレーズは別物です。

5.3. OBS Studio の「出力」や「映像」設定が変更できない

これらの設定は配信中だと変更できない仕様なので、メイン配信、Branch Output のパラ出し配信共に停止してから変更してください。

6. バグ報告・要望

バグ報告や要望などは GitHub リポジトリの Issues や Discussion までお寄せください。