Table of Contents

Class MPEG2EncoderBlock

Namespace
VisioForge.Core.MediaBlocks.VideoEncoders
Assembly
VisioForge.Core.dll

MPEG-2 video encoder block for broadcast-quality video compression with widespread compatibility. This block provides professional MPEG-2 encoding capabilities designed for broadcast television, DVD authoring, and legacy video systems. Features comprehensive profile and level support, advanced rate control algorithms, and field/frame encoding modes. Essential for broadcast delivery, DVD production, digital television, and professional video workflows requiring MPEG-2 compatibility and broadcast-standard quality. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.

public class MPEG2EncoderBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternals

Inheritance

Implements

Inherited Members

Extension Methods

Constructors

MPEG2EncoderBlock(MPEG2VideoEncoderSettings)

Initializes a new instance of the VisioForge.Core.MediaBlocks.VideoEncoders.MPEG2EncoderBlock class with specified MPEG-2 encoder settings.

public MPEG2EncoderBlock(MPEG2VideoEncoderSettings settings)

Parameters

settings MPEG2VideoEncoderSettings

The MPEG-2 encoder configuration settings.

Properties

Input

Gets the input.

public override MediaBlockPad Input { get; }

Property Value

MediaBlockPad

Inputs

Gets the inputs.

public override MediaBlockPad[] Inputs { get; }

Property Value

MediaBlockPad[]

Output

Gets the output.

public override MediaBlockPad Output { get; }

Property Value

MediaBlockPad

Outputs

Gets the outputs.

public override MediaBlockPad[] Outputs { get; }

Property Value

MediaBlockPad[]

Settings

Gets or sets the MPEG-2 encoder settings. Contains comprehensive configuration parameters for MPEG-2 encoding including profile/level selection, bitrate control, GOP structure, and broadcast-specific options.

public MPEG2VideoEncoderSettings Settings { get; set; }

Property Value

MPEG2VideoEncoderSettings

Type

Gets the type.

public override MediaBlockType Type { get; }

Property Value

MediaBlockType

Methods

Build()

Constructs and initializes the MPEG-2 encoder and its associated GStreamer elements. This method creates the encoder with the specified settings, establishes input and output pads, and prepares the block for broadcast-quality video compression for DVD and television applications.

public override bool Build()

Returns

bool

true if the encoder was successfully built and configured; false if initialization failed.

CleanUp()

Releases all resources and performs cleanup operations for this MPEG-2 encoder block. This method disposes of the GStreamer elements and resets the build state.

public void CleanUp()

Dispose(bool)

Releases unmanaged and - optionally - managed resources.

protected override void Dispose(bool disposing)

Parameters

disposing bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

GetCore()

Gets the core BaseElement wrapper that provides additional functionality around the GStreamer MPEG-2 encoder element.

public BaseElement GetCore()

Returns

BaseElement

The BaseElement wrapper instance that encapsulates the GStreamer MPEG-2 encoder.

GetElement()

Gets the underlying GStreamer element that performs the MPEG-2 video encoding.

public Element GetElement()

Returns

Element

The GStreamer Element instance representing the MPEG-2 encoder.

IsAvailable()

Determines whether this media block is available. Correct NuGet SDK redist should be included into your project.

public static bool IsAvailable()

Returns

bool

true if this media block is available; otherwise, false.

IMediaBlockInternals.SetContext(MediaBlocksPipeline)

Associates this MPEG-2 encoder block with a pipeline and initializes its internal context. This method is called internally when the block is added to a pipeline.

void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)

Parameters

pipeline MediaBlocksPipeline

The MediaBlocksPipeline instance that will manage this block.

See Also