ニコ生でFMLE(Flash Media Live Encoder)を試してみた

ニコ生FMLE(Flash Media Live Encoder)を使ってみました。
まだ試行錯誤の段階ですが、
メモとして書き綴っていきます。
なお、FMLEFMEとも略されてます。
ニコ生公式でそのように略してますし・・・)
一応自分の所ではFMLEで統一しようかと思います。
FMEだと他の略語と被ってますんで。
まず、
自分は最初はFMLEは使うことができませんでした。
FMLEを起動までは出来るんですが、
ニコ生の設定ファイル(nicovideo_fme.xml)を読み込むと、
ブルーバック画面が出てきてPCが強制再起動してしまいました。
(俗に言う ブルーバック 別名 ブルースクリーン 
  "ブルーバックスクリーン(画面)が出てきてPC落ちる"
 の略と自分は思ってますが・・・
 ブルースクリーンはWindowsのマジやばいエラー画面です。
 基本的にはハードウェアの相性などで発生すること有ります。
 昔は発生しなかったのに最近出るようになった場合、
 PCの機械的な寿命が近づいてる証拠です。
 PCが起動するうちにバックアップなり新PCへ移行するなりしたほうが良いです。)
結局この現象は、
グラフィックボードを買う(変える)まで直りませんでした。
グラフィックボードを買う前は、
チップセット内臓のグラフィックチップを使っていたので、
グラフィックボードは必要としていませんでした。
内蔵グラフィックは
Intel 82945G  GMA X950
でした。
新たに購入したグラフィックボードは、
玄人志向のRH4350-LE512HD/HS です。
クラフィックボードの交換について詳しくは↓
グラフィックボード(RH4350-LE512HD/HS)を増設したよ
このボードにしたら、
FMLEはブルーバックで落ちることは無くなりました。
FMLEがブルーバックで落ちる方は、
グラフィックボードを変えるといいかもしれません。
高価なグラフィックボードの場合
簡単に交換できませんが・・・
さて、
FormatVP6H.264 があります。
どっちがいいのか微妙な所です。
色々言われているんですが、
PCの環境によって変わるんで、
正直な所やってみなければ
わからないって所でしょうか。
一般的には、
VP6 は安定していて、
H.264 はより高画質、
っと言われる事が多い感じがします。
自分も同意です。
っと言うより、
単にCPU負荷的に、
VP6の方が軽く、
H.264の方が重いので、
そうなるのかもしれません。
遅延について
FMLEで放送していると、
俗に言う "遅延"が発生します。
放送主の画面と、
放送画面の差が大きく開いたり、
コメントが投稿されてから表示されるまで
時間が掛かったりです。
自分が試した限りだと、
最悪15秒以上の遅延が発生したこともあります。
Q.なぜ遅延は発生するのか?
A.単純には負荷で発生するようです。
問題はどんな負荷で発生するのかですが、
CPUの使用率とBit Rateオーバーで
遅延が発生する気がします。
CPUの使用率を抑えても、
ビットレートが高いと遅延は発生します。
一応、FMLEでもビットレートの設定は出来るんですが、
設定しても、設定値は努力目標ぐらいにしか扱われず、
厳密に守ってもらえず、オーバーすることが有ります。
ニコ生公式アナウンス参考にすると、
384kbps以下にするように言われてますが、
FMLEで384kbps以下に設定しても、
余裕で384kbpsをオーバーします。
(LANキャプチャやアナライザーを使っての
 精密検査はしていません。
 Windows標準の転送量表示での大まかな判断なんで
 実際は違う可能性があります。)
転送量が384kbpsを超えると、
遅延が発生しやすい気がします。
遅延が発生する方は、
Frame RateOutput Size
落としてみてください。
Bit Rate は上記でも書いてありますが、
厳密に守ってはくれてないみたいなので、
Bit Rate を落としても、
あまり意味が無い場合が多いです。
お奨めの設定について。
PCの性能やネット回線などによって
変わるので一概には言えません。
テストしまくって、
自分に合った設定を見つけていくしかないです。
よーするに
実際にやってみなきゃ分からないという事です。
ベストセッティングを探す方法としては、
低負荷状態から徐々に高負荷にしていって、
OKポイントを捜すと良いと思います。
基本 FormatVP6 が良いと思います。
(詳細設定は初期値のまま)
Frame RateInput SizeOutput Size は、
CPU使用率が100%にいかないように調整していく。
遅延が発生したら、
Frame RateOutput Size を下げてみる。
Bit Rate は・・・・・
多分、そんな重要じゃないんじゃないかな~?
とりあえずは、200kbpsぐらいで
ベストセッティングを探すといいかもしれません。
遅延が発生しないポイントを見つけてから、
合計Bit Rateを 上げていくといい感じです。
って、やっていくと、
ベストセッティングが探しやすいんでないかと思います。
ちなみに自分は、
 Pentium Dual Core ( 1.8GHz 2コア FSB800MHz )
 メモリー 2GB
 グラフィックチップ ATI Raiden HD4350
 Windows7 Professional
で、
FMLEのセッティングは、
 Video
  Device : SCFH DSF
  Format : VP6 (標準設定)
  Frame Rate : 12.00fps
  Input Size : 320×240
  Bit Rate : 250kbps (計:298kbps)
  Output Size : 320×240
            (画質向上を目指すなら、
             512×384にすべきだけど、
             安定動作している。)
こんな感じです。
かなりCPUに余裕を持たせてます。
このほうが安定しますし。
Frame Rateが低めですけど、
ちょっとぐらい上げても
カクつき感は残ってしまうんで、
いっそのこと、おもいっきり下げました。
これでも標準の放送よりヌメヌメですし安定します。
Output Sizeも低めで出力しています。
ニコ生の仕様(512×384)で出力すれば
綺麗に出力できるんですが、
画質を犠牲にしてる分、
動作が安定します。
難しいところですけどね。
Bit Rateも限界まで60kbps以上の余裕を持たせています。
意外というか、
さほど画質の劣化は感じません。
Frame RateとOutput Sizeを犠牲にしてるのが
生きてるっぽいです。
Frame Rate と Output Size をあげちゃうと、
Bit Rateがオーバーする事が多くなっちゃうので、
遅延が発生しやすくなってしまいます。
配信開始しても正常に配信されない場合 (2010年6月27日 追記)
配信を開始しても、エンコードが正常に行われず、
動画が正常に流れないことがあります。
30秒に一回、だーって映像が流れたり、
StatisticsBit Rate0kbps のまんまだったり、
Encoding Log の所に、
Unexpected error encountered in encoding process.
のエラーが出ることがあります。
そのまんま訳すと、
エンコードしようとしたら、予期せぬエラーが発生しました。
的な意味になります。
自分もこのエラーが出ることがあって、
なんでだろう?っと悩んでいたんですが、
自分の場合は、
USBの音源を使用してたんですが、
テスト配信などで音声を全く考えず、
USB音源を繋げていないときに発生していました。
要するに、
音声入力が正常じゃなかった状態ですね。
音声入力がないぐらい無音でええやんって思いますが、
律儀にチェックしてくれてて、
指定されたデバイスより入力がないと、
上記のエラーが出るようです。
ご注意!!
ニコ生の仕様もいつ変更になるのかわからないので、
とりあえず、2010年6月25日現在と言うことで。
自分もまだまだ試行錯誤の段階で、
ここで書いてあるのは、
あくまでほんの一例です。
見当違いな事を書いてあるかもしれませんのご注意下さい。