Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Have questions about streaming or video production? Want to discuss CC's Streams or YouTube videos? Here's where the magic happens!
User avatar
Samuraid
CC Member
CC Member
Posts: 135
Joined: January 25th, 2014, 1:48 am

Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by Samuraid » April 1st, 2016, 1:21 am

Updated 2017-03-19 for new twitch requirements

Hey everyone!

There are countless internet tutorials and guides that cover the basics of streaming, but I wanted to cover one of the harder things: Choosing your video resolution, frame rate, and bitrate.

If you search around, you'll find a lot of differing opinions and ideas about this subject. The reason why: it's difficult! There are no definite rules and many different factors that affect the outcome.

I want to provide you with what I've learned over the past 4 years of streaming that will (hopefully!) help you make a good decision for your stream.

Streaming is all about CPU power (not GPU power)

Rule #1: CPU performance is important!

You might think that capturing the video from your screen is the most resource-intensive part of streaming, but it actually isn't. Encoding is the expensive part.
The encoding process uses your CPU to convert (encode) the captured video information into a streaming video file format that is sent to Twitch.tv and subsequently broadcast to your viewers.

Example: Just sitting idle at my desktop with my stream running takes an entire CPU core (25%)!
Image

Rule #2: Graphics card performance is not as important.

In most situations, you don't actually need a very fast video card to stream effectively.

Example: Running League of Legends takes about 25% of my graphics card. When I enable the stream, the usage goes up to 31%, meaning that the stream only uses about 6% of my GPU.
Image

Conclusion: Encoding takes quite a lot of CPU power, therefore, you need to have a moderately fast CPU. Quad core recommended.

Selecting a video/audio bitrate

Before doing anything else, go to http://www.speedtest.net and test your internet connection speed.

First thing to consider: Your internet connection upload speed

The speed at which your internet connection can upload will determine what bitrate you can use.

I would recommend using no more than 75% of your upload bandwidth, because you want to leave some headroom so your online games have some bandwidth left over. You'll also want the headroom in case there are occasional internet hiccups or other people in your house also using the internet.

For example: If your internet upload speed is 4000kbps (4Mbps), I would recommend setting the video bitrate no higher than 3000kbps (3Mbps).

Also keep in mind that Twitch.TV places a maximum limit of 6000kbps (6Mbps) on video bitrate. Don't set your video bitrate higher than that!

Second thing to consider: Your viewers

Even though we're in 2017, not everyone has access to high speed internet. Some people also have data caps.

You want your stream to appeal to the largest audience possible, so you'll want to pick a sensible bitrate that delivers good quality without using tons of data.

The type of game you wish to stream will also affect the decision. Typically games with lots of motion (first-person shooters, for example) may benefit from a higher bitrate while those with less motion on screen and simpler graphics can get away with lower bitrates.

Samuraid's Recommendation
Here are some ballpark recommendations for video bitrates I would likely use.

Low action game (example: Hearthstone)
Video bitrate: 1000-2000kbps

Medium action game, MOBA (example: League of Legends, HotS)
Video bitrate: 2000-3500kbps

Fast action game, First-person shooter (example: CS:GO, Rocket League)
Video bitrate: 2500-5000kbps

Audio Bitrate
Twitch.TV sets a maximum of 160kbps.

If your upload speed is sufficiently fast (>= 2000kbps), go ahead and use 160kbps. Otherwise, for more bandwidth-constrained situations, you can use 128kbps or even 96kbps.

OBS Example
Here's an example of where to set the bitrate in OBS.

The places to set the video and audio bitrates are highlighted in blue.
In this example, I selected a video bitrate of 2500kbps and an audio bitrate of 160 kbps.
Image

Selecting a Video Resolution

First thing to consider: Your computer
Naturally, your stream will look the best if you use a video resolution that matches your screen resolution.

Unfortunately, the higher resolution you use, the more CPU will be required to encode.

A good test method to determine what your computer can handle:
  • Open the game you intend to stream; load up a level so that the game is running at full tilt.
  • Open up your streaming software, and do a test stream.
  • Watch the CPU usage in Windows Task manager to make sure it isn't maxed out.
  • Check to see if the game still runs smoothly.
  • If you use streaming software like Open Broadcaster (OBS), look at the bottom of the window. There should be zero dropped frames.
Image

If there are any dropped frames, you may need to lower the stream resolution.

Most of your viewers will likely have a 16:9 screen aspect ratio.

