【連載第33回】あなたとわたしのPCゲーミングライフ!!


佐藤カフジの「PCゲーミング道場」


リアルタイム配信時代の「ゲームプレイ番組」のつくり方
Ustream? ニコ生? ゼロから始める配信ソリューション指南


色々な意味で業界の「最先端」を走る、PCゲーミングの世界。当連載では、「PCゲームをもっと楽しく!」をコンセプ トに、古今東西のPCゲームシーンを盛り上げてくれるデバイスや各種ソフトウェアに注目。単なる製品の紹介にとどまらず、競合製品との比較や、新たな活用法、果ては改造まで、 様々なアプローチでゲーマーの皆さんに有益な情報をご提供していきたい。



■ プレイ動画配信のあれこれをご紹介

プレイ動画の配信には色々なソフトを組み合わせる必要がある。その内容や手順ををご紹介

 昨今のゲームシーンにおいて、ゲームの面白さを共有する手段として「プレイ動画」を何らかの手段で誰かに見てもらう、という遊び方がすっかり一般的になってきている。ゲームというのは自分で遊ぶのが1番楽しいのは間違いないが、そのプレイ風景を見るのもまた面白いものだ。そのスタイルにプレーヤーのキャラクターが透けて見えてきて、同じゲームでも別の人間がプレイすればまた異なるコンテンツに早変わりする。

 当連載では「【連載第23回】HD時代のゲームプレイ動画のつくり方」にて、動画のキャプチャーからエンコードまでのノウハウをご紹介した。今回はその発展系となるが、新しいトレンドとして現在急速に拡大しつつある「リアルタイム配信」について取り上げてみたい。

 現在、ゲーム動画をリアルタイム配信する方法は、基本的な部分で2系統ほどに分類することができる。ひとつは、「ニコニコ動画」や「Ustream」といった動画配信サイトのサービスを利用するFlashストリーミングの方式で、今後ますます支配的な手法になるだろう。もうひとつは、Windowsネイティブのエンコーダーである「Windows Media Encoder 9」を利用する方法で、少人数の内輪向けの配信ならこれもまだ便利だ。

 本稿ではこの2つの配信方法をご紹介しつつ、より高画質で配信する方法や、フルスクリーンでゲームをプレイしながら、同時にリアルタイム配信を行なう方法など、各種オンラインアプリケーションの紹介を交えつつ、いまどきのベストソリューションをお伝えする。

コラム:ゲームプレイ動画と著作権
ゲームメーカーの著作物であるゲームタイトル。そのプレイ動画をプレーヤーが配信する行為は、著作権法的にはグレーゾーンにある。ゲームのグラフィックス、シナリオ、サウンド等のアセットは著作物として法的に守られており、たいていはメーカー・パブリッシャー側が複製や改造、再頒布などを明示的に禁じている。しかし著作者が持つ「公衆送信権」に関わる部分、つまりゲーム動画の配信はたいてい明示的には禁じられていないし、もちろんしても良いとも書かれていない。メーカー側としては良識の範囲内でプレイ動画を楽しんでもらえるなら良しという按配で、ひとまず自由に任せているというのが現状だ。とはいえ、発売前のゲームに対するネガティブキャンペーンを意図した動画や、あからさまなネタバレを含むものなど悪質なものは、該当する動画の公開をメーカーが差し止めた例もある。善意のユーザーとしては常識の範囲内で楽しむ姿勢が必要だ。



■ プレイ動画配信のしくみとアプリケーション

 具体的な方法に触れる準備として、簡単に動画配信のメカニクスをご紹介しておきたい。Windows PC用のゲームでは、Direct Xを用いて画面を描画するゲームがほとんどだが、これを視聴者の目に届くようにするまでには、右図のように概ね5つのステップがある。


プレイ動画ライブ配信のしくみ

1.ゲーム画面
 この時点では、ゲームの映像はDirectXのフレームバッファ上に存在し、モニターに映しだされている。

