ゲーム配信環境の紹介 ~ソフト編~
ひょんなことから始めることができたゲーム配信。使ってるソフトや設定、手順など備忘録として記します。
ハード編はこちらの記事にて説明してます。
1. 配信で利用しているソフト(アプリ)
1-1. OBS(Open Broadcaster Software) studio
配信をするためのソフト。言うまでもないですね。ほぼOBSの設定の話になります。
1-2. コマンドプロンプト
Windows標準に付いている黒画面にコマンド入れるヤツですね。通信周りの設定確認のために使います。
1-3. PhotoScape X
画像加工、テキスト入力のために使用しています。(画像編集で有名な)GIMPも使ってみましたが高機能すぎるので、こっちを使ってます。今回は詳しい説明は割愛。
2. OBSの設定について
ここからは配信の要であるOBSの設定について話していきます。配信を行うまでの方法は、説明しているサイトが山ほどあるので割愛します。「どういった調整をしたのか」を焦点に記していきます。
前提となるPCのスペックは以下の通りです。
CPU…Intel Core i7 8550U
メモリ…8GB
グラフィック…Intel UHD Graphics 620
調整するパラメーターは「設定」の「出力」と「映像」のタブの各項目です。
音声周りはデフォルトで問題ないようなのでそのままにしました。
解説サイトを色々読んで調整すべきは以下の項目と判断しました。
「出力」タブ
・エンコーダ
・キーフレーム間隔
・ビットレート
「映像」タブ
・出力(スケーリング)解像度
・FPS共通値
ベストな設定はPCのスペックによるところがあり、各解説サイトに「これが最良の設定だ」と書かれていても自分のPCのスペックによってはうまく配信できないと思ってます。なので、実際に配信する際に各種パラメーターをメモしておき、後日アーカイブを見て次回調整するという手法でより良い画質に近づけるようにしてます。
配信始めたばかりの時は以下の設定でした。
・エンコーダ:x.264
・キーフレーム間隔:2
・ビットレート:5000kbps(5Mbps)
・出力(スケーリング)解像度:1920x1080
・FPS共通値:30
これらのパラメーターでも映像は問題ないんですがCPU負荷が高く(40~70%程度)なり、PCの操作が重くなる上にたまにコマ落ちしてしまう現象がありました。併せてFPS共通値を60に設定したところ、コマ落ちが酷くて配信になりませんでした。
FPS共通値は30が良いのはわかりましたが、どうにかしてCPU負荷を下げられないか色々調べたところ、エンコーダはソフトウェアエンコードの「x.264」よりもハードウェアエンコードの「QuickSync H.264」の方がCPU負荷を下げられる、ただし、画質はハードウェアエンコードの方が劣る、とのことでした。
どの程度CPU負荷を下げられ画質が劣るのか検証するため、以下の設定でテスト配信をしてみました。
・エンコーダ:QuickSync H.264
・キーフレーム間隔:2
・ビットレート:5000kbps(5Mbps)
・出力(スケーリング)解像度:1920x1080
・FPS共通値:30
この結果、CPU使用率は常時10~20%ほどとなりPC操作もx.264よかは軽く操作できるようになりました。懸念していた画質もほぼ変わらなかったのでQuickSync H.264で問題なさそうです。
その後も色々いじくって検証し、以下の結論となりました。
・ビットレートは上げてもPCの負荷は変化しない
・60fpsだとQuickSync H.264でもコマ落ちしてしまう
なのでこれらを踏まえて現状、以下の設定にてYouTubeで配信をしています。
・エンコーダ:QuickSync H.264
・キーフレーム間隔:2
・ビットレート:6500kbps(6.5Mbps)
・出力(スケーリング)解像度:1920x1080
・FPS共通値:30
Twitchは最大ビットレートは6000kbpsまでを決まっているので、以下の設定でTwitchで配信をしています。
・エンコーダ:QuickSync H.264
・キーフレーム間隔:2
・ビットレート:6000kbps(6Mbps)
・出力(スケーリング)解像度:1920x1080
・FPS共通値:30
3. 無線→有線通信切り替えの確認について
配信PCについて、普段は無線LANで使用していますが、配信する際は安定性を加味して有線LANに切り替えています。切り替え方法は以下の通りです。
1. 有線LANアダプターにLANケーブルを挿す
2. 無線機能をOFFにする
3. コマンドプロンプトにて有線で通信できる状態か確認する
4. インターネットに(各配信サイトへ)アクセスする
3.のコマンドプロンプトはスタートボタンで表示される「Windows システムツール」配下にあります。「>」の後に「ipconfig」と実行することによって通信状態が見られます。「IPv4アドレス」に数列が表示されていれば通信できる状態になっています。
一応、切り替え前の通信状態を見ます。「Wireless LAN adapter Wi-Fi」にIPv4アドレスが割り振られているので、無線で通信しています。
LANケーブルをつなぎ無線機能をOFFにした後の通信状態を確認します。「イーサネット アダプター イーサネット 2」にIPv4アドレスが割り振られているので、有線で通信しています。
念のため、「ipconfig /all」というコマンドで詳細を確認します。「Realtek USB GbE Family Controller」というUSBのLANアダプターっぽいので間違いなさそうですね。
こんな感じで確認してます。
※電気通信関係の仕事をしているので、この辺はけっこう詳しかったりします。
意外と長くなってしまったので一旦おしまい。YouTubeとTwitchの配信で気づいたTips記事を別途作成したいと思います。