If you have a standard 1080p screen (1920x1080) or a UHD 2160p "4K" screen (3840x2160), I would recommend broadcasting in either 1920x1080 or 1280x720.

If you have a less common screen resolution, such as 1366x768, 1600x900, or 1680x1050, I would always recommend broadcasting in the native screen resolution, if your CPU will handle it.

Second thing to consider: Your viewers
Unless you are a Twitch.tv partner or a popular streamer (and Twitch decides to enable Automatic Transcoding on your stream), your viewers will only be able to watch your stream in the original resolution. Thus, you should strive to pick a good balance: high enough resolution that your viewers can see clear detail but not too high that it causes playback issues on older computers.

An increasing number of viewers should be able to play back 1920x1080 (1080p) video, but not everyone can yet. If you want to reach the largest audience possible, you may want to use a smaller resolution like 1280x720 (720p).

As mentioned before, if you have a less common screen resolution, such as 1366x768, 1600x900, or 1680x1050, I would always recommend broadcasting in the native screen resolution, if your CPU will handle it.

Selecting a Frame Rate

Choosing a frame rate goes hand-in-hand with video resolution.

The higher the frame rate, the more CPU will be required to encode the frames.

I would only recommend two frame rate choices: 30, or 60

30 frames/second is probably the best choice universally because it strikes an excellent balance between smoothness and required CPU power. Most standard monitors refresh at 60Hz, so 30 frames/sec represents exactly half that; every other frame will be captured for the stream.

60 frames/sec matches the native 60Hz refresh rate of most screens. It will deliver the smoothest stream experience, especially for fast-action FPS games, but also requires 2x as much CPU to encode, requires more bandwidth to maintain quality, and imposes a heavier burden on your viewers to play back smoothly.

Samuraid's Recommendation
When in doubt, use 30 frames/sec. Only switch to 60 frames/sec if you have a really powerful computer and a specific need for using the higher frame rate.

What about odd frame rates, like 45 frames/sec?
You can play around with these, but the results might not come out as you expect. At 45 frames/sec, you are skipping frames at an inconsistent rate, so the playback may appear less smooth and consistent. Of course, your mileage may vary. You may find some games look fine at odd frame rates.

OBS Example
Here's an example of where to set the video resolution and frame rate in OBS.

The resolution downscaling (if you want your stream to be a smaller resolution than your monitor resolution) is highlighted in purple.
The frame rate is highlighted in blue.
In this example, I have downscaled the stream resolution to 1280x720 (720p) and set the frame rate to 30 frames/sec.
Image

TL;dr summary

Check your upload speed, don't use more than 75% of it for your stream.

Check your CPU usage while streaming, and make sure you aren't dropping frames.

1280x720 at 30 frames/sec with a bitrate of 2000-2500kbps is often a good choice for most. It strikes an excellent balance between quality and CPU cost.

Ending Notes
If you have comments, questions, or suggestions, let me know! :)

If anything is unclear, please say so. I want to ensure this is accessible and clear to everyone.
Last edited by Samuraid on March 19th, 2017, 6:25 pm, edited 2 times in total. word count: 1380
:ninja:

User avatar
NeoJabez
Council Operations
Council Operations
Posts: 10251
Joined: June 5th, 2005, 7:00 am

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by NeoJabez » April 1st, 2016, 2:30 am

EXCELLENT post, Samuraid! Thanks for this quick reference guide!
word count: 9
If serving is below you, leadership is beyond you. - Anonymous

Coram Deo, Soli Deo Gloria

Image

User avatar
Cptn Merika
Posts: 1055
Joined: November 11th, 2014, 11:33 pm
Steam Profile: Cptn Merika

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by Cptn Merika » April 1st, 2016, 8:04 am

Good post Samuraid, I too am also a streaming junkie. So it looks like we at least have two of us who can help others if needed :). On a side note, I did figure out the with Xonar Sound Cards, there is a setting in the Xonar Console called "GX" that must be disabled because OBS does not recognize the audio encoding from it. That's why my sound was not working on Rocket League.
word count: 75
191
"Be strong and courageous. Do not be afraid or terrified because of them, for the LORD your God goes with you; he will never leave you nor forsake you." - Deuteronomy 31:6

User avatar
Samuraid
CC Member
CC Member
Posts: 135
Joined: January 25th, 2014, 1:48 am

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by Samuraid » April 1st, 2016, 1:39 pm

Cptn Merika wrote:...the with Xonar Sound Cards, there is a setting in the Xonar Console called "GX" that must be disabled because OBS does not recognize the audio encoding from it. That's why my sound was not working on Rocket League.


