Class VLCEXEOutput
VLC EXE output settings.
Inherited Members
Namespace: VisioForge.Core.Types.Output
Assembly: VisioForge.Core.dll
Syntax
public sealed class VLCEXEOutput : IVideoCaptureBaseOutput, INetworkStreamingOutputConstructors
VLCEXEOutput()
Initializes a new instance of the VLCEXEOutput class.
Declaration
public VLCEXEOutput()Properties
Audio_Bitrate
Gets or sets FFMPEG EXE audio bitrate.
Declaration
public int Audio_Bitrate { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Audio_Channels
Gets or sets FFMPEG EXE audio channels.
Declaration
public int Audio_Channels { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Audio_Encoder
Gets or sets FFMPEG EXE audio encoder.
Declaration
public AudioEncoder Audio_Encoder { get; set; }Property Value
| Type | Description | 
|---|---|
| AudioEncoder | 
Audio_Mode
Gets or sets FFMPEG EXE audio mode.
Declaration
public AudioMode Audio_Mode { get; set; }Property Value
| Type | Description | 
|---|---|
| AudioMode | 
Audio_Quality
Gets or sets FFMPEG EXE audio quality.
Declaration
public int Audio_Quality { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Audio_SampleRate
Gets or sets FFMPEG EXE audio sample rate.
Declaration
public int Audio_SampleRate { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Custom_AdditionalAudioArgs
Gets or sets additional args for FFMPEG EXE audio encoder. You can specify custom FFMPEG parameters not available by our SDK.
Declaration
public string Custom_AdditionalAudioArgs { get; set; }Property Value
| Type | Description | 
|---|---|
| string | 
Custom_AdditionalCommonArgs
Gets or sets additional args for FFMPEG EXE. You can specify custom FFMPEG parameters not available by our SDK.
Declaration
public string Custom_AdditionalCommonArgs { get; set; }Property Value
| Type | Description | 
|---|---|
| string | 
Custom_AdditionalVideoArgs
Gets or sets additional args for FFMPEG EXE video encoder. You can specify custom FFMPEG parameters not available by our SDK.
Declaration
public string Custom_AdditionalVideoArgs { get; set; }Property Value
| Type | Description | 
|---|---|
| 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.
Declaration
public string Custom_AllFFMPEGArgs { get; set; }Property Value
| Type | Description | 
|---|---|
| string | 
ExecutableFilename
Gets or sets custom FFMPEG file name (including path).
Declaration
public string ExecutableFilename { get; set; }Property Value
| Type | Description | 
|---|---|
| string | 
OutputMuxer
Gets or sets FFMPEG EXE output format.
Declaration
public OutputMuxer OutputMuxer { get; set; }Property Value
| Type | Description | 
|---|---|
| OutputMuxer | 
RtBufferSize
Gets or sets rtbufsize parameter for FFMPEG source. 50M by default.
Declaration
public string RtBufferSize { get; set; }Property Value
| Type | Description | 
|---|---|
| string | 
ThreadsCount
Gets or sets FFMPEG EXE threads count.
Declaration
public int ThreadsCount { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
UsePipe
Gets or sets a value indicating whether pipe will be used instead virtual devices.
Declaration
public bool UsePipe { get; set; }Property Value
| Type | Description | 
|---|---|
| bool | 
Video_AspectRatioH
Gets or sets FFMPEG EXE aspect ratio H. 0 to use default value.
Declaration
public int Video_AspectRatioH { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_AspectRatioW
Gets or sets FFMPEG EXE aspect ratio W. 0 to use default value.
Declaration
public int Video_AspectRatioW { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_BFrames
Gets or sets FFMPEG EXE video B-Frames count.
Declaration
public int Video_BFrames { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_Bitrate
Gets or sets FFMPEG EXE video bitrate.
Declaration
public int Video_Bitrate { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_BufferSize
Gets or sets FFMPEGEXE video buffer size. 0 to use default value.
Declaration
public int Video_BufferSize { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_Encoder
Gets or sets FFMPEG EXE output video encoder.
Declaration
public VideoEncoder Video_Encoder { get; set; }Property Value
| Type | Description | 
|---|---|
| VideoEncoder | 
Video_GOPSize
Gets or sets FFMPEG EXE video GOP size.
Declaration
public int Video_GOPSize { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_H264_Level
Gets or sets H264 level.
Declaration
public H264Level Video_H264_Level { get; set; }Property Value
| Type | Description | 
|---|---|
| H264Level | 
Video_H264_Mode
Gets or sets H264 mode.
Declaration
public X264Mode Video_H264_Mode { get; set; }Property Value
| Type | Description | 
|---|---|
| X264Mode | 
Video_H264_Preset
Gets or sets H264 preset. Medium by default.
Declaration
public X264Preset Video_H264_Preset { get; set; }Property Value
| Type | Description | 
|---|---|
| X264Preset | 
Video_H264_PresetCustom
Gets or sets H264 custom preset. Set Video_H264_Preset to Custom first.
Declaration
public string Video_H264_PresetCustom { get; set; }Property Value
| Type | Description | 
|---|---|
| string | 
Video_H264_Profile
Gets or sets H264 profile.
Declaration
public H264Profile Video_H264_Profile { get; set; }Property Value
| Type | Description | 
|---|---|
| H264Profile | 
Video_H264_Quantizer
Gets or sets H264 quantizer.
Declaration
public uint Video_H264_Quantizer { get; set; }Property Value
| Type | Description | 
|---|---|
| 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.
Declaration
public bool Video_H264_QuickTime_Compatibility { get; set; }Property Value
| Type | Description | 
|---|---|
| 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.
Declaration
public bool Video_H264_WebFastStart { get; set; }Property Value
| Type | Description | 
|---|---|
| bool | 
Video_H264_ZeroTolerance
Gets or sets a value indicating whether FFMPEG EXE H264 encoder ZeroTolerance option will be set.
Declaration
public bool Video_H264_ZeroTolerance { get; set; }Property Value
| Type | Description | 
|---|---|
| bool | 
Remarks
Must be set to true for better network streaming.
Video_Height
Gets or sets FFMPEG EXE video height.
Declaration
public int Video_Height { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_Interlace
Gets or sets a value indicating whether FFMPEG EXE video will be interlaced.
Declaration
public bool Video_Interlace { get; set; }Property Value
| Type | Description | 
|---|---|
| bool | 
Video_Letterbox
Gets or sets a value indicating whether FFMPEG EXE video will be letterboxed during resize.
Declaration
public bool Video_Letterbox { get; set; }Property Value
| Type | Description | 
|---|---|
| bool | 
Video_MaxBitrate
Gets or sets FFMPEG EXE video maximal bitrate.
Declaration
public int Video_MaxBitrate { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_MinBitrate
Gets or sets FFMPEGEXE video minimal bitrate.
Declaration
public int Video_MinBitrate { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_Mode
Gets or sets FFMPEG EXE video mode.
Declaration
public VideoMode Video_Mode { get; set; }Property Value
| Type | Description | 
|---|---|
| VideoMode | 
Video_Quality
Gets or sets FFMPEG EXE video quality.
Declaration
public int Video_Quality { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Video_TVSystem
Gets or sets FFMPEG EXE TV system.
Declaration
public TVSystem Video_TVSystem { get; set; }Property Value
| Type | Description | 
|---|---|
| TVSystem | 
Video_Width
Gets or sets FFMPEG EXE video width.
Declaration
public int Video_Width { get; set; }Property Value
| Type | Description | 
|---|---|
| int | 
Methods
FillDefaults(DefaultsProfile, bool)
Fills FFMPEG_EXE properties by defaults profile.
Declaration
public void FillDefaults(DefaultsProfile profile, bool networkStreaming)Parameters
| Type | Name | Description | 
|---|---|---|
| DefaultsProfile | profile | Profile. | 
| bool | networkStreaming | Set true if settings used for network streaming. | 
GetInternalTypeVC()
Gets internal output format.
Declaration
public VideoCaptureOutputFormat GetInternalTypeVC()Returns
| Type | Description | 
|---|---|
| VideoCaptureOutputFormat | Returns VideoCaptureOutputFormat. | 
Load(string)
Loads from JSON.
Declaration
public static VLCEXEOutput Load(string json)Parameters
| Type | Name | Description | 
|---|---|---|
| string | json | JSON string. | 
Returns
| Type | Description | 
|---|---|
| VLCEXEOutput | The string. | 
Save()
Saves to JSON.
Declaration
public string Save()Returns
| Type | Description | 
|---|---|
| string | The string. |