fc2ブログ

    PC記事をメインに【基本不真面目たまには真面目】をモットーとして生きる男のブログです┗(^o^ )┓

    PREV | PAGE-SELECT | NEXT

    ≫ EDIT

    Twitchでの自分のOBSでの配信設定(映像周り)について

    どうも一年ぶりぐらいの更新です。
    最近色々ありすぎて更新を止めてしまってましたが
    自分自身は今も自作PC界隈でひっそり生きております
    色々落ち着いたらまたブログの更新をしたいと思うんですが今回は別のお話を

    実は2年ぐらい前から自分はTwitchにてひっそりとゲーム配信をしておりました。
    WS002064.jpg
    https://www.twitch.tv/deer_sigurd
    ゲームが下手で、会話も上手くないので少数規模の配信場ですが
    自分の暇つぶし程度にやってたりしてます、最近は原神ばっかりですが

    で、今回は自分のTwitchでの配信設定を上げていきたんですが、
    殆どが他の方のOBS設定を参考にして調整したりしてました。
    そこから自分なりの設定をだして・・・うんたらかんたら


    参考にさせていただきましたサイト様(見た場所が多すぎるので一部だけ)

    PONTAKOBLOG 様より
    【Twitch】ツイッチ配信に最適な解像度は「936p」らしい。理由を解説【ゲーム実況/配信】
    https://pontako.com/twitch-936p/

    新・VIPで初心者がゲーム実況するには 様より
    ライブ配信における推奨ビットレートの目安。上り速度と○○がポイント
    https://vip-jikkyo.net/bitrate-settings-for-streaming

    OBS Studioで高画質・高音質な配信をする方法
    https://vip-jikkyo.net/obs-studio-high-quality-settings

    どーにゃLAB ~ニッチなことを幅広く~ 様より
    Twitch配信者のためのOBS設定 ~最高の配信を求めて~
    https://www.dognalab.com/?p=2001


    ただ自分の使ってるOBSは一般的なものではなく
    Streamlabs OBS(通称SLOBS)というものを使っております。

    SLOBSについての説明はかなり長くなってしまうため下のページでご確認ください

    新・VIPで初心者がゲーム実況するには 様より
    StreamlabsとOBS、どう違う?そもそもStreamlabsとは?
    https://vip-jikkyo.net/streamlabs-tutorial

    SLOBSはStreamlabsというWebサービスを効率よく使うために作られた
    OBSの別ソフトであり、作った開発者が運営も全然違うソフトなんですが
    WEBサービスのStreamlabsを使う点においてソフト単体で調整が可能なため
    様々な利便性の関係で自分は愛用しております。
    まぁOBSのアップデートよりも少し更新が遅いのが難点ですがね・・・

    で、設定なんですが、特に難しいことは書きません。
    なぜなら上の方に書いてある、リンク先と設定意識がほぼ同じだったからです。
    なので参考にする場合はリンクのページを見るのが良いかと思います。

    でも買いたいところもあったので自分用として
    一応メモとして書いておきたいと思います。

    ※この設定とメモは自分のPC構成と配信環境や回線速度を吟味した設定です
    おんなじ設定を試しても、環境によっては再現性が落ちたり配信画面がカクついたり
    またはドロップフレームが増えてしまうことがあり、この設定で高画質化になる!!とは
    明言できませんし責任は取れませんので試す場合はご注意ください

    ある程度は自分の場所でテストしながら結果を出すのがベストだと思います(・ω・)

    ・現在の自分のTwitchでの配信設定
    WS002060.jpg
    Twitchの一般会員及びTwitchアフィリエイトでは
    映像ビットレートが6000kbpsしか使えないのでこちらで固定してます。
    ビットレートが高いということは視聴者側の負担も大きくなるわけですが、
    Twitchの再生側には回線状況に応じて解像度を下げる機能があるので、
    基本最大値で利用しております。

    キーフレームの設定についての説明は省きますが
    Twitchでは2を推奨にしているので2で固定させています

    エンコードはGPUを使ったハードウェアエンコードにしており
    SDKに変更があったNVENC H.264newをしてしております。

    最初はCPU利用のソフトエンコードでやってたんですが
    H.264のオプションを入れたりプロファイルを上げると、
    あまりにCPUの負荷が大きくなりすぎるため、16コアでも無いと無理と思ったので
    リアルタイムエンコードには正直向かないという感想になったのでやめました

    なおリアルタイムエンコードにおけるビットレートの計算上、
    6000kbpsでは1080P60FPS配信のビットレートが足りません。
    詳しくはこの記事の下の方で少し愚痴ってます(;^ω^)

    プリセットをMaxQualityの設定にしておりますが現在使用している1080tiでも
    カクつきやオーバーロードが確認出来なかったのでこちらに設定してます
    (Pascal世代はNVENCのチップ搭載が基本的に2機なのでちょっとお得なのかも?)

    実際リアルタイムエンコードでありつつも
    GPU使用率も3%~5%ぐらいしか増えてないので、
    ホントに2passエンコードかー?って思うところもありますが、
    少なからずCPUエンコードのfastよりは動作が軽くなってるので悪くない感じです。
    品質も6000kbpsが制限である以上ほぼ変わらないというレベルでした
    (ただGPU使用状況次第ではQualityに下げるのがベストかもしれない)

    WS002061.jpg
    心理視覚チューニングはRate Distortion Optimization のことで
    レート歪み最適化のことなんですが、これについては話が長くなりますので略します
    ただ基本的に入れておいてもメリットしかないのでオンにしてます。

    配信解像度はTwitchで最近流行りの936Pを利用しています
    WS002062.jpg
    これも上にリンク様を参考にしていただけるとわかりやすいと思います。

    なんで936Pなの?って話ですが、
    それもこれもあれも全て、一般及びTwitchアフィリエイトでの、
    映像ビットレート6000kbps上限がとにかく足らないせい。

    本来1080P60FPSでブロックノイズを出さずに配信するなら9Mbpsぐらいほしい。

    ゲーム内の動きが少ない、エフェクトやカメラワークも少ないとなれば良いんですが、
    最新のFPSゲームやレースゲームではどうしても画面上で動くものが多くなり、
    かつゲームがリアル系であればあるほどビットレートを多く使うために、
    簡単に固定ビットレートでの上限を超えてしまうという難点が生まれてます。

    一応上位会員ではあるTwitchパートナーになれれば、
    映像ビットレートが8500kbpsまで使えるんですが、
    Twitchパートナーになるためには視聴人数周りが難しく、
    自分の配信でそこまで人が集められるかといえないので…

    そうなってしまうと後は配信解像度を下げるしかない、
    雑に考えるならHD画質、720Pで配信してしまえば、
    要求ビットレートがかなり小さくなるのでブロックノイズがだいぶ減る。

    しかし動きが少ない場面が多く、ボードゲームとかの配信であれば、
    1080Pにしたほうが最終的にきれいで見やすくなるため捨てがたい。

    そこでちょうどいいのが936Pというわけになります。
    WS002063.jpg

    1664 x 936の解像度はちょうどフルHDとHD画質の中間になりますが、
    6000kbpsという限られたビットレートの中では
    映像クオリティの面では美味しい設定となり、
    720Pや1080Pと同じ8の倍数であるために
    H.264のブロックサイズで割り切れる値のため

    つまり画質とビットレートの割当のいいところ取りといった感じですね。
    タルコフなど一部ゲームでは936Pに下げても足りないところはありますが、
    全体のブロックノイズが減るために全体的に見やすくなるのは確実です。

    ※ただし解像度がかなり特殊な形になるので(というか規格外な形なので)
    リスケールで映像に違和感が出る可能性もあるので絶対に良いとは言い切れない点もある
    (出来る限り基本解像度と出力解像度は同じのほうが良いのもあるため)

    ガチで詰めるならゲームごとに設定を作るという手が一番最適です。
    動きが少なく2D系のキャラが動くぐらいのAmongUsなら1080P
    カメラワークが速く、動きが多いFPSとかなら720Pとかにしたり
    格闘ゲームは動作フレームをよく見たいのでわざと720Pにしたり
    レトロな雰囲気の最新ゲーも映像面で負荷が小さいのも多いので1080Pとか
    SFCなどのでレトロゲーではもともとの解像度があるので以下
    またはボードゲームならわざと30FPSにしてしまうなどもあったり
    1080Pの30FPSにしてしまうなど

    適材適所で調整出来たらより良い映像が視聴者に提供出来ると思います。
    自分はめんどくさいので936P固定にしましたけどね

    その他ゲーム設定も実はエンコード周りには優しく出来るところもあって。
    ゲームの画質が良い=GPUの負荷が高い=エンコードに必要なビットレートも大きい
    木や草、または影の描写が細かいとより多くのビットレートが必要になり
    逆にノッペリな映像や色やエフェクトが少ないゲーム設定にすると
    リアルタイムエンコードであっても必要ビットレートが減るので
    配信映像が見やすくなるという傾向はあると思います。

    もっともゲームの設定を落とせばゲームの画質は落ちますし、
    カメラ移動が速ければブロックノイズが出るのは変わりませんがね・・・

    また配信時のコメント枠を作るという方法も
    実はゲーム映像の画質上げる方法一つの方法だったりしますが
    デメリットもあるのでここでは書かないでおきます(´・ω・`)

    また魔改造枠として
    1536×864
    1408×792
    とかも場合によってはありなのかも・・・?
    いやそこまで言ったらHDでもいいような・・(

    と、いった感じでした。
    一時期エンコードにハマってた時期があって
    昔の内容ですがちょっとワカルぐらいには勉強をした経験が生きているので
    あのとき覚えたことは無駄じゃなかったんだなって思ったんですが
    より効率的に映像を良くしたいと思うと色々気になるところも多くなり・・・
    (出来るならやっぱ入出力が1080P60FPSにして生きたい)

    You Tube LIVEであれば使えるビットレートが増えるので
    このような記事も必要にならなくなったりしますので
    あくまでもTwitchで配信したいなら~っていうところでしょう

    ではまた(´・ω・`)ノシ


    おまけ
    GTX1080tiなどPascal時代のGPUは
    冷静に考えるとH.264であればRTX3系同様フルで使える話
    FApgN8WVQAM2uOp.jpg

    FAphNclVkAEu30A.jpg
    Turing世代になってH.265/HEVCにBフレームが使えるようになったので
    H.265でのエンコードは格段に映像精度と品質が良くなりましたが
    配信に使うH.264であればほぼ変わらないという結果になりました。

    GPUエンコードでは世代が新しい最新のGPUほど
    パフォーマンスやエンコード精度が上がる傾向にありますが
    今の所はPascal世代でも問題なくNVENCで配信出来ると考えればOKです
    AV1が本格的になったらRTX4000とかに乗り換えるようですがね…

    | PC関係 | 10:58 | comments:0 | trackbacks(-) | TOP↑

    COMMENT















    非公開コメント

    PREV | PAGE-SELECT | NEXT