2.キャプチャー
 ゲームの映像が描かれているフレームバッファを取り込んで、エンコーダーが必要とするフォーマット(DirectShowストリーム)に変換するのがこのステップだ。このために使えるアプリケーションとして「SCFH DSF」、「DxTory」といったDirect Show Filter対応型のキャプチャーソフトがある。

3.エンコード
 取り込んだ映像はそのままでは非常に巨大なデータなので、動画コーデックで符号化してコンパクトな配信用の形態にするのがこのステップ。Flashストリーミング動画ならFlash内蔵のブラウザコンポーネントあるいは「Adobe Flash Media Live Encoder(FMLE)」でエンコード、Media Player向けなら「Windows Media Encoder 9(WME9)」シリーズがそれぞれ無料で利用できる。

4.配信
 「WME9」でエンコードした場合は直接プレーヤーに送信するか、Windows Media Serverを経由して視聴者に配信する。Flash動画なら「ニコニコ生放送」や「Ustream」といった大手動画サイトのサービスがストリームの配信を行なってくれ、簡単に大勢の視聴者に動画を届けることが可能だ。

5.視聴
 動画ストリームに対応するプレーヤーで動画を受信・視聴するのがこのステップ。特に意識することはない。


 この5ステップのうち、配信者が準備する必要があるのは、動画配信サイトを利用した簡単な配信方法では「2.キャプチャー」の部分だけ。より高画質でカスタム設定の配信を行ないたい場合は「3.」の部分でもソフトの導入・設定が必要になる。

 ひとまず次章では、すぐにできる簡単な方法からご紹介していこう。



■ ビックリするほどの簡単さ。「Ustream」で動画配信

