Class NVENCHEVCEncoderPage
- Assembly
- VisioForge.Core.dll
Configuration page for the NVIDIA NVENC HEVC (H.265) hardware video encoder.
public class NVENCHEVCEncoderPage : Page, IAnimatable, ISupportInitialize, IFrameworkInputElement, IInputElement, IQueryAmbient, IAddChild, INotifyPropertyChanged, IComponentConnectorInheritance
Implements
Inherited Members
Remarks
The NVENC HEVC encoder provides hardware-accelerated H.265/HEVC video encoding on compatible NVIDIA graphics cards. HEVC offers improved compression efficiency compared to H.264, typically achieving 25-50% better compression at the same quality level. This encoder is ideal for 4K and high-resolution video encoding where bandwidth efficiency is critical.
Key features of the NVENC HEVC encoder: - Multiple rate control modes including constant QP, CBR, VBR, and quality-based VBR - Support for Main and Main10 profiles for standard and 10-bit encoding - Hardware acceleration with minimal CPU usage - Optimized presets for different use cases (quality, performance, low latency) - Zero-latency mode for real-time streaming applications - Configurable GOP size and quantization parameters
Hardware requirements: - NVIDIA GPU with NVENC support (GTX 10 series or newer for HEVC) - Updated NVIDIA graphics drivers - Sufficient GPU memory for encoding resolution
This page allows configuration of all major NVENC HEVC encoding parameters including bitrate control, quality settings, encoding presets, and advanced options for professional video production workflows.
Constructors
NVENCHEVCEncoderPage()
Initializes a new instance of the VisioForge.Core.UI.WPF.Dialogs.OutputFormats.Pages.NVENCHEVCEncoderPage class.
public NVENCHEVCEncoderPage()Properties
Bitrate
Gets or sets the target bitrate for encoding in kilobits per second.
public uint Bitrate { get; set; }Property Value
GOPSize
Gets or sets the Group of Pictures (GOP) size in frames.
public int GOPSize { get; set; }Property Value
Level
Gets or sets the profile.
public NVENCHEVCLevel Level { get; set; }Property Value
LevelStr
Gets or sets the level (as string).
public string LevelStr { get; set; }Property Value
Levels
Gets or sets the levels.
public ObservableCollection<string> Levels { get; set; }Property Value
MaxBitrate
Gets or sets the maximum bitrate limit for variable bitrate encoding modes.
public uint MaxBitrate { get; set; }Property Value
MaxQP
Gets or sets the maximum Quantization Parameter allowed during encoding.
public double MaxQP { get; set; }Property Value
MinQP
Gets or sets the minimum Quantization Parameter allowed during encoding.
public double MinQP { get; set; }Property Value
Preset
Gets or sets the encoding preset that balances quality and performance.
public NVENCPreset Preset { get; set; }Property Value
PresetStr
Gets or sets the preset (as string).
public string PresetStr { get; set; }Property Value
Presets
Gets or sets the preset list.
public ObservableCollection<string> Presets { get; set; }Property Value
Profile
Gets or sets the HEVC profile for encoding compatibility.
public NVENCHEVCProfile Profile { get; set; }Property Value
ProfileStr
Gets or sets the coder mode (as string).
public string ProfileStr { get; set; }Property Value
Profiles
Gets or sets the profiles.
public ObservableCollection<string> Profiles { get; set; }Property Value
QP
Gets or sets the constant Quantization Parameter for quality-based encoding.
public double QP { get; set; }Property Value
RateControl
Gets or sets the rate control algorithm used for encoding.
public NVENCRateControl RateControl { get; set; }Property Value
RateControlModes
Gets or sets the rate control mode list.
public ObservableCollection<string> RateControlModes { get; set; }Property Value
RateControlStr
Gets or sets the rate control (as string).
public string RateControlStr { get; set; }Property Value
ZeroLatency
Gets or sets a value indicating whether zero latency mode is enabled for real-time encoding.
public bool ZeroLatency { get; set; }Property Value
Methods
Fill(ref NVENCHEVCEncoderSettings)
Fills the provided settings object with current values from the UI controls.
public void Fill(ref NVENCHEVCEncoderSettings settings)Parameters
settingsNVENCHEVCEncoderSettings-
The settings object to populate with current encoder configuration values.
GetPageType()
Gets the type of encoder settings this page configures.
public Type GetPageType()Returns
- Type
-
The Type object representing NVENCHEVCEncoderSettings.
Init(NVENCHEVCEncoderSettings)
Initializes the encoder page with existing settings, populating all controls with current values.
public void Init(NVENCHEVCEncoderSettings settings)Parameters
settingsNVENCHEVCEncoderSettings-
The NVENC HEVC encoder settings to load into the UI controls.
InitializeComponent()
InitializeComponent
public void InitializeComponent()SetProperty<T>(ref T, T, string)
Sets the property.
protected bool SetProperty<T>(ref T field, T newValue, string propertyName = null)Parameters
fieldT-
The field.
newValueT-
The new value.
propertyNamestring-
Name of the property.
Returns
- bool
-
trueif successful,falseotherwise.
Type Parameters
T-
Type.
PropertyChanged
Property changed event.
public event PropertyChangedEventHandler PropertyChanged