Skip to main content
All CollectionsOnsite Broadcast
OBS, Open Broadcast Software - Optimization Guide
OBS, Open Broadcast Software - Optimization Guide
Updated over a week ago

OBS (Open Broadcaster Software) has rapidly become a leading application for encoding RTMP streams. In this guide, we will outline crucial OBS settings that specifically work to achieve the best balance between video quality and low latency.

Understanding Your Video Requirements:

  • Quality vs. Latency: It is crucial to adjust your settings according to your specific use case. Opting for higher-quality streams will inevitably lead to higher latency. For instance, fast-paced and interactive content demands low latency settings, whereas static content, such as "talking head" videos, can maintain higher quality without the need for additional adjustments.

  • Hardware Considerations: Some settings shown here may not be available to you if your RTMP encoder does not have supported hardware.
    Ensure your Encoder has a dedicated (CPU & GPU) that can handle the demands of both high-quality encoding and low-latency delivery.

    The most important specification to consider is having a dedicated NVIDIA or AMD graphics card (GPU) that can reliably encode the content of your RTMP steam. Specifically, any Nvidia GeForce RTX or AMD Radeon RX will have sufficient capability to encode RTMP streams.

    When encoding on an Apple computer, it’s important to ensure the encoder is equipped with at least an M2 processor for high-performance encoding.

Settings - OBS Output Tab:

You will first want to ensure that under settings, you’ve changed the output mode from Simple to Advanced.

If this dropdown is missing, or an Advanced option is not included, you may need to ensure your GPU is active and current with the latest support drivers.

After changing the Output Mode to advanced, you will notice significant changes in the settings down below. These options allow for more precise adjustments to your RTMP stream.

Streaming settings:

In this section, we can dive into the technical details that actually enhance the visual and audio quality of your stream.

Remember, there are two ways your computer can encode a video stream.
Either with your main CPU or a dedicated GPU.

Some manufacturers will include GPUs embedded with the main CPU,
these can be used but aren't as performant as a dedicated GPU.

  • Hardware Encoder (Preferred) - (NVENC for Nvidia, AMF for AMD, or QuickSync for Intel) will offload the encoding process to your GPU, freeing up the CPU and reducing the load. This is ideal for low-latency streaming as it can deliver faster encoding with minimal quality loss.

  • CPU Encoder (Fallback) - is known for flexibility and compatibility.

    It provides acceptable quality but is very CPU-intensive, especially for high resolutions, with fewer options for latency adjustment.

The image below emphasizes the significance of choosing the right video encoder type. Your available options may differ, and multiple options may exist.

it's important to check and see if you have multiple CPU and GPU encoder options listed in the dropdown. In my case, I have a dedicated NVIDIA graphics card and have selected it as the most powerful option, other GPU options can also be used. However, they may not be as performant as a dedicated GPU.


You can experiment with each of these video encoder options to determine which type offers the best performance for you. As a best practice, it’s always best to never tax your main CPU that's already busy with other processes.
Use a GPU to encode instead.

Encoder Settings:

Scrolling down the settings, you will find additional options that provide you with greater granular control over optimizations, and tricks for your encoded steam.

If you have a dedicated GPU and access to all the options shown here, continue to match our settings for an optimized stream. These settings should render a high-quality stream, regardless of the encoder used.

  • Rate Control: CBR is the only option that should be used on webinar.net!
    (CBR = Constant Bit Rate) will work to ensure that your encoder is transmitting a defined and consistent stream of data.

  • Bitrate: It's best to choose an appropriate bitrate based on your internet upload speed. For 1080p streaming, a bitrate between 3,500 Kbps and 6,000 Kbps is recommended.

Sending streams above 6,000 Kbps may cause your stream to be terminated.

  • Keyframe Interval: Set this to 2 seconds. RTMP streams require a consistent keyframe interval, (hello message) to ensure synchronization between you and the receiving server. This setting directly affects stream stability and latency, additionally, it can help to reduce timing issues with congested network connections.

  • Preset: OBS comes with several preset options for optimizing an RTMP stream.
    The options in the dropdown menu are additional settings designed to complement the core settings above and enhance the visual quality of your stream.

    These options are labeled as P1 - P7

Without diving too much into technical weeds, this setting will instruct your encoder on how much time to allocate for accurately rendering your video.

While you might think that selecting the "Slowest (best quality)" option would introduce latency and hurt your stream.

In reality, the GPU in your encoder will work to minimize or eliminate any time delays introduced and ultimately enhance the visual quality of your stream, P5 is usually the best option for most encoders and content.

  • Tuning: This tuning option in OBS additionally works to allow encoders to optimize their stream for low-latency sends. Using this option will ensure that OBS prioritizes speed over buffering, which reduces the overall time it takes for your stream to reach webinar.net.
    If you have selected the slowest preset option from above, then this tuning option can work part and parcel to ensure consistent low-latency sends.

  • Multipass Mode: Leave this at the default (Two Passes).
    This mode will improve video quality by analyzing and optimizing the stream over multiple passes before it’s sent. This results in better bitrate allocation, reducing visual artifacts and enhancing clarity without adding much latency.

  • Profile: This option can be set to either “main” or “high” without any impact on the performance of your stream. In most cases, the default for this option can be set to main.

With these video bitrate settings locked into place, we can now use the lefthand nav bar and choose the "Audio" tab for another set of important audio configs.

Settings - Audio Tab:

Inside the audio tab, there are really only two major settings you should change.
We want to focus on just these two drop-downs here for Sample Rate and Channels.

  • Sample Rate: To ensure a well-packaged stream that's not over-bloated with redundant data. We can simplify our audio sample rate to 44.1 kHz which will continue to serve high-fidelity audio, at a smaller data rate.

  • Channels: The setting for stereo vs. mono sound is widely debated!
    However, the Mono setting will ensure that all audio is heard through both the left and right speakers at the same time. If you aren't streaming audio with spatial qualities, then this can be set to Mono as a best practice.


Settings - Video Tab:

Inside the Video tab, we have only three major options to consider for encoding our stream.

  • Base Canvas Resolution: This can be set as low as 1280X720 but should be no larger than 1920X1080 for a full 1080P HD stream.

  • Output Scaled Resolution: Always match this to the size of your canvas to ensure your encoder does not require additional downscaling of the video stream, in turn using more resources.

  • Common FPS Values: This should be set to either, 30 or 60 frames per second to ensure smooth-looking video.

After configuring all these options, you should have an optimized OBS client for high-quality, low-latency RTMP streams that should be compatible with most encoding setups!

Always remember to adjust these settings based on testing and live feedback to find the optimal balance for your setup.


For further assistance, contact us through chat or send us an email at support@webinar.net.

Did this answer your question?