2016年6月12日日曜日

【スプラトゥーン】ニコ生配信構成図

スプラトゥーンのニコ生配信環境がごちゃごちゃしてきたので整理。
何も見ずに同じ構成を再現できる気がしない('A`)

やりたかったこと (この構成で出来ること)

・試合中のマップ画面も配信する
・戦績をikaLogに送信する
・ローカルに録画を残す。ただし字幕やマイク、棒読みちゃんは残さない
・味方の「ナイス!」「カモン!」も配信音声に含める
・配信窓でニコ生の音声確認をできるようにする(PC上の音をミキシングしない)
・棒読みちゃんの声だけスピーカーから聞こえるようにする(キャプチャしたゲーム音は流さない)
・マイクの声にソフトエフェクトを掛ける
・CPU使用率をなるべくおさえる(大体60%程度)


構成図


デバイスの内訳

オーディオI/F①:Roland UA-3FX(インプットモニタ機能が付いているデバイスなら何でも
オーディオI/F②:BEHRINGER XENYX 302USB(マイクとイヤホンの音量調整がいい感じに出来るので)
オーディオI/F③:Realtek High Definition Audio(よくあるやつ)

キャプチャ:AVerMedia AVT-C875
Webカメラ:Logicool C270

マイク:CUSTOMTRY CM-2000(首からつるして使用)
スピーカー:ダイソーに売ってる100円のもの

仮想オーディオデバイス①:WsAudio_Device(1)
仮想オーディオデバイス②:WsAudio_Device(2)
   (Wondershareのソフトをインストールすると一緒に入ってくる仮想オーディオデバイス)


ソフトウェアの内訳

・大御所キャプチャソフト
・ikaLogを使用するため、映像を直接XSplit Broadcasterに流さずいったんアマレコTVで受ける
・将来Windows10にアップデートする場合の泣き所その1。アマレコTV4で大丈夫かな…?
 →アマレコTV4は64bit版のみ。キャプチャデバイスのAVT-C875は64bit非対応。
   Win10はサポート対象外ということを承知の上でアマレコTV 3.10を使い続けるしかない

・みんな大好きスプラトゥーンリアルタイム画像解析ソフト
stat.inkに戦績を投稿したり自動で録画を開始するために使用
slideshareの解説がとても面白い

・キャプチャソフトその2。画面を自由にレイアウトできる
・アマレコTVの映像、Webカメラの映像、ゲーム音をこのソフトでキャプチャする
・無料版でOK
・ローカルに録画するのはこのソフトでキャプチャしている映像と音声

OBS (実際に使用しているのはOBS MP 改二 0.14.2)
・キャプチャソフトその3。正式名称はOpen Broadcaster Software
・NVENCでCPU使用率を抑えつつHE-AACv2でビットレートを節約するためにOBS MP 改二を採用
 (公式版OBSでは今のところHE-AACv2を圧縮形式に指定できない)
・ただしXSplit Broadcasterと相性が悪く、そのままだと映像を取り込めないので工夫する
 (この工夫は0.16.x以降必要なくなった?)
・ニコ生に配信するのはこのソフトでキャプチャしている映像と音声

FFmpegのGUIランチャー
・普通は配信に使用する。が、この構成では録画用の設定を保存するために使用
・ikaLogと連携して自動で録画開始/停止するようにしている。スクリプトはこんなの
・XSplit Broadcasterのローカル録画機能は音質が悲しいことになるためFFMpegで録画している

・任意のウィンドウを最前面で固定する
・ニコ生にワンポイントで表示するペイントソフトが他のウィンドウに隠れないように出来る

・サウンドルーティングソフト 3つセット
アマミキ!の方が新しいけど猿ちぃはVSTプラグインが使用できる
・将来Windows10にアップデートする場合の泣き所その2

・ニコ生コメントビューア&音声読み上げソフト
・棒読みちゃんの音声出力先を仮想オーディオデバイス②に設定する(基本設定→音声出力デバイス)


その他

・Webカメラでゲームパッドの画面を撮影する方法→こちらの記事

・OBSの設定画面
これでも画質が高すぎるのかNVENCが重いのか、時々配信画面が止まる(;'A`)
ニコ生の更新ボタンを押せば直るタイプの止まり方なのでまだマシとは言え、
出来るだけ高画質で配信したい…


・OBS MP 改二をビルドあれこれ
Q. 「d3d9-capture.cpp(65): fatal error C1001」とか出る
A. https://twishort.com/F0wkc VC2015ではなくVC2013使った方が良さげ

Q. Error: could not load cache
A. env32.sh(env64.sh)のコメントアウト外し忘れ、もしくは設定ミス
  QtはC:\Qt以外にもインストールできるがC:\Qt以下にインストールした方が安全

Q. OBS起動時にこんなメッセージが出た!
  「プロシージャ エントリ ポイント (中略) が
  ダイナミック リンク ライブラリ Qt5Core.dllから見つかりませんでした」
A. ニコ生用プラグインを手動で最新版に差し替えた時に発生する可能性がある。
  BuildStudioOBSでビルドするニコ生用プラグインとはちょっと違う?
  大人しくOBS MP 改二ごとビルドしなおすとスムーズ

Q. その他いろんなビルドエラー
A. 環境を再確認する(64bit版ビルドツールで32bit版OBSをビルドしようとしていないか)
  env32.sh(env64.sh)のコメントアウトの状態を今一度確認する
  ※OSが64bitでも32bit版OBSはビルドできる、起動も可能