Table of Contents

Class VLCEXEOutput

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

VLC EXE output settings.

public sealed class VLCEXEOutput : IVideoCaptureBaseOutput, INetworkStreamingOutput

Inheritance

Implements

Inherited Members

Constructors

VLCEXEOutput()

Initializes a new instance of the VisioForge.Core.Types.Output.VLCEXEOutput class.

public VLCEXEOutput()

Properties

Audio_Bitrate

Gets or sets FFMPEG EXE audio bitrate.

public int Audio_Bitrate { get; set; }

Property Value

int

Audio_Channels

Gets or sets FFMPEG EXE audio channels.

public int Audio_Channels { get; set; }

Property Value

int

Audio_Encoder

Gets or sets FFMPEG EXE audio encoder.

public AudioEncoder Audio_Encoder { get; set; }

Property Value

AudioEncoder

Audio_Mode

Gets or sets FFMPEG EXE audio mode.

public AudioMode Audio_Mode { get; set; }

Property Value

AudioMode

Audio_Quality

Gets or sets FFMPEG EXE audio quality.

public int Audio_Quality { get; set; }

Property Value

int

Audio_SampleRate

Gets or sets FFMPEG EXE audio sample rate.

public int Audio_SampleRate { get; set; }

Property Value

int

Custom_AdditionalAudioArgs

Gets or sets additional args for FFMPEG EXE audio encoder. You can specify custom FFMPEG parameters not available by our SDK.

public string Custom_AdditionalAudioArgs { get; set; }

Property Value

string

Custom_AdditionalCommonArgs

Gets or sets additional args for FFMPEG EXE. You can specify custom FFMPEG parameters not available by our SDK.

public string Custom_AdditionalCommonArgs { get; set; }

Property Value

string

Custom_AdditionalVideoArgs

Gets or sets additional args for FFMPEG EXE video encoder. You can specify custom FFMPEG parameters not available by our SDK.

public string Custom_AdditionalVideoArgs { get; set; }

Property Value

string

Custom_AllFFMPEGArgs

Gets or sets custom FFMPEG args for FFMPEG EXE. Using this property you are ignoring all FFMPEG output settings. You can specify custom FFMPEG parameters not available by our SDK.

public string Custom_AllFFMPEGArgs { get; set; }

Property Value

string

ExecutableFilename

Gets or sets custom FFMPEG file name (including path).

public string ExecutableFilename { get; set; }

Property Value

string

OutputMuxer

Gets or sets FFMPEG EXE output format.

public OutputMuxer OutputMuxer { get; set; }

Property Value

OutputMuxer

RtBufferSize

Gets or sets rtbufsize parameter for FFMPEG source. 50M by default.

public string RtBufferSize { get; set; }

Property Value

string

ThreadsCount

Gets or sets FFMPEG EXE threads count.

public int ThreadsCount { get; set; }

Property Value

int

UsePipe

Gets or sets a value indicating whether pipe will be used instead virtual devices.

public bool UsePipe { get; set; }

Property Value

bool

Video_AspectRatioH

Gets or sets FFMPEG EXE aspect ratio H. 0 to use default value.

public int Video_AspectRatioH { get; set; }

Property Value

int

Video_AspectRatioW

Gets or sets FFMPEG EXE aspect ratio W. 0 to use default value.

public int Video_AspectRatioW { get; set; }

Property Value

int

Video_BFrames

Gets or sets FFMPEG EXE video B-Frames count.

public int Video_BFrames { get; set; }

Property Value

int

Video_Bitrate

Gets or sets FFMPEG EXE video bitrate.

public int Video_Bitrate { get; set; }

Property Value

int

Video_BufferSize

Gets or sets FFMPEGEXE video buffer size. 0 to use default value.

public int Video_BufferSize { get; set; }

Property Value

int

Video_Encoder

Gets or sets FFMPEG EXE output video encoder.

public VideoEncoder Video_Encoder { get; set; }

Property Value

VideoEncoder

Video_GOPSize

Gets or sets FFMPEG EXE video GOP size.

public int Video_GOPSize { get; set; }

Property Value

int

Video_H264_Level

Gets or sets H264 level.

public H264Level Video_H264_Level { get; set; }

Property Value

H264Level

Video_H264_Mode

