Table of Contents

Class SVTHEVCEncoderSettings

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

Configuration settings for SVT-HEVC (Scalable Video Technology for HEVC) encoder.

public class SVTHEVCEncoderSettings : IHEVCEncoderSettings, IVideoEncoder, IMediaBlockSettings, IEncoderTextInfo

Inheritance

Implements

Inherited Members

Properties

Bitrate

Gets or sets the target bitrate in kilobits per second.

public int Bitrate { get; set; }

Property Value

int

Remarks

Default is 7000 kbps.

ConstantQP

Gets or sets the constant QP mode value.

public int? ConstantQP { get; set; }

Property Value

int?

Remarks

When set, enables constant QP mode. Valid range is 0-51.

EncodingSpeed

Gets or sets the encoding speed preset.

public int EncodingSpeed { get; set; }

Property Value

int

Remarks

Valid range is 0-11. Lower values provide better quality but slower encoding. Default is 7.

HierarchicalLevels

Gets or sets the hierarchical levels for B-frames.

public int HierarchicalLevels { get; set; }

Property Value

int

Remarks

0-3, where 3 is the default value.

LogicalProcessors

Gets or sets the logical processors count.

public int LogicalProcessors { get; set; }

Property Value

int

Remarks

0 for automatic.

OpenGOP

Gets or sets whether to use open GOP structure.

public bool OpenGOP { get; set; }

Property Value

bool

Remarks

Default is true.

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

SceneChangeDetection

Gets or sets whether to enable scene change detection.

public bool SceneChangeDetection { get; set; }

Property Value

bool

Remarks

Default is true.

TargetSocket

Gets or sets the target socket count for thread allocation.

public int TargetSocket { get; set; }

Property Value

int

Remarks

-1 for automatic.

Threads

Gets or sets the number of threads to use for encoding.

public int Threads { get; set; }

Property Value

int

Remarks

0 for automatic thread count based on CPU cores.

TileColumns

Gets or sets the number of tile columns.

public int TileColumns { get; set; }

Property Value

int

Remarks

0 for automatic.

TileRows

Gets or sets the number of tile rows.

public int TileRows { get; set; }

Property Value

int

Remarks

0 for automatic.

TuneForQuality

Gets or sets the quality tuning mode.

public int TuneForQuality { get; set; }

Property Value

int

Remarks

0 = "vq" (visual quality), 1 = "oq" (PSNR/SSIM optimized). Default is 1.

Methods

CreateBlock()

Creates a new HEVC encoder block with these settings.

public MediaBlock CreateBlock()

Returns

MediaBlock

A configured VisioForge.Core.MediaBlocks.MediaBlock instance for HEVC encoding.

GetCaps()

Retrieves a string representation of the encoder's capabilities (GStreamer caps). This string describes the media formats and properties that the encoder can handle.

public string GetCaps()

Returns

string

A String containing the encoder's capabilities.

GetEncoderType()

Gets the type of the encoder.

public HEVCEncoderType GetEncoderType()

Returns

HEVCEncoderType

HEVCEncoderType.

GetParameters()

Retrieves a string representation of the encoder's current parameters. This string typically includes settings like bitrate, resolution, frame rate, and other configured options.

public string GetParameters()

Returns

string

A String containing the encoder parameters.

IsAvailable()

Checks if the SVT-HEVC encoder is available on the system.

public static bool IsAvailable()

Returns

bool

true if available; otherwise, false.