Class VLCEXEOutput
VLC EXE output settings.
Inherited Members
Namespace: VisioForge.Core.Types.Output
Assembly: VisioForge.Core.dll
Syntax
public sealed class VLCEXEOutput : IVideoCaptureBaseOutput, INetworkStreamingOutput
Constructors
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. |