Class HEVCNVENCSettings
- Namespace
- VisioForge.Core.Types.FFMPEGEXE
- Assembly
- VisioForge.Core.dll
Provides configuration settings for H.265/HEVC encoding using NVIDIA NVENC hardware acceleration.
public class HEVCNVENCSettings : CommonNVENCSettingsInheritance
Inherited Members
Remarks
NVENC HEVC encoding utilizes NVIDIA GPU hardware to provide high-performance H.265/HEVC video encoding with minimal CPU usage. This class extends CommonNVENCSettings with HEVC-specific configuration options.
Key benefits of NVENC HEVC: - Real-time 4K/8K HEVC encoding with GPU acceleration - 25-50% better compression than H.264 at similar quality - Minimal CPU utilization (typically under 5%) - Low latency modes for streaming and gaming - 10-bit color depth support for HDR content - Multiple concurrent encoding sessions
Hardware requirements: - NVIDIA GeForce GTX 950 or newer (Maxwell 2nd gen+) for basic HEVC - GeForce GTX 1050+ recommended for full HEVC features - RTX 20-series or newer for optimal HEVC quality and 8K support - Latest NVIDIA drivers (456.71+ recommended)
HEVC encoding generations: - Maxwell (GTX 9xx): Basic HEVC encoding support - Pascal (GTX 10xx): Improved HEVC quality and performance - Turing (RTX 20xx): Enhanced HEVC quality, B-frame support - Ampere (RTX 30xx): Further quality improvements, 8K HEVC - Ada Lovelace (RTX 40xx): AV1 support alongside HEVC
Session limits: - GeForce GPUs: 3 concurrent encoding sessions (driver limitation) - Quadro/Tesla GPUs: Unlimited sessions - Workaround: Use multiple GPUs for more streams
FFMPEG usage: ffmpeg -i input.mp4 -c:v hevc_nvenc -preset p4 -tune hq -b:v 10M -profile:v main10 output.mp4
Constructors
HEVCNVENCSettings()
Initializes a new instance of the VisioForge.Core.Types.FFMPEGEXE.HEVCNVENCSettings class with recommended defaults.
public HEVCNVENCSettings()Remarks
Default configuration optimized for HEVC NVENC encoding: - Encoder: HEVC NVENC (hevc_nvenc) - Aspect Ratio: Auto (0:0) - Resolution: Auto (0x0, will use source resolution) - Rate Control: VBR (Variable Bitrate) - Quality: 25 (CQ level, lower is better quality)
Post-initialization adjustments for common scenarios:
For 4K HDR streaming: - Set Profile to Main10 - Set Level to HEVCNVENCLevel.Level5_1 - Set Tier to Main or High (based on bitrate) - Consider Quality = 22-24 for HDR content - Set appropriate bitrate (15-40 Mbps for 4K)
For low-latency streaming: - Set Preset to P4 or P5 (faster encoding) - Disable RCLookahead (set to 0) - Use CBR rate control - Enable ZeroReorderDelay if available - Disable B-frames for absolute minimum latency
For maximum quality archival: - Set Preset to P7 (slowest, best quality) - Set Quality to 18-22 - Enable SpatialAQ and TemporalAQ - Set RCLookahead to 32 - Use VBR or VBR_HQ rate control - Enable B-frames (BRefMode = Middle)
Important: NVENC HEVC quality has improved significantly with newer GPU generations. RTX 20-series and newer provide quality comparable to software encoders at medium presets while maintaining real-time performance.
Properties
Level
Gets or sets the H.265/HEVC level.
public HEVCNVENCLevel Level { get; set; }Property Value
Remarks
The HEVC level constrains the decoder capabilities required for playback, including maximum resolution, frame rate, and bitrate.
Common HEVC level requirements: - Level 4.0: 1080p@30fps - Level 4.1: 1080p@60fps or 1440p@30fps - Level 5.0: 4K@30fps - Level 5.1: 4K@60fps - Level 6.0: 8K@30fps - Level 6.1: 8K@60fps
Note: HEVC levels differ from H.264 levels in their bitrate calculations and resolution support. Higher levels enable higher resolutions and frame rates.
FFMPEG usage: -level:v [level_value]
Profile
Gets or sets the H.265/HEVC profile.
public HEVCNVENCProfile Profile { get; set; }Property Value
Remarks
The HEVC profile determines the encoding features available and the bit depth and chroma subsampling supported.
HEVC profile options: - Main: 8-bit 4:2:0 (standard for most content) - Main10: 10-bit 4:2:0 (HDR content, better quality) - Main444: 8-bit 4:4:4 (professional video, lossless)
Main10 profile benefits: - Essential for HDR10, HDR10+, and Dolby Vision content - Reduced banding in gradients - Better quality at lower bitrates - Required for 10-bit source material
Hardware support: - Main: All NVENC-capable GPUs - Main10: GTX 1050+ (Pascal architecture and newer) - Main444: Professional GPUs (Quadro/Tesla)
FFMPEG usage: -profile:v [main|main10|rext]
Tier
Gets or sets the H.265/HEVC tier.
public HEVCNVENCTier Tier { get; set; }Property Value
Remarks
HEVC defines two tiers (Main and High) to provide different levels of bitrate capability within each level. The tier affects the maximum bitrate allowed.
Tier selection: - Main Tier: Suitable for most applications, lower bitrate limit - High Tier: Required for very high bitrate content (4K/8K)
For most 1080p and 4K content at typical bitrates, Main Tier is sufficient. High Tier is primarily needed for professional broadcast applications or extremely high bitrate 4K/8K content.
FFMPEG usage: -tier:v [main|high]