Table of Contents

Class PreEventRecordingOutput

Namespace
VisioForge.Core.Types.X.Output
Assembly
VisioForge.Core.dll

Pre-event (circular buffer) recording output configuration for VideoCaptureCoreX. Continuously buffers encoded video/audio in memory and writes to file on trigger.

public class PreEventRecordingOutput : IVideoCaptureXBaseOutput, IXBaseOutput, IOutputVideoProcessor, IOutputAudioProcessor

Inheritance

Implements

Inherited Members

Constructors

PreEventRecordingOutput(string, PreEventRecordingSettings, IVideoEncoder, IAudioEncoder)

Initializes a new instance of the VisioForge.Core.Types.X.Output.PreEventRecordingOutput class with MP4 container format and default encoders.

public PreEventRecordingOutput(string filename = null, PreEventRecordingSettings settings = null, IVideoEncoder videoEnc = null, IAudioEncoder audioEnc = null)

Parameters

filename string

Default output filename template.

settings PreEventRecordingSettings

Pre-event recording configuration. Uses defaults if null.

videoEnc IVideoEncoder

Video encoder settings. Uses default H.264 if null.

audioEnc IAudioEncoder

Audio encoder settings. Uses default audio encoder if null.

Properties

Audio

Gets or sets the audio encoder settings.

public IAudioEncoder Audio { get; set; }

Property Value

IAudioEncoder

CustomAudioProcessor

Gets or sets the custom audio processor block.

public MediaBlock CustomAudioProcessor { get; set; }

Property Value

MediaBlock

CustomVideoProcessor

Gets or sets the custom video processor block.

public MediaBlock CustomVideoProcessor { get; set; }

Property Value

MediaBlock

Filename

Gets or sets the default output filename (used as template). The actual filename is specified when triggering recording.

public string Filename { get; set; }

Property Value

string

MuxFactoryName

Gets or sets the GStreamer muxer factory name for the output container format. Common values: "mp4mux", "matroskamux", "mpegtsmux".

public string MuxFactoryName { get; set; }

Property Value

string

Settings

Gets or sets the pre-event recording configuration.

public PreEventRecordingSettings Settings { get; set; }

Property Value

PreEventRecordingSettings

Video

Gets or sets the video encoder settings.

public IVideoEncoder Video { get; set; }

Property Value

IVideoEncoder

Methods

CreateMKV(string, PreEventRecordingSettings, IVideoEncoder, IAudioEncoder)

Creates a pre-event recording output with MKV container format.

public static PreEventRecordingOutput CreateMKV(string filename = null, PreEventRecordingSettings settings = null, IVideoEncoder videoEnc = null, IAudioEncoder audioEnc = null)

Parameters

filename string

Default output filename template.

settings PreEventRecordingSettings

Pre-event recording configuration.

videoEnc IVideoEncoder

Video encoder settings.

audioEnc IAudioEncoder

Audio encoder settings.

Returns

PreEventRecordingOutput

A new PreEventRecordingOutput configured for MKV.

CreateMPEGTS(string, PreEventRecordingSettings, IVideoEncoder, IAudioEncoder)

Creates a pre-event recording output with MPEG-TS container format. MPEG-TS is recommended for crash safety (no finalization step required).

public static PreEventRecordingOutput CreateMPEGTS(string filename = null, PreEventRecordingSettings settings = null, IVideoEncoder videoEnc = null, IAudioEncoder audioEnc = null)

Parameters

filename string

Default output filename template.

settings PreEventRecordingSettings

Pre-event recording configuration.

videoEnc IVideoEncoder

Video encoder settings.

audioEnc IAudioEncoder

Audio encoder settings.

Returns

PreEventRecordingOutput

A new PreEventRecordingOutput configured for MPEG-TS.

GetAudioEncoders()

Gets the available audio encoders.

public Tuple<string, Type>[] GetAudioEncoders()

Returns

Tuple<string, Type>[]

GetFilename()

Gets the filename.

public string GetFilename()

Returns

string

GetVideoEncoders()

Gets the available video encoders.

public Tuple<string, Type>[] GetVideoEncoders()

Returns

Tuple<string, Type>[]

SetFilename(string)

Sets the filename.

public void SetFilename(string filename)

Parameters

filename string