Table of Contents

Class SpeexOutput

Namespace
VisioForge.Core.Types.Output
Assembly
VisioForge.Core.dll

Speex output settings.

public sealed class SpeexOutput : IVideoEditBaseOutput, IVideoCaptureBaseOutput

Inheritance

Implements

Inherited Members

Constructors

SpeexOutput()

Initializes a new instance of the VisioForge.Core.Types.Output.SpeexOutput class.

public SpeexOutput()

Properties

BitRate

Gets or sets bitrate.

public int BitRate { get; set; }

Property Value

int

Remarks

Range is 2 - 96.

BitrateControl

Gets or sets bitrate control.

public SpeexBitrateControl BitrateControl { get; set; }

Property Value

SpeexBitrateControl

Complexity

Gets or sets complexity.

public int Complexity { get; set; }

Property Value

int

Remarks

With Speex, it is possible to vary the complexity allowed for the encoder. This is done by controlling how the search is performed with an integer ranging from 1 to 10 in a way that's similar to the -1 to -9 options to gzip and bzip2 compression utilities. For normal use, the noise level at complexity 1 is between 1 and 2 dB higher than at complexity 10, but the CPU requirements for complexity 10 is about 5 times higher than for complexity 1. In practice, the best trade-off is between complexity 2 and 4, though higher settings are often useful when encoding non-speech sounds like DTMF tones. Range is 1 - 10. Default is 3.

MaxBitRate

Gets or sets maximal bitrate.

public int MaxBitRate { get; set; }

Property Value

int

Remarks

Range is 2 - 96.

Mode

Gets or sets mode.

public SpeexEncodeMode Mode { get; set; }

Property Value

SpeexEncodeMode

Quality

Gets or sets quality.

public int Quality { get; set; }

Property Value

int

Remarks

Speex is a lossy codec, which means that it achives compression at the expense of fidelity of the input speech signal. Unlike some other speech codecs, it is possible to control the tradeoff made between quality and bit-rate. The Speex encoding process is controlled most of the time by a quality parameter that ranges from 0 to 10. Default value is 8.

UseAGC

Gets or sets a value indicating whether AGC enabled.

public bool UseAGC { get; set; }

Property Value

bool

UseDTX

Gets or sets a value indicating whether DTX enabled.

public bool UseDTX { get; set; }

Property Value

bool

Remarks

Discontinuous transmission is an addition to VAD/VBR operation, that allows to stop transmitting completely when the background noise is stationary. In file-based operation, since we cannot just stop writing to the file, only 5 bits are used for such frames (corresponding to 250 bps).

UseDenoise

Gets or sets a value indicating whether denoise enabled.

public bool UseDenoise { get; set; }

Property Value

bool

UseVAD

Gets or sets a value indicating whether VAD enabled.

public bool UseVAD { get; set; }

Property Value

bool

Remarks

When enabled, voice activity detection detects whether the audio being encoded is speech or silence/background noise. VAD is always implicitly activated when encoding in VBR, so the option is only useful in non-VBR operation. In this case, Speex detects non-speech periods and encode them with just enough bits to reproduce the background noise. This is called ``comfort noise generation'' (CNG).

Methods

GetInternalTypeVC()

Gets internal output format.

public VideoCaptureOutputFormat GetInternalTypeVC()

Returns

VideoCaptureOutputFormat

Returns VisioForge.Core.Types.VideoCapture.VideoCaptureOutputFormat.

GetInternalTypeVE()

Gets internal output format.

public VideoEditOutputFormat GetInternalTypeVE()

Returns

VideoEditOutputFormat

Returns VisioForge.Core.Types.VideoEdit.VideoEditOutputFormat.

Load(string)

Loads from JSON.

public static SpeexOutput Load(string json)

Parameters

json string

JSON string.

Returns

SpeexOutput

The String.

Save()

Saves to JSON.

public string Save()

Returns

string

The String.