Choosing Between GPU and CPU
In the realm of live streaming games, a critical consideration revolves around the choice between relying on a Graphics Processing Unit (GPU) or a Central Processing Unit (CPU) for video encoding. The decision hinges on the efficient utilization of limited bandwidth while delivering an optimal viewing experience to your audience. Recent advancements in technology have provided streamers with an array of both software and hardware solutions for encoding live video streams. As we delve into this topic, we’ll narrow our focus to the encoding options supported by Streamlabs OBS, a popular choice among the majority of streamers. By exploring the capabilities of Streamlabs OBS, we can gain valuable insights into the dynamic world of live streaming and make informed decisions regarding the best approach to enhancing your streaming setup.
x264
x264 is an open-source software library that provides best-in-class compression for encoding video streams. It is the suggested encoder option by OBS.
Nvidia NVENC
Nvidia’s push for fully-accelerated hardware-based video encoding was first implemented in the GeForce 600 series. By separating the encoders from the CUDA cores, the GPU’s graphics engine and the CPU can operate independently from the now offloaded encoding tasks. This allows you to stream high quality and ultra-low latency content without taxing your system with unnecessary workloads, while also benefiting from low power demand when streaming.
Intel Quick Sync Video
With the introduction of Intel’s Sandy Bridge CPU microarchitecture in early 2011, the CPUs now feature a dedicated hardware core for video encoding. This additional processing capability offloads the heavy encoding work from you other cores, improving your system’s responsiveness. Starting from 10th generation (Ice Lake) Intel CPUs, Quick Sync Video allows encoding and decoding to a broad spectrum of formats including MPEG-2, AVC, HEVC and VP9. If you are still using Windows 7, you should avoid using Intel Quick Sync Video as it may require additional workarounds to function properly.
AMD Video Code Engine (VCE)
If you own an AMD GPU or APU that supports Video Coding Engine 1.0 or higher, the obs-amd-encoder plugin for OBS allows you to utilize AMD hardware encoding.
Which one is best suited for you
As shown in an hands-on comparison by VentureBeat, the improved NVENC encoder of RTX cards such as the RTX 3090 Ti seems to be better at handling fast camera movements and maintaining the sharpness of on-screen text. Especially when playing fast paced games such as CS:GO or Overwatch, NVENCs encoding quality comes in handy. Software encoding via x264 has the edge when it comes to capturing light sources.
As both hardware and software solutions have reached a point of delivering high quality video encoding, your decision should be made on the basis of your current setup. If you already own on of NVIDIA RTX cards, NVENC should be your encoder of choice. If you own a modern CPU with 6 or more cores, x264 will do just as well.
Sidenotes
It is advised to experiment with the presets and configuration options your encoder provides in order to pinpoint the optimal settings for your setup. If you are just starting out, the “Auto-Configuration Wizard” in OBS Studio can help you find a decent solution based on your internet connection and your current hardware limitations. For all of you who need help setting up their stream with x264 encoding, check out this OBS published an insightful blog post. If you who want to go in-depth about all things encoding, head over to the awesome community at Doom9.