Class DVEncoderBlock
- 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, IMediaBlockInternalsInheritance
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
settingsDVVideoEncoderSettings-
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
Inputs
Gets all input pads available on this block.
public override MediaBlockPad[] Inputs { get; }Property Value
Output
Gets the primary output pad for DV-encoded video stream.
public override MediaBlockPad Output { get; }Property Value
Outputs
Gets all output pads available on this block.
public override MediaBlockPad[] Outputs { get; }Property Value
Settings
Gets or sets the DV encoder settings controlling video standard and quality parameters.
public DVVideoEncoderSettings Settings { get; set; }Property Value
Type
Gets the block type identifier for the DV encoder.
public override MediaBlockType Type { get; }Property Value
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
-
trueif the encoder was successfully built;falseif 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
disposingbool-
trueto release both managed and unmanaged resources;falseto 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
-
trueif 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
pipelineMediaBlocksPipeline-
The parent media pipeline containing this block.