Xbox 360 のHDMI 出力をPC でキャプチャ出来る環境を作ってみた (2) 配信の為のソフトウェア編

Xbox 360 のHDMI 出力をPC でキャプチャ出来る環境を作ってみた (1) 接続とドライバインストール編」 の続き。
接続だけで結構長くなりましたが、ここからもややこしくて、数ヶ月もすれば自分でも手順を忘れると思うので、そのときのマニュアルも兼ねて。
まずは最初に試した「Ustream Producer」 についてもう少しだけ。これは、UI がちょっと分かりにくくて、マニュアル読まないのもアレですが、設定などがあちこちにばらけてたり、Intensity Pro の認識も時々怪しいことがあったり、映像のソースを「DeckLink Video Capture」 にした場合、音のソースが強制的に「DeckLink Audio Capture」 となってしまうので音だけ別ソースから、というのが不可、という結構致命的なものがありました。
音に関しては、アナログ音声も、付属の変換ケーブルで直接Intensity Pro に入れられたので、一度Ustream Producer で配信などやってみたんですが、そこそこキレイに見られるモノの、時々カクつく(フレームレートが落ちる?) ことがあったようでした。
CPU パワーが足りてない可能性もありますが、別の方法でこのあたりをある程度改善できるかも、ってので教えて貰ったのが、以下の方法。

  1. くすのきTVHD for Intensity でプレビューしている映像を
  2. SCFH DSF でそれをそのまま
  3. Adobe Flash Media Live Encoder に渡してエンコード、
  4. 実際の配信はWeb ブラウザからustream の配信ページから行う

という感じです。以下順を追って説明します。
くすのきTVHD の設定は、前回書いたのとほぼ同じです。ただ、音声はアナログでSE-U55SX に入れているため、オーディオデバイス選択で、SE-U55SX を指定しています。また、SE-U55SX の入力切り替えを「LINE」 にする必要があります。この状態で適当にテスト録画し、映像と音声が(ずれていてもいいから) 録画できていればこの段階はOK。
SCFH DSF は、とりあえずダウンロードして解凍、どこかのフォルダに移動させてから中のバッチファイルを実行します。これの設定は後ほど。
Adobe Flash Media Live Encoder は、てっきり有償ソフトだと思ってた(Adobe Flash Media Streaming Server と混同していた) のだけど無償ソフトと言うことで太っ腹ですな。ただ、ダウンロードの際Adobe ID が必要。Adobe のソフトウェアを登録したことのあるヒトなら既に持ってるかも。
このあたりの詳細とはこちらのページ参照。画像付きでウチとは大違いです。

Adobe Flash Media Live Encoder(FME) を使うメリットは、ustream 側でテンプレートファイルを自動的に生成してくれて、あとはそれをベースに必要なところを変更すれば良いだけ、という点。まずはそのテンプレートのダウンロードから。英語表記だと、[Your Shows] → [Advanced] → [Flash Media Encoder XML File] となるようですが、日本語表記だと[番組設定] → [詳細設定] → [Flash Media Encoder XML ファイル] となります。
FME を起動し、今手に入れたxml ファイルを、FME の[File] → [Open Profile] で指定し、読み込みます。
そしてここでSCFH DSF 起動。先にFME を起動させておくのがポイント。使い方はこのあたり参照。

「Drag Here.」 と書かれたボタンをドラッグし、そのままくすのきTVHD のウィンドウに落とします。配信中は、くすのきTVHD のウィンドウはできるだけ動かさないようにして、最小化しちゃうと映像も消えるので、ウィンドウの後ろ側でもよいのでデスクトップに表示させたままにしておきます。
設定画面はこんな感じ。
SCFH DSF でくすのきTVHD の画像をキャプチャ
あと、必要かどうかはよく分からないんですが、左下の[レイアウト] で開くウィンドウの[ツール] → [設定] の[width] を、配信予定サイズと同じ"480" にしています。また緑枠のウィンドウを動かすことで、実際の配信に使われる際の位置決めが出来るようです。
ついでに、状況表示のために、パネルを1枚追加。PcHusen で480x25 サイズ固定の付箋を1枚作って下に表示させてみた。フォントはメイリオ 8ポイント。...なんて書いてたんだけど、ここでちょっとスペースを勘違いしていたことが判明。実際は、もっと大きな付箋でもOK で、上下の黒枠それぞれに480x44 の付箋を2枚貼るとか可能です。このへんはFME のプレビューウィンドウを見ながら追い込む感じで。
DCFH DSF プレビューウィンドウのレイアウト
なお、配信中はSCFH DSF も起動させたままにしておきます。最小化はOK。
で、最後にFME の設定。Bit Rate は配信する動画サイズに比べて大きめかも。準備できたら"Start" ボタンを押します。
FME の設定画面。あとはStart を押すだけ
FME がしばらく固まったようになって、少し画面が変わったら、準備OK です。いよいよ配信へ。はWeb ブラウザからustream を開いて[番組設定] → [ライブを開始] を選択。FME が自動的にustream の機能を上書き(というか乗っ取る?) ので、なにもいじる必要はありません。準備が出来たら[配信の開始] を押せばustream での配信が始まります。
注意しないといけないのは、配信を終えるときは必ず[ブロードキャストの停止] を押す、ということ。配信中にいきなり配信ウィンドウを閉じてしまったり、ブラウザが強制終了してしまうと、おそらくustream サーバ側で中途半端に配信ステータスが残ってしまうみたいで、ウチの環境ではPC を再起動しないと再度配信できるようにならなかったです。でもひょっとするとFME の再起動だけでOK だったのかもしれない。
うちでは一応ブラウザのクラッシュ対策で、ustream のページはGoogle Chrome で開いてます。普段使わないブラウザで開くようにすると安心かも。
そんなこんなでどうにか動画配信できるようなりました。ついったー上で色々とアドバイスして頂いた方々にこの場を借りて感謝します。
あとは...ただゲームの映像を音を流すだけでなく、ここに実況音声も...とか夢は広がりますが、とりあえずそれは次のステップですね。一応そういったことも考えて、Xbox 360 からの音声をアナログで出していたりします。あとはミキサとかマイクアンプなどがあればいいらしい。というわけで定番商品メモ。