Gets or sets H264 mode.

public X264Mode Video_H264_Mode { get; set; }

Property Value

X264Mode

Video_H264_Preset

Gets or sets H264 preset. Medium by default.

public X264Preset Video_H264_Preset { get; set; }

Property Value

X264Preset

Video_H264_PresetCustom

Gets or sets H264 custom preset. Set Video_H264_Preset to Custom first.

public string Video_H264_PresetCustom { get; set; }

Property Value

string

Video_H264_Profile

Gets or sets H264 profile.

public H264Profile Video_H264_Profile { get; set; }

Property Value

H264Profile

Video_H264_Quantizer

Gets or sets H264 quantizer.

public uint Video_H264_Quantizer { get; set; }

Property Value

uint

Remarks

The range of the quantizer scale is 0-51: where 0 is lossless, 23 is default, and 51 is worst possible. A lower value is a higher quality and a subjectively sane range is 18-28. Consider 18 to be visually lossless or nearly so: it should look the same or nearly the same as the input but it isn't technically lossless. The range is exponential, so increasing the CRF value +6 is roughly half the bitrate while -6 is roughly twice the bitrate. General usage is to choose the highest CRF value that still provides an acceptable quality. If the output looks good, then try a higher value and if it looks bad then choose a lower value. (FFMPEG docs).

Video_H264_QuickTime_Compatibility

Gets or sets a value indicating whether Apple QuickTime compatibility enabled.

public bool Video_H264_QuickTime_Compatibility { get; set; }

Property Value

bool

Remarks

Apple QuickTime only supports YUV planar color space with 4:2:0 chroma subsampling for H.264 video (from FFMPEG docs).

Video_H264_WebFastStart

Gets or sets a value indicating whether fast start mode enabled. Use this mode if you are require file played in browser.

public bool Video_H264_WebFastStart { get; set; }

Property Value

bool

Video_H264_ZeroTolerance

Gets or sets a value indicating whether FFMPEG EXE H264 encoder ZeroTolerance option will be set.

public bool Video_H264_ZeroTolerance { get; set; }

Property Value

bool

Remarks

Must be set to true for better network streaming.

Video_Height

Gets or sets FFMPEG EXE video height.

public int Video_Height { get; set; }

Property Value

int

Video_Interlace

Gets or sets a value indicating whether FFMPEG EXE video will be interlaced.

public bool Video_Interlace { get; set; }

Property Value

bool

Video_Letterbox

Gets or sets a value indicating whether FFMPEG EXE video will be letterboxed during resize.

public bool Video_Letterbox { get; set; }

Property Value

bool

Video_MaxBitrate

Gets or sets FFMPEG EXE video maximal bitrate.

public int Video_MaxBitrate { get; set; }

Property Value

int

Video_MinBitrate

Gets or sets FFMPEGEXE video minimal bitrate.

public int Video_MinBitrate { get; set; }

Property Value

int

Video_Mode

Gets or sets FFMPEG EXE video mode.

public VideoMode Video_Mode { get; set; }

Property Value

VideoMode

Video_Quality

Gets or sets FFMPEG EXE video quality.

public int Video_Quality { get; set; }

Property Value

int

Video_TVSystem

Gets or sets FFMPEG EXE TV system.

public TVSystem Video_TVSystem { get; set; }

Property Value

TVSystem

Video_Width

Gets or sets FFMPEG EXE video width.

public int Video_Width { get; set; }

Property Value

int

Methods

FillDefaults(DefaultsProfile, bool)

Fills FFMPEG_EXE properties by defaults profile.

public void FillDefaults(DefaultsProfile profile, bool networkStreaming)

Parameters

profile DefaultsProfile

Profile.

networkStreaming bool

Set true if settings used for network streaming.

GetInternalTypeVC()

Gets internal output format.

public VideoCaptureOutputFormat GetInternalTypeVC()

Returns

VideoCaptureOutputFormat

Returns VisioForge.Core.Types.VideoCapture.VideoCaptureOutputFormat.

Load(string)

Loads from JSON.

public static VLCEXEOutput Load(string json)

Parameters

json string

JSON string.

Returns

VLCEXEOutput

The String.

Save()

Saves to JSON.

public string Save()

Returns

string

The String.