Table of Contents

Class DVEncoderBlock

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

DV (Digital Video) encoder block for professional video production and broadcast applications. This block provides DV video encoding capabilities for digital camcorder formats, offering frame-accurate editing, professional broadcast quality, and compatibility with DV equipment. DV encoding uses intra-frame compression at a fixed bitrate of 25 Mbps (SD-DV) providing excellent quality for standard definition video production workflows.

Key features:

  • Fixed bitrate encoding at 25 Mbps (SD) or 50/100 Mbps (HD)
  • Intra-frame compression for frame-accurate editing
  • 4:1:1 color sampling (NTSC) or 4:2:0 (PAL)
  • Support for DV25, DVCPRO, DVCPRO50, and DVCPRO HD
  • Professional broadcast quality
  • FireWire (IEEE 1394) compatibility
  • Timecode support for professional editing

Common use cases:

  • Digital camcorder recording and playback
  • Professional video editing workflows
  • Broadcast television production
  • Video archival in broadcast facilities
  • Non-linear editing system integration
  • FireWire video capture and output

While DV is considered legacy for new productions, it remains important for compatibility with existing DV equipment, tape archives, and professional broadcast workflows requiring frame-accurate editing. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.

public class DVEncoderBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternals

Inheritance

Implements

Inherited Members

Extension Methods

Constructors

DVEncoderBlock(DVVideoEncoderSettings)

Initializes a new instance of the VisioForge.Core.MediaBlocks.VideoEncoders.DVEncoderBlock class. Creates a DV encoder configured for professional video production with specified format settings.

public DVEncoderBlock(DVVideoEncoderSettings settings)

Parameters

settings DVVideoEncoderSettings

The DV encoder settings defining video standard (NTSC/PAL) and encoding parameters.

Properties

Input

Gets the primary input pad for receiving raw video frames.

public override MediaBlockPad Input { get; }

Property Value

MediaBlockPad

Inputs

Gets all input pads available on this block.

public override MediaBlockPad[] Inputs { get; }

Property Value

MediaBlockPad[]

Output

Gets the primary output pad for DV-encoded video stream.

public override MediaBlockPad Output { get; }

Property Value

MediaBlockPad

Outputs

Gets all output pads available on this block.

public override MediaBlockPad[] Outputs { get; }

Property Value

MediaBlockPad[]

Settings

Gets or sets the DV encoder settings controlling video standard and quality parameters.

public DVVideoEncoderSettings Settings { get; set; }

Property Value

DVVideoEncoderSettings

Type

Gets the block type identifier for the DV encoder.

public override MediaBlockType Type { get; }

Property Value

MediaBlockType

Methods

Build()

Builds and initializes the DV encoder pipeline. Creates the DV encoder element and configures it for professional video production with the specified video standard and quality settings.

public override bool Build()

Returns

bool

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

CleanUp()

Performs cleanup of all resources associated with the DV encoder. Disposes the encoder element and releases encoding resources.

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 GStreamer element wrapper for advanced configuration.

public BaseElement GetCore()

Returns

BaseElement

The BaseElement wrapper for the DV encoder.

GetElement()

Gets the underlying GStreamer DV encoder element.

public Element GetElement()

Returns

Element

The native GStreamer element performing DV encoding.

IsAvailable()

Determines whether DV encoding functionality is available on the current system. Requires the GStreamer DV encoder plugin to be installed.

public static bool IsAvailable()

Returns

bool

true if DV encoding is supported; otherwise, false.

IMediaBlockInternals.SetContext(MediaBlocksPipeline)

Sets the media pipeline context for this DV encoder block.

void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)

Parameters

pipeline MediaBlocksPipeline

The parent media pipeline containing this block.

See Also