We get a lot of questions about how to find the optimal resolution to bitrate ratio. The truth is, there really is no right or wrong answer. Depending on your encoder, video content, audience, and streaming destination, your resolution and bitrate will likely be different. That being said, you can optimize your resolution and bitrate to ensure consistent video quality and make your video viewable by the majority of your audience.
What Are Resolutions? What Are Bitrates?
To best determine the optimal ratio for your stream, let’s first define what resolutions and bitrates are and how they affect video quality.
Resolution is the number of pixels spread across a display and is usually written in the form of horizontal pixels x vertical pixels, such as 1920 x 1080. The resolution of your display affects the highest resolution of stream you can watch. Resolution is sometimes referred to in a shorthand format using just the vertical pixels, such as 720p instead of 1280x720.
For example, if you have a 720p monitor and are watching a 720p stream, that’s perfect. Your monitor can display every pixel of the video. If the stream was broadcast in 1080p, however, your monitor will scale the image into 720p. It won’t inhibit the video quality, but since the monitor can only see 720 pixels, anything beyond that is wasted bandwidth.
Bitrate is the amount of data encoded for a unit of time, and for streaming is usually referenced in megabits per second (Mbps) for video, and in kilobits per second (kbps) for audio. From a streaming perspective, a higher video bitrate means a higher quality video that requires more bandwidth. So why doesn’t everyone just upload at the highest bitrate possible? Well, not every viewer can download at the highest bitrate possible.
If you have a download speed of 5 Mbps and you are watching a stream at 6 Mbps, the viewing experience will be choppy, and you’ll probably get stuck in buffering limbo because your connection can’t keep up with the amount of information being sent on the stream.
Key Considerations for Choosing a Resolution and Bitrate
- How much bandwidth do I have to broadcast?
You must evaluate your network connection to determine whether it is strong enough to support your stream at your desired resolution. Streaming at 1080p60 requires more bandwidth than streaming at 1080p30 or 720p60. We recommend only dedicating 50% of your upload speed to your stream in case your connection suddenly becomes unstable or you encounter unexpected interference from sending across the internet to the streaming platform.
If your available bandwidth isn’t robust enough to support streaming at your desired resolution and bitrate, you can use network bonding to combine bandwidth from multiple internet sources into a single, stronger connection. By connecting your compatible encoder with Teradek’s cloud stream management platforms, Core or Sharelink, you can bond network connections from ethernet, wifi, cellular modems, and even mobile phones to overcome bandwidth restrictions on the encoder side.
Finally, if you have limited bandwidth at your broadcast site but your encoder is capable of streaming with a more efficient video codec like HEVC / H.265 instead of just H.264, you can send out a lower bitrate HEVC stream from your encoder and have it transcoded to H.264 in the cloud for final delivery to streaming destinations and viewers.
- How is my audience watching? How much bandwidth do they have?
Consider where and how your audience will be watching your video and what their bandwidth limitations may be. Are they on computers or mobile phones? Using Ethernet or LTE? If the majority of your audience doesn’t have enough bandwidth to watch your video in 1080p, then you shouldn’t have to push your bandwidth over the edge just to upload a 1080p video.
Cloud transcoding can help those watching with slower connections or on mobile devices with data limits because it enables the single stream sent out from your encoder to be converted into several lower resolution and lower bitrate streams that the viewers can choose instead of each viewer receiving the same higher resolution / higher bitrate stream. Platforms capable of cloud transcoding include Facebook Live, YouTube Live, Vimeo, and IBM Cloud Video.
- What type of content am I sending? How much do I need to send?
More dynamic content requires higher bitrates to have good quality, so you will need a higher bitrate to stream sporting events or video game competitions as opposed to speakers giving presentations at a conference or commencement ceremonies.
The encoded frame rate also affects the required bitrate. When streaming sports you could encode a 60 frames per second (fps) stream at 1080p60 or 720p60; for lower motion events like lectures or conferences, encoding and sending 60 fps may not provide a visible benefit, but requires significantly more bandwidth than streaming at the more common 30 fps. Not all online streaming platforms can accept a 60 fps stream, and not all viewers can handle receiving 60 fps, so be sure to take that into consideration.
Finally, there are two different methods of encoding the video: constant and variable. A constant bitrate encodes at approximately the same rate throughout the stream. While this can help maintain consistent quality, a constant bitrate isn’t always ideal for streaming over the internet since the same amount of data is being sent even when the content isn’t very complex, incurring higher costs from mobile data plans.
Teradek encoders use a variable bitrate encoding to more efficiently encode. If there's not a lot of motion - like a speaker at a podium - your encoder will use a lower bitrate to save on outbound data but increase the encoding quality as needed, such as when you pan the camera or zoom for a wider shot.
- To which CDN / OVP am I streaming?
If you're streaming to a single destination - direct to Facebook Live or YouTube Live, for instance - then your encoder’s settings need to match that destination’s requirements for bitrate and resolution on the incoming stream.
Some platforms like YouTube Live or IBM Cloud Video need video bitrates to be within a certain range for the resolution, so if you don’t have enough bandwidth at your site for a 1080 stream, you need to scale down the streaming resolution and bitrate to fall within their requirements.
If you're using Core or Sharelink to stream to multiple destinations at the same time, then you need to choose encoding settings that are compatible with every destination, since the encoder will only send out a single stream into Core or Sharelink, and that stream is then replicated to each destination.
Keep in mind that every streaming platform comes with different presets which may limit the video bitrate and resolution combinations they will accept. Here are some popular streaming destinations and their settings: