I have recently come upon information regarding quality calculations for streaming, provided by another forum user (sorry don't remember). I decided to publish that information in a more useful manner so that people can stream wiser.
Bitrate = res_width * res_height * fps_count * quality_factor (measured in bits pers second).
Using OBS we can modify the following:
- bitrate - the overall product number
- resolution - the first components
- fps - the middle component
Quality factor can not be modified under CBR, and CBR is recommend for twitch and youtube. x264 options are usefull but only marginally.
So, to calculate the quality factor, we must use the above equation resulting in:
qa = bitrate / (res_w * res_h * fps).
qa = 3.500.000 / (1.920 * 1.080 * 30 ) = 0.0562 = 5.62 %.
This is where the magic happens, according to compression theory, the qa_factor must be AT LEAST 10 % for the video to look acceptable. Of course, when streaming games like Hearthstone or Dota, the less movement you have, the less qa you need. But when streaming World of Warcraft, you require more qa, and for Battlefield you require even more.
Let's assume we need 10 % for a "good stream". OBS offers native res and downscaling options: 1.25, 1.5 ...
Also assume we have 1080p native res.
Also consider facts: twitch maximum bitrate - 3500 kbps
Also consider facts: youtube live maximum bitrate - 6000 kbps
According to our previous example, 1080p@30 only offers 5 % quality in an action game.So, anything other than HS and LoL are pretty much not good for 1080p@30.
3.500.000 / (1536 * 864 * 0.1) = ~26 FPS -> you can have a decent stream using 1.25 downscale and 27 FPS with 3500 kbps ( 26 FPS is a bit slow ). You can up the FPS but the quality will suffer pretty much.
3.500.000 / (1280* 720* 0.1) = ~ 37 FPS -> you can have a decent stream using 1.5 downscale and up to 38 FPS with 3500 kbps. 30 FPS will look pretty much perfect, while 38 FPS will be pretty good.
3.500.000 / (1096* 616* 0.1) = ~ 51 FPS -> you can have a decent stream using 1.75 downscale and up to 52 FPS with 3500 kbps. 30 FPS will look good, 45 FPS will be good and provide fast action, 50 FPS will be great for shooters.
The text and icons however will look pretty washed up but in Nosgoth and Titanfall you don't need to watch the text, you need players and explosions.
You can use the above math to calculate the required bitrate under fixed params.
Ex: 1280 * 720 * 30 * 0.1 = 2764,8 kbps.
Ex: 1280 * 720 * 60 * 0.1 = 5529,6 kbps. (perfect for youtube, impossible for twitch).
Replace all examples of 3500 kbps with 6000 kbps and you have the settings for youtube live events.
Consider using the best downscaling filters for best quality ( 36 samples ).
Modify filters and x264 params according to your own CPU power.
Examples with quality: