entry

無料の「Open Broadcaster Software」でゲーム動画を撮影する方法

date: 2013/03/14 17:00
|

obs_tutorial_00

最近話題の、オープンソースで開発されている多機能なストリーミング向けソフト「Open Broadcaster Software (OBS)」ですが、配信だけではなくゲーム動画を撮影する用途にも使えます。
今回は本来の使い方からは少しそれますが、キャプチャーソフトとして使うときの設定例を紹介します。


「OBS」による動画撮影の長所・短所

長所
  • 無料
  • (他の方法と比べれば割と)簡単
  • エンコードによりファイル容量をかなり減らせる
  • それでいて画質と音質は十分に保てる
  • DirectXを直接取り込める(おかげで軽い)
  • スピーカー(PCで再生される音)とマイク(自分がしゃべっている声)を同時に録音できる
短所
  • 動作が軽いと言っても、撮影と同時にエンコードしているので、それなりのマシンスペックが必要
  • つまり「最終的に出力されるファイルの画質」と「録画処理の重さ」との妥協点を見つける設定を探さなくてはいけない
  • Windows Vista以降にのみ対応(XPは非対応)
  • 動画編集ソフトによっては、出力されたMP4ファイルを扱えない場合がある
雑感

「Dxtory」や「Fraps」といった動画撮影に特化したソフトは、取り込んだ画面をほぼそのままAVIとして出力(大量に連なった紙芝居のイメージ)しているため、ファイルの容量が膨大になります(正確には圧縮オプションやエンコーダーを噛ませるといった策はありますが、焼け石に水だったり設定が難しかったりで現実的な選択肢ではありません)。
設定にもよりますが、自分の場合は1280×720(60fps)の取り込みで1分=約1GBでした。
これは最高の画質を得られるものの、ハードディスクの容量が有限であることを考えれば、超長時間の撮影には向いていません。
また、書き込み速度や酷使したことによる損耗など、ハードウェア的な問題(と心配)点もあります。

一方「OBS」では配信ソフトという仕様から、ビットレートやフレームレートを設定できるので容量を抑えることができ、なおかつH.264エンコードでそれなりの画質も望めます。
以下の設定では1分=約20MBとなります。
ただし撮影と同時にエンコードしているためDxtory等よりもマシンスペックが必要であり、その負荷に関わる設定は個々で見極めなくてはいけません。
また、出力されたMP4ファイルを動画編集ソフトが正常に読み込んでくれない可能性もあるので注意が必要です(はっきりとした原因はわからないので、この辺の試行錯誤に結構時間をとられます)。

つまり、「録画用ではないながらも高機能な『OBS』を使って上手いこと動画を撮ろう」というのが、今回の特集における基本的なスタンスです。

「OBS」の設定

ダウンロードとインストール

obs_tutorial_01

「OBS」の公式サイトからダウンロードを行います。Stable(安定版)と書いてある方がいいでしょう。
以降のインストールは画面に従って行えば問題ありません。
詳しい手順はCaveTubeの特設ページに掲載されているのでそちらを参照してください。

起動

DirectXの取り込みに関してトラブルがあるようで、Windows OSが64bit版であっても「OBS」は32bit版で起動することが推奨されています(そのうち解決するとは思いますが)。

以下は自分の環境における設定で、細かい数値については適宜調整してください。

設定 – 一般

obs_tutorial_02

設定画面を開きます。
「一般」のタブは無視しても大丈夫ですが、色々設定を試したい場合や配信も行いたい場合は「設定プロファイル」に録画用設定の名前を付けておくと便利です。
メインメニューの「プロファイル」から切り替えが簡単に出来るようになります。

設定 – エンコード

obs_tutorial_03

ここの数値が一番頭を悩ませる部分でしょう。
画質はこの「ビットレート」で決まるわけですが、後述する解像度とフレームレートにも関係する部分なので、テスト撮影をしながら調整する必要があります。
ただ今回は回線がネックとなるストリーミング配信をするわけではないので、ビットレートを上げる(=画質が上がる=ファイルの容量が増える)ことにそれほど慎重にならなくて済むのが救いです。

