Table of Contents

Enum NVENCRateControl

Namespace
VisioForge.Core.Types.FFMPEGEXE
Assembly
VisioForge.Core.dll

FFMPEG EXE H264 NVENC encoder rate control.

public enum NVENCRateControl

Fields

ConstantQP = 0

Constant QP mode.

Maintains a constant quantization parameter across all frames, resulting in consistent quality but variable bitrate. Each frame type (I/P/B) can have different QP values.

Characteristics: - Predictable quality level (lower QP = higher quality) - Highly variable bitrate depending on content complexity - No bitrate guarantees (can spike on complex scenes) - Ideal for archival or when storage is not a concern - QP range: 0-51 (H.264), 0-63 (H.265)

Best for: Quality-critical applications, video analysis, archival masters

VBR = 1

Variable bitrate mode.

Standard VBR mode that varies quality to maintain an average bitrate over time. Allocates more bits to complex scenes and fewer to simple ones.

Behavior: - Targets average bitrate over a window - Quality varies based on content complexity - Allows bitrate peaks up to max_bitrate setting - Buffer size controls rate variation smoothing - Good quality/size balance for file-based content

Recommended for: VOD content, file downloads, non-streaming applications

CBR = 2

Constant bitrate mode.

Maintains a constant bitrate by varying quality as needed. Essential for streaming scenarios with fixed bandwidth constraints.

Properties: - Strict bitrate adherence (within buffer constraints) - Quality fluctuates based on scene complexity - Predictable bandwidth usage - May show quality drops in complex scenes - Buffer size affects quality stability

Use cases: Live streaming, broadcast, bandwidth-limited networks

CBR_LowDelay_HQ = 8

Constant bitrate low delay high quality mode.

Optimized CBR mode for low-latency applications requiring both consistent bitrate and minimal encoding delay. Uses reduced lookahead and faster rate control decisions.

Features: - Minimal encoding latency (sub-frame possible) - Improved quality over standard CBR - Tighter bitrate control for streaming - Optimized for real-time applications - Limited lookahead buffer (typically 0-4 frames)

Ideal for: Video conferencing, live streaming, cloud gaming, remote desktop

CBR_HQ = 16

Constant bitrate high quality mode.

Enhanced CBR mode using multi-pass analysis on the GPU to improve quality while maintaining strict bitrate constraints. Adds small latency for better bit allocation.

Improvements over standard CBR: - Better quality at same bitrate - More consistent quality across scenes - Advanced lookahead for better decisions - Temporal AQ for perceptual improvements - Slightly higher GPU usage and latency

Best for: Premium live streaming, broadcast contribution, high-quality streaming

VBR_HQ = 32

Variable bitrate high quality mode.

Premium VBR mode with enhanced algorithms for superior compression efficiency. Uses advanced lookahead and multi-pass GPU analysis for optimal bit allocation.

Enhancements: - Improved scene detection and bit allocation - Better handling of scene transitions - Advanced motion estimation - Temporal and spatial AQ optimizations - 10-20% better quality/bitrate ratio than standard VBR

Recommended for: High-quality VOD, premium content delivery, Blu-ray encoding

Remarks

Rate control modes determine how the NVENC hardware encoder allocates bits across frames to achieve target quality or bitrate. Different modes are optimized for different use cases ranging from streaming to archival.

Mode selection guidelines: - Streaming: CBR or CBR_LowDelay_HQ for consistent bandwidth - VOD: VBR or VBR_HQ for optimal quality/size ratio - Archival: ConstantQP for consistent quality - Live broadcasting: CBR_HQ for stable quality at fixed bitrate

The HQ variants use multi-pass analysis within the GPU to improve quality at the cost of slightly increased latency and GPU usage.