Table of Contents

Class NVENCH264EncoderSettings

Namespace
VisioForge.Core.Types.X.VideoEncoders
Assembly
VisioForge.Core.dll

Nvidia NVENC H264 encoder settings. Implements the VisioForge.Core.Types.X.VideoEncoders.NVENCBaseEncoderSettings. Implements the VisioForge.Core.Types.X.VideoEncoders.IH264EncoderSettings.

public class NVENCH264EncoderSettings : NVENCBaseEncoderSettings, IH264EncoderSettings, IVideoEncoder, IMediaBlockSettings, IEncoderTextInfo

Inheritance

Implements

Inherited Members

Constructors

NVENCH264EncoderSettings()

Initializes a new instance of the VisioForge.Core.Types.X.VideoEncoders.NVENCH264EncoderSettings class.

public NVENCH264EncoderSettings()

NVENCH264EncoderSettings(VideoQuality)

Initializes a new instance of the VisioForge.Core.Types.X.VideoEncoders.NVENCH264EncoderSettings class.

public NVENCH264EncoderSettings(VideoQuality quality)

Parameters

quality VideoQuality

The quality.

Fields

Name

The name.

public static string Name

Field Value

string

Properties

BAdaptive

Gets or sets a value indicating whether adaptive B-frame insert when lookahead is enabled.

public bool BAdaptive { get; set; }

Property Value

bool

BFrames

Gets or sets the number of B-frames between I and P.

public uint BFrames { get; set; }

Property Value

uint

KeyFrameDetected

Occurs when on key frame detected. Timestamp is in nanoseconds.

public KeyFrameDetectedDelegate KeyFrameDetected { get; set; }

Property Value

KeyFrameDetectedDelegate

Level

Gets or sets the level.

public NVENCH264Level Level { get; set; }

Property Value

NVENCH264Level

ParseStream

Gets or sets a value indicating whether to parse the video stream. True by default. Disable it for SRT streaming.

public bool ParseStream { get; set; }

Property Value

bool

Profile

Gets or sets the profile.

public NVENCH264Profile Profile { get; set; }

Property Value

NVENCH264Profile

RCLookahead

Gets or sets the number of frames for frame type lookahead.

public uint RCLookahead { get; set; }

Property Value

uint

TemporalAQ

Gets or sets a value indicating whether Temporal Adaptive Quantization is enabled.

public bool TemporalAQ { get; set; }

Property Value

bool

UseAUD

Gets or sets a value indicating whether AU(Access Unit) delimiter will be used.

public bool UseAUD { get; set; }

Property Value

bool

VBVBufferSize

Gets or sets the VBV(HRD) buffer size in Kbits (0 = NVENC default).

public uint VBVBufferSize { get; set; }

Property Value

uint

WeightedPrediction

Gets or sets a value indicating whether weighted prediction is enabled.

public bool WeightedPrediction { get; set; }

Property Value

bool

Methods

CanCreateSession(out string)

Validates that the NVENC encoder can create a hardware session. This checks if the encoder can actually initialize with the current NVIDIA driver. Use this to detect driver/SDK version mismatches (NV_ENC_ERR_INVALID_VERSION) before starting a pipeline.

public static bool CanCreateSession(out string errorMessage)

Parameters

errorMessage string

Output parameter containing error details if validation fails.

Returns

bool

true if NVENC can create a session; otherwise, false.

CanCreateSession()

Validates that the NVENC encoder can create a hardware session.

public static bool CanCreateSession()

Returns

bool

true if NVENC can create a session; otherwise, false.

CreateBlock()

Creates the block.

public MediaBlock CreateBlock()

Returns

MediaBlock

MediaBlock.

GetCaps()

Gets the caps.

public string GetCaps()

Returns

string

System.String.

GetEncoderType()

Gets the type of the encoder.

public H264EncoderType GetEncoderType()

Returns

H264EncoderType

H264EncoderType.

GetLevelList()

Gets the level list.

public static IEnumerable<string> GetLevelList()

Returns

IEnumerable<string>

IEnumerable<System.String>.

GetParameters()

Gets the parameters string.

public string GetParameters()

Returns

string

System.String.

GetProfileList()

Gets the profile list.

public static IEnumerable<string> GetProfileList()

Returns

IEnumerable<string>

IEnumerable<System.String>.

IsAvailable()

Determines whether this encoder is available.

public static bool IsAvailable()

Returns

bool

true if this encoder is available; otherwise, false.

ToString()

Returns a String that represents this instance.

public override string ToString()

Returns

string

A String that represents this instance.

See Also