Table of Contents

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 : CommonNVENCSettings

Inheritance

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

HEVCNVENCLevel

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

HEVCNVENCProfile

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

HEVCNVENCTier

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]