ちなみにオーディオで「MP3」を選択すると不具合が生じる報告が上がっているとのことで、「AAC」のままにしておくのが無難です。

設定 – 放送設定

obs_tutorial_04

「モード」を「ローカル録画」に変更し、保存先を指定します。
撮影開始・終了を繰り返しても同名ファイルに上書きされるわけではなく、(1)・(2)……といった具合に末尾に数字が付いて、それぞれ別に保存されていく仕組みになっているのでご安心を。

設定 – ビデオ

obs_tutorial_05

まずは取り込む解像度を指定します。
フルスクリーンモードでプレイしている場合はディスプレイの解像度(例: 1920×1080)にします。

次に出力する解像度を指定します。
「解像度の縮小」と「FPS(フレームレート)」で指定した数値が、出力される動画ファイルの仕様になるわけです。
複数人で動画を撮影し、後から合成したい場合は、この数値を統一する必要があるでしょう。

「起動した時にAeroを無効にする」にチェックを入れると、デスクトップの取り込み時にフレームレートが低下する現象を防げます。

設定 – サウンド

obs_tutorial_06

デバイスの選択は規定(既定の誤字か?)のままで問題ないはずです。
もし音声の取り込みに失敗している場合は、個別に設定し直してください。

「プッシュツートークを使う」(PTT)でキーを割り当てれば、そのキーを押下している間だけマイクの音声が動画に記録されます。

マイクの音量が小さい場合は「ボリュームを上げる」のボックスに数字を入力します(整数)。

設定 – 詳細設定

obs_tutorial_07

「プロセスの優先度」と「x264のプリセット」は基本的にはそのままで問題ないはずです。
PCスペックに余裕がある場合やない場合に調節すればいいでしょう。

動画編集ソフトを使って後から作業を行う場合、その他の「ビデオ」と「サウンド」の設定によっては読み込み時にエラーが発生する可能性があるので注意が必要です。
自分は普段Adobe Premiereを使っているのですが、OBSで出力したMP4がどうしても正常に読み込めず、AviUtlで代用することにしました。
ただAviUtlを使ってみても、CBRにチェックを入れたファイルは上手く読み込めなかったので、やはり何らかの相性問題がありそうです。

前述の「ビットレート」や「フレームレート(FPS)」の設定はあくまでも上限値(かターゲット値)であり、動きがない場面ではその値を抑える(容量が節約できる)仕様になっているようです。
CBR(固定ビットレート)やCFR(固定フレームレート)のチェックを入れることによって、各レートは設定値で安定し、編集もしやすくなるはずなのですが……この辺は素人なので、上手くいくまで試行錯誤を繰り返すしかありません。

ゲーム画面を取り込む

obs_tutorial_08

一通り設定を保存したら、メイン画面に戻ってきます。
「ソース」のボックスを右クリックして、「追加」→「ゲームキャプチャ」を選択します。
これがDirectXを直接取り込むモードです。

obs_tutorial_09

取り込みたいゲーム(もちろんDirectXを使っているもの)を起動します。
次に、追加した「ゲームキャプチャ」を右クリックして、「プロパティ」を選択、「プログラム」のプルダウンから対象となるゲームの名前を選択します。
「OK」を押してメイン画面に戻り、「配信プレビュー」を押しましょう。

すぐに反映されないときあるので、画面が真っ暗なままでも慌てる必要はありません。
何度か試した経験では、一度Alt+Tabでゲームに戻り、画面を少し動かしてやれば取り込みが上手く行く気がします。
取り込みが上手くいったことを確認したらプレビューを終了します。

撮影

メイン画面の「配信開始」ボタンを押して撮影を開始し、「配信終了」ボタンを押して終了します。
何度も言いますが各々の環境に応じた最適解があり、それを見つける試行錯誤が必要になるので、色々試してみてください。
また、「こう設定したら上手く行った」「行かなかった」などの情報やアドバイスをもらえると助かります。

関連するリンク

関連する記事