Really good find. I don't personally have a Xonar card, but this could save anyone else who does a lot of headache and time. :)
word count: 68
:ninja:

User avatar
Cptn Merika
Posts: 1055
Joined: November 11th, 2014, 11:33 pm
Steam Profile: Cptn Merika

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by Cptn Merika » April 1st, 2016, 2:07 pm

I am like a Samurai of Google, I find all.....
word count: 10
191
"Be strong and courageous. Do not be afraid or terrified because of them, for the LORD your God goes with you; he will never leave you nor forsake you." - Deuteronomy 31:6

User avatar
Noctis
CC Member
CC Member
Posts: 223
Joined: January 10th, 2010, 7:45 pm
Steam Profile: ccNoctis

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by Noctis » April 1st, 2016, 6:56 pm

Shadowplay streaming tips?

I know my upload is below the recommended (25 down, 2 up). What do you recommend for Shadowplay settings with Twitch, if anything?
word count: 26
"As iron sharpens iron, so a friend sharpens a friend."
Proverbs 27:17 NLT

User avatar
KustomElvis
Posts: 1647
Joined: January 1st, 2009, 7:35 pm

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by KustomElvis » April 1st, 2016, 6:58 pm

@Samuraid Thank you for posting this VERY helpful guide on the ins and outs of streaming and what performance impacts it takes on your computer when streaming.
word count: 27

User avatar
Samuraid
CC Member
CC Member
Posts: 135
Joined: January 25th, 2014, 1:48 am

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by Samuraid » April 1st, 2016, 8:56 pm

N0c†iS wrote:Shadowplay streaming tips?

I know my upload is below the recommended (25 down, 2 up). What do you recommend for Shadowplay settings with Twitch, if anything?

I haven't tried Shadowplay yet, unfortunately. Pretty sure that it offloads the encoding to your nVidia graphics card, which means it saves your CPU some of the work.

OBS supports nVidia encoding offload (NVenc) as well, but when I tried it in OBS, the resulting video quality wasn't as good as the default x264 encoder that OBS uses.

Shadowplay might have some extra tricks up its sleeves, though, so maybe it would end up looking just fine.

Regardless of what you use to stream, with an internet upload speed of 2000kbps, I would keep the video bitrate limited to something like 1200kbps. You might get away with 1500kbps, but it doesn't give you a whole lot of headroom, especially if the video encoder happens to run over the limit a little (which they sometimes do). Audio can run at 128kbps.

For resolution, I'd stick with 1280x720 at 30 frames/sec (assuming you have a standard screen resolution).
Those combinations should result in a reasonably good-looking stream.

P.S. If you haven't already, run a speedtest.net anyway, because sometimes the actual speed of your internet might be above or below the advertized speeds.
word count: 228
:ninja:

User avatar
Noctis
CC Member
CC Member
Posts: 223
Joined: January 10th, 2010, 7:45 pm
Steam Profile: ccNoctis

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by Noctis » April 2nd, 2016, 2:54 pm

Thanks for the tips. I've got a lot of that set up the way you recommended already. I don't think I'd be streaming graphically intensive games any time soon, due to internet constraints alone (I have a 980 and i7, so gpu/cpu power isn't an issue).
word count: 51
"As iron sharpens iron, so a friend sharpens a friend."
Proverbs 27:17 NLT

User avatar
Grid21
CC Member
CC Member
Posts: 131
Joined: October 30th, 2015, 11:28 pm
Contact:

Re: Streaming Tips: Selecting stream bitrate, resolution, and frame rate

Post by Grid21 » April 3rd, 2016, 7:43 pm

I have made several videos about audio and video and since some people are new to twitch I was approved by Neo to share my knowledge with the new comers to twitch.

Audio mixing with games and Microphone.
https://www.youtube.com/watch?v=Pr4sNhLohew&index=3&list=PLVzzvn29n6sXShz65uQoJxTmHRh8flIQD

Audio gear for streaming
https://www.youtube.com/watch?v=u_xizi_nNm0&index=8&list=PLVzzvn29n6sXShz65uQoJxTmHRh8flIQD

EDIT: also here is a interesting conversation I had with some community members on the OBS forums about Bitrates and FPS.
https://obsproject.com/forum/threads/cant-get-hd-quality.44919/
word count: 94
"Reverse Pineapple" - Football "Did you just assume my alloy?" - Pteroflo

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest