The news that NVIDIA has expanded the concurrent NVENC encoding capacity on consumer GPUs from three to five is a significant development for video enthusiasts. This enhancement allows GPUs to encode up to five streams simultaneously, up from the previous limit of three NVENC encodes. This beneficial change applies to specific GeForce GPUs that span the last eight years, including those based on Maxwell 2nd Gen, Pascal, Turing, Ampere, and Ada Lovelace GPU architectures.
The increase in concurrent sessions was not announced but from the figure above, the left side shows the ‘max # of concurrent sections’ is now 5 unlike 3 presented on the right side. The left ‘max # of concurrent sections’ is recent (from 24 March 2023) while that on the right was archived as of 18 March 2023. https://developer.nvidia.com/video-encode-decode-gpu-support-matrix
In as much as there are benefits from the increased number of concurrent sessions, it also poses a challenge. As you increase the number of simultaneous encoding tasks using NVENC, the speed of the encoding process may decrease. This means that when you encode multiple streams concurrently, it can potentially slow down the encoding speed for each stream. This slowdown is because the resources of the GPU are divided among the various encoding tasks, which can result in a reduced encoding speed compared to encoding a single stream. It is important for video streamers to find a balance between the number of simultaneous encodes and the desired encoding speed to ensure efficient and satisfactory results.
Understanding NVENC application and errors
NVENC stands for NVIDIA Encoder. It is a hardware-accelerated video encoding technology developed by NVIDIA, a leading manufacturer of graphics processing units (GPUs). NVENC is specifically designed for use with NVIDIA GPUs and is primarily used for real-time video encoding tasks, such as live streaming and video game capture. NVENC offloads the video encoding process from the CPU (central processing unit) to the GPU, resulting in improved performance and reduced CPU usage.
This is particularly valuable for content creators, gamers, and live streamers who want to capture or stream high-quality video without overloading their CPU. There are different versions of NVENC, each offering varying levels of performance and quality. Users can select the NVENC version that best suits their needs based on their specific GPU model and software compatibility.
In the past, Nvidia used to place restrictions on the number of simultaneous encoding tasks that could be performed on their graphics cards. However, a few years ago, it was discovered that these restrictions could be bypassed with a relatively straightforward workaround. Now, it seems that Nvidia has altered its approach regarding NVENC limitations. On consumer-grade GPUs, you can now have up to five concurrent NVENC encoding sessions. In contrast, workstation-grade and data center-grade GPUs do not have set restrictions, and the actual number of simultaneous sessions depends on the specific hardware capabilities, the codec used, and the desired video quality. This change provides more flexibility and capacity for encoding tasks on Nvidia GPUs.
For video enthusiasts who are fans of NVENC, this encoding technology can handle 4K 8-bit video compression using the H.264 codec. With official drivers, you can simultaneously encode as many as three video streams. NVENC also enabled users to utilize open-source broadcasting software like OBS, which is a widely used streaming application.
OBS offers NVENC as one of its encoding options, allowing users with NVIDIA GPUs to leverage the hardware-accelerated encoding capabilities provided by NVENC. As a streamer and content creator who wants to capture or live stream video content with minimal impact on CPU performance, using NVENC in OBS is very useful. NVENC in OBS will enable high-quality video encoding while freeing up your CPU for other tasks. But first, you need to enable NVENC on your OBS studio.
Enabling the NVENC encoder in OBS Studio is straightforward: Access your OBS Studio settings either by selecting “Settings” in the control dock or by clicking the “File” tab and choosing “Settings” from the dropdown menu that follows.
Inside the settings menu, navigate to the “Output” tab located on the left-hand side. In the adjacent sub-menu on the right, find the “Streaming” section. About two settings down, you will encounter a dropdown menu for encoder settings. Click on it and opt for “Hardware NVENC” as your chosen encoder.
With this selection, your OBS Studio application will employ the NVENC encoder, directing the encoding process through your GPU instead of your CPU for both video and audio data.
Nonetheless, users might come across the OBS NVENC error, a frequent problem that disrupts the streaming and recording functions. Systematic OBS errors, like improper screen capture settings, can stem from various sources. These include outdated GPU drivers, unsupported GPUs, and most significant, having too many concurrent NVENC sessions.
Typically, to address NVENC errors in OBS, you should access the Task Manager and terminate any tasks unrelated to OBS. Furthermore, it’s advisable to deactivate any antivirus or firewall applications on your PC, as they might disrupt OBS. Also, ensure that your hardware meets OBS’s minimum system prerequisites. You can locate these specifications on the OBS website. https://obsproject.com/kb/system-requirements
Fixing the OBS Nvenc error: too many concurrent sessions
The OBS NVENC error indicating “too many concurrent sessions” essentially means that you are attempting to run more simultaneous encoding tasks than your GPU can handle or support. This error occurs because your graphics card has a limit on how many encoding processes it can manage simultaneously, and you have exceeded that limit. The message below is what you will see when this occurs.
This incident was common among users when NVENC allowed only 3 concurrent encoding sessions. It often led to errors when users attempted to run more than three encoding tasks simultaneously. These errors occurred because users exceeded the capacity of their GPUs, which could only handle three concurrent NVENC sessions. But with the newer NVENC versions allowing up to 5 concurrent encoding sessions, this particular issue should not occur.
However, if you are using the new NVENC which allows up to 5 concurrent encoding sessions and you are encountering an error about too many concurrent sessions, it suggests that you have exceeded the capabilities of your GPU or the GPU is outdated and needs an upgrade. This error can still occur if the resources of your GPU are overwhelmed due to factors such as high-resolution encoding, demanding encoding settings, or other applications utilizing GPU resources concurrently.
To address the issue, you may need to try several things which include, reducing the number of concurrent sessions, upgrading to a more powerful GPU if your workload consistently exceeds the capabilities of your current GPU, reducing resolution encoding, and adjusting your encoding settings.
Step 1: Reduce the number of concurrent sessions: Reboot your PC
Reduce the number of concurrent encoding sessions in your OBS settings. Ensure that you are not running more sessions than your GPU can handle. Since NVENC now allows up to 5 concurrent sessions, ensure you stay within this limit. To accomplish this, it is necessary to restart your computer to release any GPU resources that might be causing the process to run slowly.
This action will help you to restore any improperly configured settings or system irregularities. It will release any memory occupied by running applications and tasks and also rejuvenate services and drivers that might be responsible for the NVENC error in OBS. It is also advisable to allow your PC to completely shut down instead of merely putting it into sleep mode or hibernation.
Step 2: Upgrade GPU driver
Updating your drivers can help ensure that all of the components of your computer are running smoothly and efficiently. But before you update the driver, make sure that other components like sound cards and monitors also have their drivers updated so that everything works together properly.
To access the Device Manager, right-click the Start button and choose “Device Manager” from the menu.
In the “Display Adapters” section, locate your graphics card name, then right-click on it and select “Update Drivers.”
Choose the option “Search automatically for drivers.” Windows will initiate an automatic search and download the most up-to-date drivers suitable for your specific GPU.
In many instances, this process should successfully update your drivers. Nevertheless, if you are starting afresh, you can select “Uninstall device” and then restart your PC. This will compel Windows to install the necessary drivers, and you can subsequently update them as needed.
Step 3: Reduce resolution encoding
Lowering the output resolution has several benefits, including reducing the data load on your hardware, which leads to more consistent performance with fewer disruptions. Additionally, it conserves bandwidth when streaming live broadcasts, resulting in reduced playback latency.
To decrease the resolution in OBS:
Access the OBS Studio application and click the Settings button located in the lower-right corner of the screen.
In the left-hand pane, switch to the Video tab. In the right-hand pane, scroll down and select “Output (Scaled) Resolution.” From the drop-down list, pick a lower resolution value.
Press the Apply and OK buttons to implement the new modifications.
Step 4: Adjusting encoding settings.
Many video streamers have encountered reliability issues with NVENC encoding in OBS, resulting in problems like dropped frames and stuttering videos. OBS provides options beyond x264 for encoding, including AMF, QuickSync, or NVENC, which are hardware encoders available on recent AMD, Intel, and Nvidia GPUs, respectively. The rationale behind using these GPU-based encoders is that they may offer slightly lower video quality compared to x264 at the same bitrate, but they alleviate the CPU by handling a portion of the encoding workload.
Therefore, QuickSync is a suitable option. QuickSync is the hardware-accelerated encoding technology of Intel, known for its superior reliability compared to NVENC. Additionally, QuickSync places less demand on CPU resources, allowing your computer to handle multiple tasks without experiencing stuttering or frame drops.
However, before transitioning to QuickSync, you must verify that your computer complies with the system requirements. QuickSync necessitates an Intel Core i3, i5, or i7 processor paired with Intel HD Graphics 4000 or a superior version. If your computer does not meet these prerequisites, QuickSync will not be an available option for you.
Follow these steps to adjust the encoding settings:
In OBS, initiate the process by clicking on “File,” and then proceed to select “Settings.”
Go to the “Output” tab and choose “QuickSync H.264” from the Encoder drop-down menu.
To finalize these adjustments, click on the “Apply” and “OK” buttons and your OBS application should now operate without any errors.