【FME】 ダウンロードからニコ生での配信方法 
この記事を最初に書いたのがFMLEが使えるようになった日の1時過ぎ(この時点ではまだ使えない)で、それから9ヶ月がたち追記だらけで読みにくくなってきたので新たに書き直した。以前の記事はそのまま残してこれからはこちらの記事を保守する。
ニコニコの公式配信ツールNLEの記事はこちら
【NLE】 ここまで使えるニコ生エンコーダーNLEのベースとなったXSplitの記事はこちら
ニコ生で XSplit Broadcaster 配信 目次
以下のアドビ公式サイトからVersion3.0を選択して Flash Media Live Encoder 3.2(以下FMLE)ダウンロードする。ダウンロードするのにアドビのアカウントが必要。アカウントを作るのに所有のメールアドレスを使いたくない場合には
こちらがおすすめ。ダウンロードしたらインストールする。
Adobe - Flash Media Live Encoder 3Adobe Flash Media Live Encoder 3のダウンロード方法-ニコニコ生放送ヘルプ高画質・高音質で放送する-ニコニコ生放送ヘルプFMLEを使う利点は
高画質・高音質・ステレオ化にある。ユーザー生放送のゲーム実況ではカクカクだったのが映像の破綻無く放送できたり、歌ってみたではモノラル配信だったのがステレオ配信が出来その恩恵を受けられる。その他に車載放送でもFMLEがよく使われ少ない帯域で高画質配信が実現できる。
FMLEは配信者のPCで映像と音声をエンコードしてニコ生に送っているので
簡単配信よりは映像が遅延したり、配信PCが低スペックの場合はフリーズしたりするので注意が必要である。推奨PCスペックはインストール先のフォルダの Readme.htm にあり、目安としてゲーム実況やウェブカメラを使うなら CPU は intel Core 2 Duo 、メモリは 1GB 以上は必要である。
標準でFMLEでは動画のフォーマットに VP6、H.264。音声のフォーマットに MP3、Nellymoser が使用可能である。
VP6 は過去のニコ動のサーバーエンコードに使用されていたフォーマット。H.264 は現在のニコ動の MP4 で使用されているフォーマットでサーバーエンコードにも使用されるフォーマット。ニコ生では VP6 で放送した方が低fpsでは配信する側も視聴する側にも再生負荷が小さく済む。H.264配信は高スペックPCなら高画質で配信でき公式生放送、iPhone 端末向けに用いられている。
MP3 はよく聞く音声フォーマットでステレオ、モノラルどちらも可能。一方で Nellymoser はモノラルしか使用できない。また別途有料(180,00$)のAACプラグインを購入することで AAC で配信することも出来る。
AAC Encoder: MainConcept- Video の設定

- VideoのDeviceを決める
映像を映すデバイスを選択する。デバイスをインストールしているのにここに表示されない場合は必要なドライバーやランタイムが不足している場合があるので、説明書や NDC や NVS を配布しているコミュを参照する。
- Formatを決める
上で説明したとおりである。基本的には H.264 を使う。2007年以前のPCや、ネットブック等の非力のPCは VP6 を選択する。VP6のエンコードオプションの詳しい説明は ニコ生での設定方法 を参照。TSで解像度がおかしくなる問題は 【ニコ生】 FMLEでVP6配信するとTSでリサイズ表示される問題について 【訂正】 を参照。
- fps を決める
fps は、映像が1秒間にどれだけ動くかを設定する数値である。この数値が大きければ大きいほど映像がスムーズに動くが単純比較して fps が倍になれば Bit Rate も倍にしないと映像を維持できない。H.264配信は fps を5未満に指定したビットレート通りに配信できないので注意。
- Input Size、Output Sizeを決める
一般的に input(入力解像度)と output(出力解像度)は一致させる。ニコ生の画面は 512x384(4:3) 、Zero は 640x360(16:9) なのでinput と output を 512x384,640x360 に設定するときれいに映る。映像がよく動く放送は input と output を小さくすると少ないビットレートできれいに映る。取り込み解像度がワイドの場合は 16:9 の解像度を指定する。例えば 512x288,640x360 など。
- Bit Rate(映像の情報量)を決める
ニコ生では映像と音声の合計は原則384kbps以内に納めなければならないのでそれに収まるように設定する。一般的には200から250程度にする。この値が大きい程高画質になる。そして2012年5月からはAM2:00からPM19:30までに放送を開始した場合にはビットレート制限が480kbpsに緩和された。
ユーザー生放送のサービスタイム | ニコニコヘルプ
- Audio の設定

