Class SpeexOutput
Speex output settings.
Inherited Members
Namespace: VisioForge.Core.Types.Output
Assembly: VisioForge.Core.dll
Syntax
public sealed class SpeexOutput : IVideoEditBaseOutput, IVideoCaptureBaseOutput
Constructors
SpeexOutput()
Initializes a new instance of the SpeexOutput class.
Declaration
public SpeexOutput()
Properties
BitRate
Gets or sets bitrate.
Declaration
public int BitRate { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Range is 2 - 96.
BitrateControl
Gets or sets bitrate control.
Declaration
public SpeexBitrateControl BitrateControl { get; set; }
Property Value
Type | Description |
---|---|
SpeexBitrateControl |
Complexity
Gets or sets complexity.
Declaration
public int Complexity { get; set; }
Property Value
Type | Description |
---|---|
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.
Declaration
public int MaxBitRate { get; set; }
Property Value
Type | Description |
---|---|
int |
Remarks
Range is 2 - 96.
Mode
Gets or sets mode.
Declaration
public SpeexEncodeMode Mode { get; set; }
Property Value
Type | Description |
---|---|
SpeexEncodeMode |
Quality
Gets or sets quality.
Declaration
public int Quality { get; set; }
Property Value
Type | Description |
---|---|
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.
Declaration
public bool UseAGC { get; set; }
Property Value
Type | Description |
---|---|
bool |
UseDTX
Gets or sets a value indicating whether DTX enabled.
Declaration
public bool UseDTX { get; set; }
Property Value
Type | Description |
---|---|
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.
Declaration
public bool UseDenoise { get; set; }
Property Value
Type | Description |
---|---|
bool |
UseVAD
Gets or sets a value indicating whether VAD enabled.
Declaration
public bool UseVAD { get; set; }
Property Value
Type | Description |
---|---|
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.
Declaration
public VideoCaptureOutputFormat GetInternalTypeVC()
Returns
Type | Description |
---|---|
VideoCaptureOutputFormat | Returns VideoCaptureOutputFormat. |
GetInternalTypeVE()
Gets internal output format.
Declaration
public VideoEditOutputFormat GetInternalTypeVE()
Returns
Type | Description |
---|---|
VideoEditOutputFormat | Returns VideoEditOutputFormat. |
Load(string)
Loads from JSON.
Declaration
public static SpeexOutput Load(string json)
Parameters
Type | Name | Description |
---|---|---|
string | json | JSON string. |
Returns
Type | Description |
---|---|
SpeexOutput | The string. |
Save()
Saves to JSON.
Declaration
public string Save()
Returns
Type | Description |
---|---|
string | The string. |