Class WMVEncoderBlock
- Assembly
- VisioForge.Core.dll
WMV (Windows Media Video) encoder block for Microsoft's proprietary video compression standard. This block provides WMV encoding capabilities using the VC-1 codec, offering excellent compression efficiency and quality optimized for Windows platforms and Microsoft ecosystem applications. Features advanced rate control, multiple encoding profiles, and seamless integration with Windows Media Player and Microsoft streaming technologies.
Key features:
- VC-1 codec compression with multiple profiles (Simple, Main, Advanced)
- Variable bitrate (VBR) and constant bitrate (CBR) encoding modes
- Advanced rate control algorithms
- Support for HD content up to 1080p
- Temporal and spatial scalability
- B-frame encoding for improved compression
- Windows Media DRM integration capability
Common use cases:
- Windows Media Player content distribution
- Microsoft Silverlight streaming applications
- Corporate video delivery on Windows networks
- Xbox and Windows device playback
- Legacy Windows media workflows
- ASF container video content
- Microsoft streaming services integration
While WMV has been largely superseded by newer standards like H.264 and H.265, it remains important for Windows-specific applications and legacy system compatibility where Microsoft codec support is guaranteed. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.
public class WMVEncoderBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternalsInheritance
Implements
Inherited Members
Extension Methods
Constructors
WMVEncoderBlock(WMVEncoderSettings)
Initializes a new instance of the VisioForge.Core.MediaBlocks.VideoEncoders.WMVEncoderBlock class. Creates a WMV encoder configured for Windows Media video compression with specified quality settings.
public WMVEncoderBlock(WMVEncoderSettings settings)Parameters
settingsWMVEncoderSettings-
The WMV encoder settings defining compression quality, bitrate, and VC-1 profile 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 WMV-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 WMV encoder settings controlling compression quality and encoding parameters.
public WMVEncoderSettings Settings { get; set; }Property Value
Type
Gets the block type identifier for the WMV encoder.
public override MediaBlockType Type { get; }Property Value
Methods
Build()
Builds and initializes the WMV encoder pipeline. Creates the encoder with Windows Media compression settings and prepares it for VC-1 video encoding with specified quality and bitrate parameters.
public override bool Build()Returns
- bool
-
trueif the encoder was successfully built;falseif initialization failed.
CleanUp()
Performs cleanup of all resources associated with the WMV encoder. Disposes the encoder element and releases compression 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 WMV encoder.
GetDefaultSettings()
Gets the default WMV encoder settings with standard quality parameters. Provides a baseline configuration suitable for general-purpose Windows Media video encoding.
public static WMVEncoderSettings GetDefaultSettings()Returns
- WMVEncoderSettings
-
A WMVEncoderSettings instance with default quality and bitrate settings.
GetElement()
Gets the underlying GStreamer WMV encoder element.
public Element GetElement()Returns
- Element
-
The native GStreamer element performing WMV encoding.
IsAvailable()
Determines whether WMV encoding functionality is available on the current system. Requires the GStreamer WMV encoder plugin to be installed.
public static bool IsAvailable()Returns
- bool
-
trueif WMV encoding is supported; otherwise,false.
IMediaBlockInternals.SetContext(MediaBlocksPipeline)
Sets the media pipeline context for this WMV encoder block.
void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)Parameters
pipelineMediaBlocksPipeline-
The parent media pipeline containing this block.