この記事ではOBS Studioで配信中にリプレイを再生する方法を紹介します
ゲーム配信はもちろん個人での大会配信など様々な配信で有効に利用できそうですね
リプレイの活用の例としては以下の動画のような感じです
リプレイバッファの設定
リプレイを使用するにはまずリプレイバッファを有効にする必要があります
設定->出力からリプレイバッファタブをクリックし、有効化します
最大リプレイ時間はリプレイを撮るボタンを押してから何秒前までのリプレイを保存するかを決めるものです
私の場合は20秒に設定しています
次に録画タブから録画ファイルのパスを指定します
OBS Studioで録画をする際に使用するフォルダと同じですが、リプレイもこのフォルダに保存されていきます
次に詳細設定からリプレイバッファのファイル名の接頭辞(ファイル名の先頭に足される文字列)を指定します
わかりやすくReplayとします
最後にホットキーからリプレイを保存するときに使用するキーを設定します
このキーを押してから指定したリプレイ最大時間まで遡った分のリプレイが保存されます
リプレイを保存するにはリプレイバッファを開始している必要があります
配信をする際にリプレイバッファを開始するのを忘れないために設定->一般から配信時に自動的にリプレイバッファを開始にチェックを入れておくことをおすすめします
リプレイを再生するシーン、ソースの作成
次に保存したリプレイを再生するためのシーンとソースを作成していきます
“シーン:Replay”を作成し、その中に”メディアソース:ReplaySource”を作成します
※それぞれの名前は自由に付けてください
作成されたメディアソースの設定はこちらで大丈夫です
再生するローカルファイルの指定もする必要がありません
メディアソースと保存したリプレイファイルを紐付ける
次に作成したメディアソースで再生するリプレイファイルを紐付ける必要があります
メディアソースは通常、ローカルファイル名を指定して動画を再生します
そのため保存されたリプレイファイル名の日時等がバラバラでは再生するファイルとして更新することができません
Directory watch media
そこで紹介するのはDirectory watch mediaというプラグインです
このプラグインを使用することでリプレイファイルを最新の状態に更新し続けることができます
インストール
ダウンロードしたファイルを解凍し、OBS Studioのインストールフォルダ(通常 C:\Program Files\obs-studio)に中身のdata、obs-pluginsをそれぞれ移動したらインストールは終わりです
Directory watch mediaの強み
OBS Studioには予めリプレイ用のInstant Replay.luaスクリプトが用意されています
このスクリプトはホットキーが押されたときにリプレイを保存し、保存されたリプレイファイルをメディアソースに読み込ませます
Directory watch mediaは指定したフォルダに作成されたファイルの中で一番新しいものをメディアソースに読み込ませます
これによってもし、OBS websocketなどを使用して別のアプリケーションなどからホットキーを押さずにリプレイファイルが作成された場合にもメディアソースは最新のリプレイファイルを読み込むことができます
Directory watch mediaでは読み込むファイルを新しいものだけでなく、古いものやファイル名のアルファベット順など指定する方法が多くありますが、ここでは最新のリプレイファイルを再生することを想定して解説していきます
使用方法
Directory watch mediaはフィルタとして適用します
作成したReplaySourceを右クリックしフィルタをクリックします
左下の+マークからDirectory watch mediaを追加します
次のリプレイファイルの保存フォルダ、リプレイファイルの拡張子、リプレイファイルを識別するための文字列を指定します
ここでは先ほど設定した接頭辞Replayをしてしています
以上で設定は終わりです
設定したリプレイバッファーのホットキーを押すとReplaySourceに保存されたリプレイが読み込まれます
リプレイの再生方法
この記事ではシーン変更でリプレイを再生する方法を紹介しています
基本的には以下の手順をリプレイを再生します
リプレイ再生の手順
リプレイバッファのホットキーを押して設定した秒数のリプレイを保存します
ここは正しく設定できていれば自動で行われるので操作は特に必要ありません
作成したReplayシーンに移動することでリプレイが再生されます
このとき、リプレイ用のトランジションを使用するとよりリプレイであることを強調できます
リプレイの再生が終了したら元のシーンに戻ります
この方法では、メインで配信しているときはライブの音声を入れて、リプレイではライブの音声を入れずにリプレイの音声のみを流すといったことが簡単にできます
シーンのおすすめの管理方法は以下の記事を参照ください
リプレイの終了時に自動的にもとのシーンに戻る
配信中、特に1人での配信の場合リプレイの時間をみて手動でシーンを切り替えるのは非常に難しいと思います
ここではプラグインを使用してリプレイの再生終了時に自動的にもとのシーンに戻る方法を紹介します
Advanced Scene Switcher
使用するのはAdvanced Scene Switcherというプラグインです
このプラグインはシーン変更(現在ではそれ以上)に関する様々な設定を自動化させることができます
インストールが完了したらメニューバーからツール→Advanced Scene Switcherを選択します
Generalタブではプラグインの全体的な設定をすることができます
このプラグインを利用するにはAdvanced Scene Switcher is: 欄がActiveになっている必要があります
OBS起動時に毎回手動でプラグインを有効にするのは手間なのでOn startup of OBSをAlways start the scene switcherにしておくのがおすすめです
この設定でOBS起動時に自動的にプラグインが有効になります
リプレイに関する設定を行うにはMediaタブを使用します
Mediaタブではメディアソースの再生状況に応じて自動的にシーンを変更する設定を行うことができます
画像ではおすすめの設定を記していますが、トランジションの時間等によって変更してください
リプレイソースが再生中、残り時間が1.5秒未満になったら前のシーンに現在のトランジションで変更といった設定になっています
ここまで設定した場合の実際の操作
ここまで設定が完了したら以下の2ステップでリプレイの再生ができます
リプレイバッファのホットキーからリプレイを保存
Replayシーンに変更
おわりに
1度設定したら2ステップでリプレイを再生できるので是非試してみてください
現在のシーンに被せてピクチャインピクチャでリプレイを再生する場合は以下の記事を参照ください
配信で自分のプレイを振り返ったり、VLCソースを利用してリプレイを連続して流せば配信の最後に配信のダイジェストとしても利用できます
Xsplitでリプレイを再生する方法は以下の記事を参照ください
質問等ありましたらコメントでできる限りお答えします