臥竜の書

新配信720Pでの配信設定など(FFML,OBS)

2018/02/01 12:00 投稿

  • タグ:
  • FFML
  • OBS
  • NVENC
  • 高画質
  • 高音質
  • 新配信

現在の生放送での上限が
解像度 1280×720(720P)
フレームレート 30fps
音声 48000Hz 192kbps
配信ビットレート 6000kbps(音声との合計値)
視聴ビットレート 3000kbps

上記のように引き上げられました
今まで確認できている事や気になる点など

配信者側が6000kbpsで配信しても
強制的に3000kbpsまで再エンコードされてしまいます
(音声の上限も上記の通りに再エンコード)
他の配信サイトや録画時にビットレートと画質の関係など
調べていましたが720Pで60fpsでも5000kbpsあれば
激しい動きのゲーム配信でも問題ないと思われます
(プリセット品質にもよりますが)

720P配信で気をつかうのが上り回線
回線契約にもよりますが6000kbpsで放送しつづけると
プロバイダー警告や回線を絞られたり解約されたりする危険性の他
マンションなど共有回線では他の方にも迷惑がかかる
どうせ3000kbpsで再エンコードされるならば
リソースまかせのゴリゴリエンコードをして
3000kbpsで配信をしてみました
(テスト環境はi7の3倍以上のリソース)
結論から言うと芳しくない
確かに3000kbpsでも画質上がりましたが
再エンコードされるサーバー側が追い付いていない現象
具体的には途切れる事が頻繁に確認されています
エンコード品質を下げると症状は出ませんし
回線を6000kbps使っても問題ありませんでしたので
この事からプリセットで高画質への差別化は
ほぼ見込まれないと思っております
(CPU使用率は40%以下なので余力は十分)

強制再エンコードされるのに6000kbpsと3000kbpsに差はあるのか?
こちらも結論から言えば差はあります
回線が余裕のある環境の人は純正プリセットの
「veryfast」「faster」で十分でしょう ※veryfastを一応オススメ
再エンコードされてしまうならばサーバー側に負荷を丸投げしたほうが
回線以外のリソースは抑えられそうです
因みにゴリゴリのエンコード3000kbpsとveryfast6000kbpsでは
後者に画質の軍配は上がりますのでプリセット開発は不要となるでしょう
ただ回線をを逼迫させるやり方は疑問が残りますし
サーバー側への負担はかなり大きいので、この方法を取らないで
違う道を探すべきではなかったかと運営には苦言を呈します
twitchなど720P 60fps 5000kbpsで画質は各段に上ですし
(60fpsは30fpsの倍のビットレートを必要とされます)

以前からFFMLを推奨しているのは
「フィルターが使える」「自前ビルドでFDK-AACが使える」
この二点が凄く大きいです
後者はobsでもビルドして使用できますがビルド環境構築が
少々面倒ですしFFMLはフィルター効果が大きい事が理由

この実験にはXsplit&FFMLでの環境となり
Xsplit 1280×720 30fps
FFML 入力自動 出力1280×720 30fps
音声 FDK-AAC V1 48000Hz 128kbps(48000Hzの上限は128kbpsでAAC320kbpsと同等)
unsharp=3:3:1(テスト時はunsharp=9:9:1)最後の1を0.5~1の間が良さそうです


CPUを使わない「NVENC」GPUエンコード

以前からありましたがビットレート不足のため使用はほとんどされてませんでした
潤沢なビットレートを使える事によりオススメの配信方法となります
NVENCはグラッフィックボードが搭載されてるPCで比較的新しい世代のGPUに対応
(GeForce GTX 600番台以降)
CPU負荷は限りなく0%に近くGPU負荷もそこまでありません
重いゲームでGPU使用率が余力がない場合以外は全てのシーンで使用可能
FFMLだとビットレートが2000kbpsほどしか出ない為(バグ?)
この場合はOBSを推奨させていただきます
映像5500kbps 音声192kbps 若干余裕を持たせたほうが安定します
ここまでビットレートを使用できるならCPUエンコードと差は感じません
FFMLのシャープフィルターが使えないのは残念ではありますが
PCゲーム意外だと回線に余裕があるならば一番負担が少ないです
(720PでGPU負荷は20%弱)


コメント

コメントはまだありません
コメントを書き込むにはログインしてください。

いまブロマガで人気の記事