可能な限り最高の品質(つまり、ブロック状のピクセルが少ない)を維持しながら、可能な限り低いビットレートで OBS 20.0.1 から FPS シューティング ゲームをストリーミングしようとしています。
参照フレームが増えるとビットレートが増加するのではないかと心配しています。これはモーションの多いストリーミングなので、-tune animation
デブロッキングを強化するために を使用する必要がありますか? または、PSNR
のSSIM
方が有望な候補でしょうか?
-tune
テスト ストリームで試してみるよりも、どのオプションが最適かをテストするより良い方法はありますか?
また、私のストリームに役立つが、OBS に含まれていない他の x264 オプションはありますか?
私のハードウェア:
- CPU:インテル i7-4770k
- グラフィック:エヌビディアGTX780Ti
- ラム:12GB、1600MHz
答え1
可能な限り最高の品質(つまり、ブロック状のピクセルが少ない)を維持しながら、可能な限り低いビットレートで OBS 20.0.1 から FPS シューティング ゲームをストリーミングしようとしています。
これを行うことは可能ですが、エンコードにかなりの時間がかかります。ライブストリーミングなので、エンコードパスは 1 回で、できれば高速で、CPU リソースを最大限に活用できるものが望ましいと思います。したがって、CPU 速度のプリセットをいろいろ試して、許容できる最高のものを選択してください。
これらすべてのパラメータ (速度、品質、ビットレート) を同時に最適化することは不可能であるため、x264 (および他のエンコーダー) では速度プリセット (たとえば、x264 では から ) を選択する方法を提供していますultrafast
。veryslow
これらのプリセットは、それぞれ圧縮品質を最適化するか、エンコード時間を最小化する特定のオプションを有効/無効にします。
参照フレームが増えるとビットレートが上がるのではないかと心配です
これらははるかに大きいので、一般的にはそれは真実です。
これは高モーション ストリーミングなので、デブロッキングを強化するために -tune animation を使用する必要がありますか? それとも、PSNR または SSIM の方が有望でしょうか?
この他の投稿を見てください。チューニングモードの説明。
低遅延で 1 回のエンコード パスでライブ ストリーミングを行うという特定のケースでは、 を使用する意味がありませんfilm
。これは、(粒度の粗い) 詳細を保持するためです。
低ビットレートでのブロックノイズに関する懸念は理解できますが、animation
プリセットはライブ ストリーミングには意味がありません。なぜなら、高速エンコードを可能にするためにいずれにしても 0 (または低い数値) に設定する B フレームの数も増加するからです。Bフレーム過去と未来のフレームをエンコードする必要があるため、エンコーダ/デコーダはこれらのフレームを保存するために大きなバッファを保持する必要があります。B フレームの数が多いほど品質は向上しますが、エンコード時間は長くなります。
およびモードpsnr
もssim
役に立ちません。これらはエンコーダの開発/最適化時にのみ使用され、実際には主観的な品質が低下する可能性があります。
zerolatency
あなたのユースケースにより適しているかもしれませんか?
テスト ストリームで試してみるよりも、どの -tune オプションが最適かをテストするより良い方法はありますか?
理論的には、いくつかのオリジナルストリームをエンコードし、異なる設定でエンコードして、次のようなフルリファレンスビデオ品質アナライザーで実行することができます。ヴクエムティーまたはVMAF。これにより、エンコードの品質スコアが得られます。ただし、結果を視覚的に検査するだけでも十分だと思います。
答え2
調整設定は、高品質/低品質を目的としたものではなく、特定のソース タイプの外観を最適化することを目的としています。
Tune Animation はセルベース (フラット) アニメーション用です。ゲーム ストリーミングには適していません。
Tune Film は実写ビデオや映画向けですが、十分なリアリティを備えた CGI (細かいテクスチャなど) でも活用できます。試してみても問題ありません。
他の調整設定はおそらく適切ではありません。最も重要なのは、「より高速な」プリセット (またはより高速なプリセット) を使用することです。品質の低いプリセットはすべて品質を大幅に低下させるためです。十分なビットレートを与えることも重要です。x264 は CPU をかなり使用するので、その点に注意してください。NVENC などのハードウェア エンコーダーは、ある程度は役立ちますが、ビデオの品質はわずかに低下します。
ゲームのストリーミングには低遅延は必要ないため、プラットフォームで強制されない限り、低遅延に調整しても意味がありません (つまり、すでに数秒の遅延がある上に、ほんの一瞬の遅延があっても視聴者には影響がありません)。
答え3
このtune
パラメータは、ガイドでそのオプションについて説明や言及が不足していることと相関して、ストリーム品質にあまり影響しません。animation
低ビットレートのストリームで使用してデブロッキングを増やすことができ、film
高ビットレートのストリームで使用してストリームをソースに可能な限り忠実に保つことができます。ただし、デブロッキングまたはその欠如がどれほど効果的であるかはわかりません。
PSNR
これらは、SSIM
レート制御 (CBR、ABR、VBR、CRF) 間のテストおよび比較の目的で使用されます。