- Audio の Device を決める
入力してあるミキサーや外部入力を選択する。
- Format を決める
MP3 を選択する。
- Channels を決める
Stereo を選択する。映像にたくさんビットレートを振りたい場合は Mono を選択することで音声のビットレートを少なく出力できる。
- Sample Rate を決める
この値を小さくすると音声がこもった感じになる。映像にビットレートをたくさん振りたい場合は小さくする。
- Bit Rate(音声の情報量)を決める
ニコ生では映像と音声の合計が384Kbps以内に納めなければならないのでそれに収まるように設定する。この値が大きい程元の音声に忠実に配信できる。

- ゲーム実況でゲーム画面にインターレースが表示される場合は Deinterraice にチェックを入れてインターレースを解除する。

- 映像にビットレートと出力解像度は複数プリセットとして記入できるが配信する場合は使う設定1つだけにチェックを入れる。Maintain Aspect Raito にチェックを入れる取り込み映像をリサイズするときにアスペクト比を無視するのでチェックをつけたままにする。

Advance Encoder Settings は Format 横のスパナ

をクリックすると設定変更できる。
- デスクトップ静止画雑談
FMLEを使うメリットはステレオ配信できる程度。

- お絵描き配信、プログラミング配信
高解像度の映像を配信するのにメリットがある。

- 屋内ウェブカメラ配信
PCスペックにあわせて fps や解像度の設定をする必要がある。

- 野外配信・車載配信
回線とPCスペック、電源を考慮する必要がある。

- ゲーム実況
ゲームの種類(2D,3D)とPCスペックを考慮する必要がある。
2D VP6

3D VP6

H.264

2DのRPGは250/112など画質にビットレートをたくさん振るより音質にビットレートを振っても良い。
こちらも参照
【FMLE】 ニコ生での設定方法 【設定プリセット配布中】
VP6 の方が配信負荷が軽いと言われていたが H.264 はそれほど重たくならない。かえって H.264 の方が軽い場合もある。Drops の発生も高fps では H.264 より VP6 の方が発生しやすい。
H.264配信する場合 fps を大きくしないと指定ビットレート通りに配信されず画質が悪くなる。低fps で H.264配信する場合は指定ビットレートを制限オーバー(それでも合計で400程度まで)に指定する必要がある。制限オーバーすると配信がストップすると思われるかもしれないがログを見て平均ビットレート合計が400を下回っていれば配信が止まることはない。この方法は
VP6では使えないので注意。
一方で XSplitのx264はfpsを小さくしても指定したビットレートで配信できる。映像によって必要なビットレートで配信できる。
なお回線が細い場合に配信ビットレートが高いと生放送でラグが大きくなる、映像が止まる、TS生成に時間がかかる等の症状が見られる。
画質は同じ指定ビットレートではなく出力結果の同様の平均ビットレートで比較すると動きの大きい映像は H.264 の方がきれいになり、静止画など動きの少ない映像は VP6 の方がきれいになる。これはニコ動に動画をアップする場合にも言える。
【エヴァOPMAD】涼宮ハルヒの憂鬱[改] より
Bitrate Viewer で計測。
オリジナルのビットレート VP6

VP6配信のビットレート

H.264配信のビットレート

このようにVP6は平均してビットレートが高いが、H.264はメリハリがあり平均ビットレートの割に高画質になるのはこのためである。
H.264でローカルに保存した場合のf4vはそのままでは再生できないので処理をする必要がある。
f4vの動画を読み込み、編集するいきなりニコ生でFMLEを使用して配信テストをする前に、一度ローカルでニコ生と同じ設定で配信して保存(Save to File だけをチェックを入れ Browse から保存場所を指定)してみて映像のチェックとPC負荷を確かめてからニコ生で放送するのを推奨する。

