Class SVTAV1EncoderSettings
- Assembly
- VisioForge.Core.dll
Configuration settings for SVT-AV1 (Scalable Video Technology for AV1) encoder.
public class SVTAV1EncoderSettings : IAV1EncoderSettings, IVideoEncoder, IMediaBlockSettings, IEncoderTextInfoInheritance
Implements
Inherited Members
Properties
Bitrate
public int Bitrate { get; set; }Property Value
CQP
Gets or sets the Constant Quantization Parameter mode value.
public int? CQP { get; set; }Property Value
- int?
Remarks
When set to 1-63, enables CQP mode and disables CRF. A zero or negative value selects nothing - the encoder falls back to VisioForge.Core.Types.X.VideoEncoders.SVTAV1EncoderSettings.TargetBitrate or VisioForge.Core.Types.X.VideoEncoders.SVTAV1EncoderSettings.CRF as if CQP had not been set at all.
CRF
Gets or sets the Constant Rate Factor mode value.
public int CRF { get; set; }Property Value
Remarks
Default is 35. Valid range is 1-63; lower values result in higher quality. Any other value is not applied at all and the encoder keeps its own default of 35: the encoder selects CRF mode by testing crf > 0, so zero and -1 are skipped even though the property accepts them, and anything above 63 is refused by the property itself.
IntraPeriodLength
Gets or sets the intra period length (GOP size).
public int IntraPeriodLength { get; set; }Property Value
Remarks
Period of intra frame insertion, in frames. -2 (the default) lets the encoder choose; -1 inserts no further intra frames after the first, which leaves a stream a late-joining client cannot start decoding.
MaxBitrate
Gets or sets the maximum bitrate in kbits per second.
public int? MaxBitrate { get; set; }Property Value
- int?
Remarks
Used for VBR mode when combined with TargetBitrate. The svtav1enc element takes this value in kbits/sec and accepts 0-100000; anything else is not applied and the encoding runs at the target bitrate without a VBR ceiling.
Preset
Gets or sets the encoding preset for quality/speed tradeoff.
public int Preset { get; set; }Property Value
Remarks
Valid range is 0-13; lower values provide better quality but slower encoding. Default is 10. Any other value is not applied at all - the property would refuse the write - and the encoder keeps its own default of 10 rather than being clamped to the slowest mode.
TargetBitrate
Gets or sets the target bitrate in kbits per second.
public int? TargetBitrate { get; set; }Property Value
- int?
Remarks
When set to 1-100000, enables CBR or VBR encoding modes. The svtav1enc element takes this value in kbits/sec, and refuses anything outside that range - a value the element would refuse is not applied at all, and the encoder falls back to VisioForge.Core.Types.X.VideoEncoders.SVTAV1EncoderSettings.CRF.
Threads
Gets or sets the number of logical CPU cores to use for encoding.
public int Threads { get; set; }Property Value
Remarks
0 (the default) lets the encoder use every core. Applied through the element's logical-processors property.
Tier
Gets or sets the tier level for the encoded stream.
public int Tier { get; set; }Property Value
Remarks
0 (the default) for main tier, 1 for high tier. Applied through the element's parameters-string property, which is where SVT-AV1 takes it.
TileColumns
Gets or sets the number of tile columns, in log2 units: 0 (the default) is one column, 1 is two, 2 is four, up to 4 (sixteen columns). Applied through the element's parameters-string property, and clamped there together with VisioForge.Core.Types.X.VideoEncoders.SVTAV1EncoderSettings.TileRows, since SVT-AV1 also caps the two at 128 tiles between them and refuses to start otherwise.
public int TileColumns { get; set; }Property Value
TileRows
Gets or sets the number of tile rows, in log2 units: 0 (the default) is one row, 1 is two, 2 is four, up to 6 (sixty-four rows). Applied through the element's parameters-string property, and clamped there together with VisioForge.Core.Types.X.VideoEncoders.SVTAV1EncoderSettings.TileColumns, since SVT-AV1 also caps the two at 128 tiles between them and refuses to start otherwise. When the pair does not fit, the rows give way and the columns are kept.
public int TileRows { get; set; }Property Value
Methods
CreateBlock()
Creates a new AV1 encoder block with these settings.
public MediaBlock CreateBlock()Returns
- MediaBlock
-
A configured VisioForge.Core.MediaBlocks.MediaBlock instance for AV1 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
GetEncoderType()
Gets the type of the encoder.
public AV1EncoderType GetEncoderType()Returns
- AV1EncoderType
-
AV1EncoderType.
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
IsAvailable()
Checks if the SVT-AV1 encoder is available on the system.
public static bool IsAvailable()Returns
- bool
-
trueif available; otherwise,false.