VisioForge (c) 2025

Search Results for

    Class WebMOutput

    WebM output settings.

    Inheritance
    object
    WebMOutput
    Implements
    IVideoEditBaseOutput
    IVideoCaptureBaseOutput
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: VisioForge.Core.Types.Output
    Assembly: VisioForge.Core.dll
    Syntax
    public sealed class WebMOutput : IVideoEditBaseOutput, IVideoCaptureBaseOutput

    Constructors

    WebMOutput()

    Initializes a new instance of the WebMOutput class.

    Declaration
    public WebMOutput()

    Properties

    Audio_Quality

    Gets or sets Vorbis audio quality. The range is [0, 100].

    Declaration
    public int Audio_Quality { get; set; }
    Property Value
    Type Description
    int

    Video_ARNR_MaxFrames

    Gets or sets the maximum number of frames to run the temporal filter over. The number of frames has to be less than or equal to lag in frames. The range is [0, 15]. Zero is the default.

    Declaration
    public int Video_ARNR_MaxFrames { get; set; }
    Property Value
    Type Description
    int

    Video_ARNR_Strength

    Gets or sets the relative strength of the blur for the temporal filter. The range is [0, 6]. Zero is the weakest and six is the strongest. Three is the default.

    Declaration
    public int Video_ARNR_Strength { get; set; }
    Property Value
    Type Description
    int

    Video_ARNR_Type

    Gets or sets the type of blur for the temporal filter. The range is [1, 3]. Value 1 = a backward blur. Value 2 = a forward blur. Value 3 = a center blur (default).

    Declaration
    public int Video_ARNR_Type { get; set; }
    Property Value
    Type Description
    int

    Video_AutoAltRef

    Gets or sets a value indicating whether alternate reference frame will be added.

    Declaration
    public bool Video_AutoAltRef { get; set; }
    Property Value
    Type Description
    bool

    Video_Bitrate

    Gets or sets video bitrate.

    Declaration
    public int Video_Bitrate { get; set; }
    Property Value
    Type Description
    int

    Video_CPUUsed

    Gets or sets encoder complexity control. Changes in this value influences, among others, the encoder's selection of motion estimation methods. Values greater than 0 will increase encoder speed at the expense of quality. See libvpx documentation of the VP8ESETCPUUSED option for further information. Value range is [-16,16]. Values outside the range are ignored. The default value for configuration of libvpx used within webmdshow is 0.

    Declaration
    public int Video_CPUUsed { get; set; }
    Property Value
    Type Description
    int

    Video_Decimate

    Gets or sets decimate value. Reduces frame rate of input video by discarding video frames based on Decimate value. For Decimate value N, and N >= 2, the VP8 encoder filter encodes only every Nth frame. Decimate values less or equal 1 disable decimation.

    Declaration
    public int Video_Decimate { get; set; }
    Property Value
    Type Description
    int

    Video_Decoder_Buffer_InitialSize

    Gets or sets decoder buffer initial size. This value indicates the amount of data that will be buffered by the decoding application prior to beginning playback. This value is expressed in units of time (milliseconds).

    Declaration
    public int Video_Decoder_Buffer_InitialSize { get; set; }
    Property Value
    Type Description
    int

    Video_Decoder_Buffer_OptimalSize

    Gets or sets decoder buffer optimal size. This value indicates the amount of data that the encoder should try to maintain in the decoder's buffer. This value is expressed in units of time (milliseconds).

    Declaration
    public int Video_Decoder_Buffer_OptimalSize { get; set; }
    Property Value
    Type Description
    int

    Video_Decoder_Buffer_Size

    Gets or sets decoder buffer size. This value indicates the amount of data that may be buffered by the decoding application. This value is expressed in units of time (milliseconds). For example, a value of 5000 indicates that the client will buffer (at least) 5000 ms worth of encoded data.

    Declaration
    public int Video_Decoder_Buffer_Size { get; set; }
    Property Value
    Type Description
    int

    Video_DropframeThreshold

    Gets or sets dropframe threshold. Temporal resampling allows the codec to "drop" frames as a strategy to meet its target data rate. This can cause temporal discontinuities in the encoded video, which may appear as stuttering during playback. This trade-off is often acceptable, but for many applications is not. It can be disabled in these cases. This threshold is described as a percentage of the target data buffer. When the data buffer falls below this percentage of fullness, a dropped frame is indicated. Set the threshold to zero (0) to disable this feature. 0 by default.

    Declaration
    public int Video_DropframeThreshold { get; set; }
    Property Value
    Type Description
    int

    Video_Encoder

    Gets or sets video encoder.

    Declaration
    public WebMVideoEncoder Video_Encoder { get; set; }
    Property Value
    Type Description
    WebMVideoEncoder

    Video_EndUsage

    Gets or sets video end usage mode.

    Declaration
    public VP8EndUsageMode Video_EndUsage { get; set; }
    Property Value
    Type Description
    VP8EndUsageMode

    Video_ErrorResilient

    Gets or sets a value indicating whether error resilient enabled. Error resilient mode indicates to the encoder that it should take measures appropriate for streaming over lossy or noisy links, if possible. Disabled by default.

    Declaration
    public bool Video_ErrorResilient { get; set; }
    Property Value
    Type Description
    bool

    Video_FixedKeyframeInterval

    Gets or sets fixed keyframe interval. If keyframe generation at a fixed interval is desired, set keyframe mode to kKeyframeModeDisabled, and set the interval using this method. This is most useful when dealing with a variable frame rate video source when a consistent keyframe interval is desired for streaming purposes.

    Declaration
    public int Video_FixedKeyframeInterval { get; set; }
    Property Value
    Type Description
    int

    Video_Keyframe_MaxInterval

    Gets or sets keyframe maximum interval. This value, expressed as a number of frames, forces the encoder to code a keyframe if one has not been coded in the last MaxInterval frames. A value of 0 implies all frames will be keyframes. Set MinInterval equal to MaxInterval for a fixed interval.

    Declaration
    public int Video_Keyframe_MaxInterval { get; set; }
    Property Value
    Type Description
    int

    Video_Keyframe_MinInterval

    Gets or sets keyframe minimum interval. This value, expressed as a number of frames, prevents the encoder from placing a keyframe nearer than MinInterval to the previous keyframe. At least MinInterval frames non-keyframes will be coded before the next keyframe. Set MinInterval equal to MaxInterval for a fixed interval.

    Declaration
    public int Video_Keyframe_MinInterval { get; set; }
    Property Value
    Type Description
    int

    Video_Keyframe_Mode

    Gets or sets keyframe placement mode. This value indicates whether the encoder should place keyframes at a fixed interval, or determine the optimal placement automatically (as governed by the KeyframeMinInterval and KeyframeMaxInterval).

    Declaration
    public VP8KeyframeMode Video_Keyframe_Mode { get; set; }
    Property Value
    Type Description
    VP8KeyframeMode

    Video_LagInFrames

    Gets or sets lag in frame. If set, this value allows the encoder to consume a number of input frames before producing output frames. This allows the encoder to base decisions for the current frame on future frames. This does increase the latency of the encoding pipeline, so it is not appropriate in all situations (ex: realtime encoding). This is a maximum value - the encoder may produce frames sooner than the given limit. Set this value to 0 to disable this feature.

    Declaration
    public int Video_LagInFrames { get; set; }
    Property Value
    Type Description
    int

    Video_MaxQuantizer

    Gets or sets maximum (worst quality) quantizer. The quantizer is the most direct control over the quality of the encoded image. The quantizer range is [0, 63].

    Declaration
    public int Video_MaxQuantizer { get; set; }
    Property Value
    Type Description
    int

    Video_MinQuantizer

    Gets or sets minimum (best quality) quantizer. The quantizer is the most direct control over the quality of the encoded image. The quantizer range is [0, 63].

    Declaration
    public int Video_MinQuantizer { get; set; }
    Property Value
    Type Description
    int

    Video_Mode

    Gets or sets video mode.

    Declaration
    public VP8QualityMode Video_Mode { get; set; }
    Property Value
    Type Description
    VP8QualityMode

    Video_OvershootPct

    Gets or sets rate control overshoot tolerance. This value, expressed as a percentage of the target bitrate, describes the maximum allowed bitrate for a given frame. Set to zero to use the codec default.

    Declaration
    public int Video_OvershootPct { get; set; }
    Property Value
    Type Description
    int

    Video_SpatialResampling_Allowed

    Gets or sets a value indicating whether spatial resampling enabled. Spatial resampling allows the codec to compress a lower resolution version of the frame, which is then upscaled by the encoder to the correct presentation resolution. This increases visual quality at low data rates, at the expense of CPU time on the encoder/decoder.

    Declaration
    public bool Video_SpatialResampling_Allowed { get; set; }
    Property Value
    Type Description
    bool

    Video_SpatialResampling_DownThreshold

    Gets or sets spatial resampling down watermark. This threshold is described as a percentage of the target data buffer. When the data buffer falls below this percentage of fullness, the encoder will step down to a lower resolution version of the frame.

    Declaration
    public int Video_SpatialResampling_DownThreshold { get; set; }
    Property Value
    Type Description
    int

    Video_SpatialResampling_UpThreshold

    Gets or sets spatial resampling up watermark. This threshold is described as a percentage of the target data buffer. When the data buffer rises above this percentage of fullness, the encoder will step up to a higher resolution version of the frame.

    Declaration
    public int Video_SpatialResampling_UpThreshold { get; set; }
    Property Value
    Type Description
    int

    Video_StaticThreshold

    Gets or sets static macroblock threshold. Sets the threshold for macroblocks to be treated as static by libvpx. When active it allows the encoder to skip blocks that it deems static based on the provided threshold. Values > 1000 not advisable, and any value greater than 0 can cause encoding artifacts due to skipped blocks. Values less than 0 are ignored.

    Declaration
    public int Video_StaticThreshold { get; set; }
    Property Value
    Type Description
    int

    Video_ThreadCount

    Gets or sets video thread count.

    Declaration
    public int Video_ThreadCount { get; set; }
    Property Value
    Type Description
    int

    Video_TokenPartition

    Gets or sets VP8 token partition mode. This defines VP8 partitioning mode for compressed data, i.e., the number of sub-streams in the bitstream. Used for parallelized decoding. Value 0 = one token partition. Value 1 = two token partitions. Value 2 = four token partitions. Value 3 = eight token partitions.

    Declaration
    public int Video_TokenPartition { get; set; }
    Property Value
    Type Description
    int

    Video_UndershootPct

    Gets or sets rate control undershoot tolerance. This value, expressed as a percentage of the target bitrate, describes the target bitrate for easier frames, allowing bits to be saved for harder frames. Set to zero to use the codec default.

    Declaration
    public int Video_UndershootPct { get; set; }
    Property Value
    Type Description
    int

    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 WebMOutput Load(string json)
    Parameters
    Type Name Description
    string json

    JSON string.

    Returns
    Type Description
    WebMOutput

    The string.

    Save()

    Saves to JSON.

    Declaration
    public string Save()
    Returns
    Type Description
    string

    The string.

    Implements

    IVideoEditBaseOutput
    IVideoCaptureBaseOutput