配信中にFMLE画面にログが表示されるが Drops が大量に発生していると設定を見直す必要がある。原因はFMLEはエンコードと配信を同時に行っているがそのエンコードの失敗が Drops の値として出力されている。解決には上の
FMLE 使用時のPC負荷を下げるを参照するか H.264配信にする。この Drops はPCのスペック不足か VP6 で高い fps で配信しているとよく発生する。H.264配信だと同じビットレート、fps でも Drops が発生しない場合がある。

ログファイルの読み方は
C:\Users\Username\Video にある.log ファイルをテキストエディタ等で開き
Encoding Statistics を検索すると FMLE 画面と同じエンコードのログがあり改めて確認できる。
配信終了時にはニコ生で配信停止すると同時に
必ずFMLEをストップさせる。
ニコ生で外部ツールで配信する人には常識である384k制限。
平均ビットレート384kで30分放送すると約82.4MBになる。
ビットレート制限には2種類あってFMLE、XSplitのエンコード設定で指定する設定ビットレートと、実際にエンコードされて配信されている動画のビットレートである配信ビットレート(FMLEのログやXSplitの上の赤いところ)があり、基本的には設定ビットレートで制限内に納めれば問題ない。XSplitの登場でH.264配信がメジャーになりH.264の高画質と意外に低負荷が評価され始めFMLEのH.264で配信する人も増えた。しかしFMLEのH.264配信はそのVP6配信のように高画質にならない場合があるので注意が必要である。
FMLEのH.264配信は設定次第で設定ビットレートと配信ビットレートに乖離が生じ、同じ設定ビットレートなのにH.264がVP6より少しも高画質でない現象が起こる。その現象はVP6とH.264の違いのところで書いたがfpsを小さく指定(10未満)する、例えば雑談配信や野外配信、お絵描きなど余り映像が動かない映像ほどfpsが低ければ低いだけ乖離が生じやすくなる。fpsを大きくするとPC負荷が大きくなるのでFMLEでH.264配信する場合はゲーム配信等、高fps配信する人に限定される。
一方でXSplitで配信する場合はfpsが原因で設定ビットレートと配信ビットレートに乖離が生じないので雑談配信など静止画を映す放送など低fps配信にも使える。もちろんFMLEのVP6配信は設定ビットレートと配信ビットレートに乖離が生じないので適宜XSplitの機能を使いたい人はXSplitを使えばよいし、ステレオ配信したいだけなら FMLEのVP6配信すればよい。
生放送のラグ発生について
生放送が一時的に止まる場合に考えられるのが配信サーバーが混み合って生放送全体でラグが発生している場合、常時配信ビットレートが高い場合、配信ビットレートが瞬間的に上昇する場合である。それが長く続くと生放送自体は視聴できるがTSが生成されなくなる。正確なビットレートは分からないが常時で480K、瞬間で600K当たりからラグが発生しやすくなる。
まずFMLEとXSplitを同時起動して
XSplitの解像度とフレームレートの設定をFMLEのFrame Rate とInput Size、Output Size の設定と同じにする。しかし
ニコ生の解像度の横幅512ピクセルが選択できないので、横幅512ピクセルの場合は480ピクセルにする。そしてその解像度の16:9の場合は以下のようにクロップする。
XSplitの設定で解像度を480x288、フレームレートを任意。
FMLEの設定でFrame RateをXSplitと同じに、Input Size480x288、Output Size480x270、Crop Top:8 Bottom:10

またXSplitで映像を取り込む場合にNDCだとレジストリを書き換えて取り込み解像度をFMLEと同じ解像度に変えたほうが負荷が小さい。
レジストリを書き換えは
Windowsのffmpegで生放送する方法 を参照。
最後にFMLEで配信するので配信ビットレートと配信先のrtmpのコピペはFMLE側で設定する。
ニコ動・ニコ生に対して質問がある場合はここで質問する前に以下を参照外部参照リンク
VIPで初心者がゲーム実況するには@ Wiki - FME
- 関連記事
-
コメント
あろえ
また遊びにきます。
ありがとうございます。
2011/04/10 URL 編集