0

I am trying to stream an FPS shooter game from OBS 20.0.1 at the lowest bitrate possible whilst maintaining the best quality possible (i.e. less blocky pixels).

I am concerned that more reference-frames will increase my bitrate. So since this is high-motion streaming, should I use -tune animation to boost deblocking? Or would PSNR or SSIM be more promising candidates?

Is there any better/other way to test which -tune-option is best than trying them with test-streams?

Also, are there any other x264-options that my stream would benefit from, but which are not included in OBS?

My OBS setup: OBS Setup

My hardware:

  • CPU: Intel i7-4770k
  • GPU: Nvidia GTX780 Ti
  • RAM: 12GB, 1600MHz
flolilo
  • 2,831
Trr1ppy
  • 25

3 Answers3

0

I am trying to stream an FPS shooter game from OBS 20.0.1 at the lowest bitrate possible whilst maintaining the best quality possible (i.e. less blocky pixels).

You can do this, but it will take a lot of encoding time. Since you're live-streaming, I assume that you want a single encoding pass, and preferably one that is fast, i.e. maxes out your CPU resources. Thus, you should play around with the CPU speed preset – choose the highest that you can tolerate.

It's impossible to optimize all these parameters (speed, quality, bitrate) at the same time, which is why x264 (and other encoders) offer a way to select the speed preset (e.g., from ultrafast to veryslow in x264). These presets enable/disable certain options that optimize compression quality or minimize encoding time, respectively.

I am concerned that more reference-frames will increase my bitrate

That is generally true, as these are much larger.

So since this is high-motion streaming, should I use -tune animation to boost deblocking? Or would PSNR or SSIM be more promising candidates?

Have a look at this other post, where the tune modes are explained.

For your particular case of live streaming at low latency, with one encoding pass, it does not make sense to use film. This is for preserving (grainy) detail.

Your worries about blockiness with low bitrate are understandable, but the animation preset does not make sense for live streaming, since it would also increase the number of B-frames, which you anyway want to set to 0 (or a low number) to allow fast encoding. B-frames require past and future frames to be encoded, meaning that the encoder/decoder has to keep a larger buffer to store these frames. The more B-frames, the better the quality, at the expense of encoding time.

The psnr and ssim modes aren't useful either; they're used during encoder development / optimization only and might actually result in worse subjective quality.

Perhaps zerolatency better fits your use case?

Is there any better/other way to test which -tune-option is best than trying them with test-streams?

You could, in theory, encode a few original streams, then encode them with different settings, and run them through a full-reference video quality analyzer like VQMT or VMAF. These will give you a quality score for the encodes. But I guess that visually inspecting the results is also sufficient in your case.

slhck
  • 235,242
0

Tune settings are not intended for high/low quality but to optimise appearance for a given source type.

Tune animation is for cel based (flat) animation. Not suitable for game streaming.

Tune film is for live action video or film, but CGI of sufficient realism (eg, fine textures) can also benefit from it. No problems giving it a try.

No other tune setting is likely to be suitable. The most important is to use the "faster" preset (or better) as all the lower quality presets significantly degrade quality. Also important to give it enough bitrate. Note that x264 will use a fair bit of CPU so be prepared for that. A hardware encoder such as NVENC may help with this to some degree but with slightly lower quality video.

There is no point tuning for low latency unless your platform forces it, as that is not required to stream your game (ie, viewers won't be affected if there's a fraction of a second latency on top of the several seconds it already has).

thomasrutter
  • 2,053
-1

The tune parameter doesn't have much effect on stream quality correlating with the lack of discussion and/or mention to its options in guides. animation can be used with low bitrate streams to increase Deblocking and film can be used with high bitrate streams to keep the stream as faithful as possible to the source. Although how effective the deblocking or lack of I am not sure.

PSNR and SSIM are for testing and comparison purposes between rate control (CBR,ABR,VBR,CRF).

slhck
  • 235,242
Trr1ppy
  • 25