アス直RTAという沼

【OBS】Twitchの低負荷&高解像度な配信設定【低スペPC友の会】

2017/01/02 23:12 投稿

コメント:1

  • タグ:
  • OBS
  • OBS_Studio

新年おめでとございます。
旧年中は誠にありがとうございました。
本年も何卒よろしくお願い申し上げます。

プレミアム会員じゃないとブロマガに新しい記事投稿できないのかよ。



アストラの直剣を走っていたときのTwitchは 360p(640x360) という「お前今2016年だぞ?」と呆れられかねない解像度で配信していました。
というのも、これ以上解像度を上げようとするとPCスペックの問題でフレームレートが落ちて視聴に耐えないカックカクの映像になってしまうので、この低解像度を甘んじて受け入れていました。

それを12月頃だったか、本当にどうにかならないものかとOBS Studio(配信ソフト)の設定を弄くり回してみたところ、 HD解像度 720p(1280x720) での配信が可能になりました。
その辺りを記事にまとめて必要としている方と共有しようと思い立った次第です。

自分も詳しい人間ではないので「なんかやったらできた」程度の話として聞いてください。




まずは自分の使用しているPCについて。

 MSI S20 (Amazon.co.jp限定モデル)
  Windows 10 Home 64ビット
  CPU:Intel Celeron 2957U @ 1.40GHz 1.40GHz
  メモリ:4GB
  SSD:128GB

セレロンwwwwって感じですね。はい。


続いてOBS Studioの設定です。





重要なのはエンコーダを x264 から QuickSync H.264 に変更する点です。
むしろここ以外は各自のPCスペックやインターネット回線と相談して試しながら決めていくものだと思うので「QuickSync H.264を選択してもいいんだ」ということを知ってほしいです。
ゲーム配信のハウツー系サイトではOBSのエンコーダは x264 が推奨されていて、これ以外(QuickSync, NVENC)などでの設定は基本的に解説されていません。選ぶ理由がないという記述も見た覚えがあります。
QuickSyncはIntelのCPU、NVENCはグラフィックボード/GPUによって選択が可能なエンコーダらしく、X264がソフトウェアエンコードであるのに対し、これらはハードウェアエンコードになるそうです。


よくわかりません。


ハードウェアエンコードはソフトウェアエンコードと比較してCPU負荷が低い=低スペック(CPUが貧弱な)PCでも……という話らしいです。
デメリットとして、x264を使用した場合よりも画質は悪くなります。なので、配信ビットレートを盛ってやる必要があります。

ビットレートを盛る? どこぞの384kbpsが上限のライブ配信サイトでは無理な話ですね。

新配信(β)さぁ、1000kbpsできるって聞いてやるじゃんって感心したのに17時~3時でプレミアム会員でも視聴ビットレート768kbps、一般会員は384kbps、タイムシフトはプレミアム関係なく384kbpsってなにそれ? そもそも30分っていうクッソ鬱陶しい枠を配信者は自動枠取りで誤魔化してきてるから無料で30分延長できたところで……(「番組枠を売る」という商売自体は間違ってないと思います。競合サイトに食われてろ)。
ニコ動の投稿新仕様もニコ生の新配信(β)も結局ニコニコ側で再エンコード噛ましてるのが問題だと思うんですが。投稿者/配信者の意図していない品質に変換って、よくもまあ「クリエイターを応援します」って言えますねぇ。



話が逸れました。
エンコーダをQuickSyncにした場合、その下の設定も変わります。変化した項目だけ抜粋。

 ターゲットの使用法:quality、balance、speed
  …なんとなく察せますね。品質重視か速度重視かといったところかと。
 非同期深度
  …これ本当にわからないので詳しい方がいらっしゃいましたらご教示願いたく。
   デフォルトが「4」


以上です。
この情報が必要としている方に届けば幸いです。



ライブ配信サイト「CaveTube」の「OBS Classic(旧 Open Broadcaster Software) | 使い方ガイド」を確認したらQuickSyncについての記述がありましたで記載。
https://www.cavelis.net/howto/#!encoder_obs

コメント

髭Ziiトロワ
No.1 (2017/01/29 22:35)
非同期深度はおそらくこのことでしょうかね?
以下引用(http://rigaya34589.blog135.fc2.com/blog-entry-337.html)

>-a, --async-depth (0-64, デフォルト: 0 (=自動))
>QSVパイプラインに先行投入するフレーム数を指定する。
>QSVのパイプライン(Decode, VPP, Encode)に指定量のフレームを余剰に投入する。これによりパイプラインの並列動作を容易にし、QSV/GPUの稼働率を向上させ、処理が高速化する。デフォルトでは自動で決定され、4 + 追加のパイプライン段数×2となる。(たとえば、エンコードのみなら4、エンコードとデコードなら6...)
>多くすると高速化する可能性もあるが、メモリ使用量が増えるほか、キャッシュ効率が悪くなり、遅くなる可能性もある。
コメントを書き込むにはログインしてください。

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