ライブストリーミングサービスの雄、Ustream
ユーザー登録後、すぐにライブ配信ができるようになる

 では具体例として「Ustream」(http://www.ustream.tv/)を利用して簡単にプレイ動画を配信する方法をご紹介しよう。Ustreamはライブ配信に特化したFlashベースの動画共有サービスで、ユーザー登録を行なえば全ての機能が無料で利用できる。動画のストリームはUstreamのサーバーを経由して視聴者に届くしくみで、視聴者数の上限はないというのが凄いところ。仮にあなたのプレイ動画を1万人が見に来れば、その1万人が皆同時に見られるのだ。

 まずはユーザー登録を行ない、トップページ上部にある自分のユーザー名をクリック。すると「ダッシュボード」が表示され、ここから自分の番組を作成し、ライブ配信を開始することができる。ライブ配信の管理画面に移行すると「カメラとマイクへのアクセス」をFlash Playerから要求されるので、「許可」を押そう。このプロセスはインターネットセキュリティがらみのお約束みたいなものだ。

 Ustreamの配信管理画面では、プレビュー画面の下にあるコントロールパネルで「ビデオソース」と「オーディオソース」をそれぞれ選ぶことができる。ここに表示されるのはいずれも、Windows上ではDirect Show Filter準拠のデバイスだ。Webカメラを接続していれば、そのデバイス名が表示されることだろう。

 しかし今回我々がやりたいのはWebカメラでの顔出し配信ではなく、ゲーム画面の配信だ。前章でご紹介したように、そのためにはゲーム画面をDirectShow ストリームに取り込み・変換することが必要になる。デスクトップを直接取り込んだり、ウィンドウモードのゲームを配信する場合は「SCFH DSF」、フルスクリーンのゲームを配信する場合は「DxTory」がオススメだ。


お約束の承認ダイアログ。「許可」を押そう ブラウザ内に表示される配信管理画面。基本的には「ビデオソース」と「オーディオソース」を適切に指定するだけでOKだ


・「SCFH DSF」の設定方法

「SCFH DSF」(右下)を使い、「ニコ生」で配信テストをしている模様

 「SCFH DSF」は◆e5bW6vDOJ.氏(どこかの巨大掲示板のトリップだろう)によるフリーソフトで、デスクトップの映像を取り込んでDirectShowストリームに変換する機能に特化したアプリケーションだ。ソフトの入手は作者によるまとめサイトより。

 「SCFH DSF」をインストールすると、DirectShowのビデオソース項目に「SCFH DSF」というそのままの名前の項目が出現する。取り込み範囲を指定するには、まずゲームをウィンドウモードで起動しておいて、「SCFH DSF」を起動しよう。ダイアログの上部にある「Drag Here」という部分をクリックし、目的のゲームのウィンドウをクリックすると、自動的にその範囲を取り込むようになる。

 出力サイズは、エンコーダー側の要求する画面サイズに自動的に合わされる仕組みで、Ustreamの場合はデフォルトで400×300。より高画質で配信する際はエンコーダー側を外部アプリケーションに変えることになるが、「SCFH DSF」側はこのままでOKだ。ちなみにWindows 7環境では「SCFH DSF」でフルスクリーンのゲーム画面を取り込むことはできないので、次に紹介する「DxTory」の出番となる。


・「DxTory」の設定方法

「DxTory」の動画設定画面。「DirectShow Output」に「Stream」を指定して、各種設定を行なう

 「DxTory」は本連載で動画作成についてご紹介した際にも触れたことのあるアプリケーションだが、単に動画をキャプチャーするだけでなくDirectShowストリームを出力するためにも使える。公式サイトはこちら。有料ソフトだが無料でも全機能が使える。無料仕様の場合、キャプチャーした動画にDxToryのロゴが表示される点がデメリット。

 最新のDirectX 11、OpenGLなどにも対応し、スクリーンショットから動画キャプチャ、様々な形式での出力に対応する多機能なツールであるため少々全貌を掴むのが大変な部分もあるが、今回の目的に使う限りではそう難しくない。「Movie Setting」のタブを開き、「Size」欄で配信に適したサイズを指定、「DirectShow Output」欄にて「Stream」を指定するだけだ。

 「Ustream」などの配信サイトの画面側でビデオソースを「DxTory Video 1」と指定すると、背景色だけが映された画面が出てくるはず。これで準備は完了で、あとはゲームをフルスクリーンで起動し、「DxTory」でビデオキャプチャーに割り振ったホットキー(筆者はF12を使用)を押せばキャプチャーが開始され、配信サイト側にもそれが反映される。


・オーディオソースの設定方法

「再生リダイレクト」の存在はコントロールパネルのサウンドオプションで確認できる
「再生リダイレクト」がない場合の力技。自己責任で!

 動画配信サイト側の「ビデオソース」は、上記のキャプチャーソフトが提供する項目を選択すればOKだが、音声に関しては少々決まりごとがある。ゲームが生成する音声はPCのサウンドドライバーから音声出力に向かう仕組みだが、これをトラップするためのオーディオソースとして「再生リダイレクト」などと呼ばれる特殊なミキサーがあり、それを指定する必要があるのだ。

 「再生リダイレクト」はサウンドドライバーのメーカーによって呼称が異なる場合があり、「ステレオミキサー」、「ステレオミックス」など色々な表現があるので注意が必要。

 マイクからの実況音声を同時に取り込む場合は、マイク音声をスピーカーから再生するようにしておけば、「再生リダイレクト」から一緒に出力されるようになる。サウンドカードやドライバーによっては「再生リダイレクト」の仕組みを持たないものもあるので、そういうPCをお使いの場合は、右図に示すように、音声出力を物理的に音声入力端子に接続し、オーディオソースとして「ライン イン」を指定する方法もある。



 ここまでの手順を踏んでおけば、Ustream上でのゲーム動画のライブ配信は驚くほど簡単に実現するはずだ。「ニコニコ生放送」も同じくFlashベースの配信システムを使っているため、手順は全く同じ。「ニコニコ生放送」の場合は週末の夜ともなれば放送枠の確保に数百人待ちの行列に並ばされることもあるので、テストしてみるなら平日の朝などがオススメである。


「DxTory」を使い、Ustreamで配信している様子 簡単とはいえ、デフォルト設定ではあまり画質が良くないかも



■ より高画質で配信するなら「Adobe Flash Media Live Encoder」を使おう

現時点での最新版「Adobe Flash Media Live Encoder 3.1」
その画面。Flashビデオストリームのプッシュに特化した機能を持つ
今回試した配信設定。充分に文字が読め、「Ustream」のデフォルトの再生ウィンドウサイズにフィットするようあたりを付けてみた

 さて、「Ustream」の唯一の弱点と言えるのがデフォルトの動画配信解像度の低さだ。400×300ドットしかないため、ゲーム動画配信用としては心許ないところ。できればより高い解像度で配信を行ないたいところだ。ここからはより高画質で配信を行なう方法をご紹介しよう。

 その具体的な方法とは、エンコードを外部ソフトで行なうというアプローチだ。Flashのストリーミング動画では「Adobe Flash Media Live Encoder(FMLE)」が無料で利用できる。Adobeのサイト内にて最新バージョン3.1の無償ダウンロードが可能なので、高画質配信を目指すならインストールしよう。

 「FMLE」はFlash動画のエンコード・サーバーへのプッシュ用途に特化したアプリケーションで、動画エンコードソフトを使ったことのある人なら起動直後の画面を見ただけでだいたいの見当がつく。そうでなくてもユーザーによる設定が必要なのは、ビデオソース、オーディオソースの選択と、画面サイズ、コーデック、ビットレートの指定くらいなのでそう難しくない。

 仕組みとしては、キャプチャーした動画をエンコードしつつ、動画サイト上の自分の配信チャンネルにストリームをプッシュ、あとは動画サイト側で視聴者にデータが配信されるというもの。「自分の配信チャンネルにストリームをプッシュ」するという部分はアドレスの指定が必要。「Ustream」の場合、自分の番組の「詳細設定」にあるXMLをダウンロードして「FMLE」に読み込ませることで、番組毎のアドレスが指定される仕組みだ。「ニコニコ生放送」も似たような感じだが、こちらは放送毎にアドレスが変わるので毎回XMLをダウンロードしてくる必要がある。

 ビデオソースの指定とオーディオソースの指定は、前章でご紹介した「SCFH DSF」か「DxTory」を用いる方法と同様でOKだ。コーデックは「VP6」と「x264」が選択できるが、前者は動きの速い動画向け、後者は画質を優先したい場合に向いている。非力なPCでは「x264」は重すぎるので、重いゲームを配信する場合は「VP6」を選んでおけば間違いないだろう。

 画面サイズはそのまま配信のサイズとなる。画質とパフォーマンスをバランスよく取るなら、筆者のおすすめ解像度は640×360ドット。動きが少ないゲームなら500kbps程度、動きが激しいゲームなら1,000kbps程度で済むし、この解像度なら今回テストで使用した「シヴィライゼーション V」で文字がぎりぎり読める。「Ustream」の視聴画面のデフォルトサイズが606×342ドットであることを考えると、それ以上に大きくするのもあまり意味がなかったりするのだ。

 フルスクリーンに拡大しての視聴を前提とするなら1,280×720ドットといったHD解像度で配信することも可能ではあるが、エンコードに膨大なマシンパワーが必要となるほか、視聴者側にもフルスクリーン化を強いることになるため、あまりユーザーフレンドリーではないということを考えておきたい。なお、「ニコニコ生放送」では384kbps以上のビットレートでの配信は非推奨なのでご注意を。

 設定が終わったら画面下部の「Start」ボタンを押してエンコード・サーバーへのプッシュを開始。この状態でUstream側の「ライブ配信」ボタンを押して番組をスタートすれば、プッシュされたストリームを元に番組の配信が開始されるはずだ。配信された画質をチェックしつつ、解像度、フレームレート、ビットレートの設定を詰めていこう。

 全部ひっくるめて、ここまでの操作順をまとめると、以下のようになる。

1. ゲーム画面のキャプチャーソフトを起動
2. ゲームを起動、キャプチャーソフトでの取り込み開始
3. 「FMLE」を起動、動画サイトからDLしたXMLファイルを読込み
4. 「FMLE」にてエンコード設定を行ない、プッシュ開始
5. 動画サイト側でライブ配信を開始

 ここまでを使いこなせるようになったら、Flashベースの動画配信サイトについてはマスターしたも同然。あとはどのように視聴者に楽しいゲームプレイを魅せるか、プレーヤーのセンスと腕前の見せどころだ。


配信用XMLへのリンクは、「Ustream」では各番組の「設定」の「詳細設定」の項目内、「ニコニコ動画」では放送ツール内で「外部ツール配信」を押した先にある

こんな映像サイズでの配信も一応は可能。むしろUstreamのサーバーがどこまで耐えられるかが問題?



■ 内輪向けの動画配信をするなら「Windows Media Encoder 9」

「Windows Media Encoder 9」
ビデオとオーディオのソースを、前章までと同じ要領で準備して選択
エンコード設定
「Windows Media Player」コンパチブルのプレーヤーで視聴できる

 次に、内輪向け限定の配信方法をご紹介しておきたい。動画配信サイトを利用したライブ配信は非常に便利だが、視聴者を選びにくいという特性もある。特定の誰かにだけ見せたい、それ以外には見せたくないという場合。「ニコニコ動画」ならコミュニティ限定、「Ustream」なら番組にパスワードをかけるという方法がある。だが、全世界のユーザーが利用するサーバーをわざわざ経由させなくても、自分のPCと相手のPCだけで完結するやり方もあるのだ。

 その方法とは、「Windows Media Encoder 9」と「Windows Media Player」コンパチブルのプレーヤーを使う方法。両方ともWindowsネイティブアプリケーションなので、Flashベースのものよりもやや動作が軽い、という目立たないメリットもある。Windowsのヘビーユーザーだとむしろこちらの方が楽かも知れない。

 「【連載第23回】HD時代のゲームプレイ動画のつくり方」にてエンコーダーとしてご紹介した際には、「WME9はWindows 7では使えない」と表記してしまったが、実はサポートされていないだけで現在も使用が可能だ。前回ご紹介した「Expression Encoder 3」でも同様のことが可能だが、今回は「WME9」の使い方を簡単にご紹介しておきたい。

 マイクロソフトのサイトで無料で入手できる「WME9」には32ビットバージョンと64ビットバージョンがあり、お使いのOSのバージョンに応じて適切なものを選ぶ必要がある。いずれもマイクロソフトサイト内のダウンロードセンターからダウンロード可能だ。

 2007年のソフトであり少々古いとはいえ、その分動作は軽快。起動したら「プロパティ」ボタンを押し、現われる設定パネル上で「ビデオ」、「オーディオ」の適切なソースを選択する。次に「出力」タブでは「エンコーダーからプル」を指定することで、「Windows Media Player」コンパチブルのプレーヤーで直接視聴ができるようになる。

 次に「圧縮」タブの設定だ。ここでは無数のプリセットからデフォルトの設定を選ぶことも可能だが、ゲーム配信に向いたものはないので「編集」ボタンを押して、適切なビデオサイズ、フレームレート、ビットレートを指定しよう。筆者は解像度640×360ドット、20fps、800kbps程度の設定がバランスが良いと思い、よく使っている。重いゲームを配信するなどでマシンパワーの余力が少ない場合などは、「デコーダ」の“複雑さ”欄を「自動」もしくは「シンプル」にしておくと、フレームレートの犠牲が最小限になる。(そのぶん画質も多少損なわれるが)。

 動画サイトを使ったFlashベースの配信と異なり、重要なのが出力ポートの設定だ。デフォルトではTCP ポート8080番でストリームがネットワーク出力されるようになっているが、動画を見る相手がこのポートに接続できるよう、ルーターのポートマッピングを適切に設定しておく必要がある。動画サイト経由の配信が当たり前となった今となってはずいぶんレガシーな感じがするが仕方ない。

 あとは「エンコードの開始」ボタンを押せばストリーミングが開始される。視聴するためには、「Windows Media Player」コンパチブルのプレーヤーにて「ファイルを開く」あるいは「URLを開く」操作を行ない、配信を行なっているPCのIPアドレスを「mms://xxx.xxx.xxx.xxx.:8080」的なフォーマットで入力する。このアドレスを、動画を見てもらいたい人に伝えよう。



(2010年 11月 24日)

[Reported by 佐藤カフジ ]