High Quality Streaming With NVIDIA® NVENC (in OBS® Studio)
Streaming with more than one PC has been the leader in H.264 encoding for years, but NVIDIAs Turing and Ampere generation has put a significant dent into that lead. The new generation of GPUs with the brand new encoder brought comparable quality x264 medium – if you can find a GPU that is. Let’s take a look at what’s needed to set up your stream for massively improved quality.
Setting up NVENC (for Streaming)Modern OBS Studio has two ways to achieve the expected quality: the built-in NVENC H.264 (new) and the addition from StreamFX called NVIDIA NVENC H.264/AVC (via FFmpeg). Both Options can achieve similar quality to x264 medium, but the latter is able to exceed that and rival x264 medium/slow in various situations. Whichever you pick, both of them support zero-copy encoding, and they’re both valid options for streaming.
Built-In: OBS Studio NVENC H.264 (new)
The simplest option is the built-in NVENC encoders which offer less flexibility, but gets you started on the path of quality quicker. Depending on which GPU generation you own, you will be able to reach different peak quality levels: Kepler may reach up to x264 superfast, Maxwell and Pascal may reach up to x264 veryfast, Volta may reach up to x264 faster, and Turing and Ampere may reach up to x264 fast.
Option | Kepler | Maxwell | Pascal | Volta | Turing | Ampere |
---|---|---|---|---|---|---|
Preset | Medium (P4) up to Slowest (P7) As with all encoders, higher presets have diminishing returns for much harsher performance impact. | |||||
Tune | High Quality or Low Latency or Ultra Low Latency Choose between focusing Quality or (much) lower encoding Latency. | |||||
H264 | ||||||
Profile | High or Main High enables additional codec features that improve quality. | |||||
Level | Automatic Some problematic Driver versions require you to manually set the H.264 Profile Level. | |||||
Rate Control Options | ||||||
Mode | Constant Bitrate | |||||
Multi-Pass | Full Resolution or Quarter Resolution or Single Pass Improves bitrate distribution and may improve quality. | |||||
Look Ahead | at least 8 frames Enables adaptive functionality and may improve temporal quality. Has diminishing returns. | |||||
Adaptive I-Frames | Enabled or Disabled Improves quality in many games, but may not work with all streaming services. Requires at least 2 frames of Look Ahead. | |||||
Adaptive B-Frames | Enabled Requires at least (1 + Number of B-Frames) frames of Look Ahead. | |||||
Adaptive Quantization | ||||||
Spatial Adaptive Quantization | Disabled or Enabled May improve perceptual quality by favoring smoother surfaces for bitrate distribution. | |||||
Spatial Adaptive Quantization Strength | 1 (least aggressive) to 15 (most aggressive) More aggressive behavior means less bitrate available for textured surfaces, resulting in additional noise. | |||||
Temporal Adaptive Quantization | Enabled | |||||
Other Options | ||||||
Maximum B-Frames | 0 to 4 May improve quality or reduce quality, depending on the situation. Most gaming content only uses up to 2, while most real world content can use much more. Adaptive B-Frames should always be enabled for more intelligent B-Frame placement. | |||||
B-Frame Reference Mode | "Each B-Frame" or "Only B-Frames/2" Situational, more references may actually reduce quality significantly as more reference slots are used. | |||||
Zero Latency | Default | |||||
Weighted Prediction | Default | |||||
Non-reference P-Frames | Enabled | |||||
Reference Frames | -1 frames to 16 frames May improve quality at higher values, but also drastically reduces device compatibility and drastically decreases performance. | |||||
Low Delay Key-Frame Scale | -1 When Low Latency or Ultra Low Latency tune is used, should either be left at -1 or manually adjusted. Can drastically affect quality and latency. |
- The old presets were deprecated by NVIDIA and now map to the new P1-P7 presets, which come with massive performance or quality boosts. High Quality is now Medium (P4), while High Performance is closer to Faster (P2).
It is no secret that H.264/AVC is now an outdated codec which should have been replaced long ago. Still we can do something to achieve more quality from NVENC, through the careful choice of resolution, framerate and bitrate. Below are quality metrics based on VMAF for a Canvas Resolution of 2560x1440 with 60 FPS scaled to different Output Resolutions:
Từ khóa » H264 Vs X264 Obs
-
H264 Or X264? | OBS Forums
-
X264 Vs Apple H264 Hardware Encoder | OBS Forums
-
Which Encoder Is Better: X264 Or H.264? : R/obs - Reddit
-
Best OBS Encoders Ranked - X264 Vs NVENC Vs AVC
-
X264 Software Vs H264 Hardware Encoding Tutorial - Stream School
-
X264 Vs NVENC H.264 Performance | Best OBS Studio Settings
-
Boost Your Stream Quality — Choose The Right Encoder!
-
Nvidia Nvenc Vs X264 Obs: Who Will Win Encoding Battle
-
Broadcast Guidelines - Twitch
-
OBS Encoding Overloaded: Why And How? | By Cecilia H. - Medium
-
In Video Codecs, What's The Difference Between H264 And X264?
-
What Is The Difference Between X264 And H264? - Huawei
-
How To Setup OBS Studio For Streaming: Best Settings (Tutorial)
-
How To Fix OBS “Encoding Overloaded” Issue [2022] - Movavi