Class IPCameraSourceSettings
- Namespace
- VisioForge.Core.Types.VideoCapture
- Assembly
- VisioForge.Core.dll
Provides comprehensive configuration settings for IP camera and network video stream sources.
public class IPCameraSourceSettingsInheritance
Inherited Members
Remarks
This class encapsulates all parameters required to connect to and configure IP cameras, RTSP streams, HTTP video streams, and other network-based video sources. It supports multiple streaming engines (FFMPEG, VLC, LAV, low-latency RTSP) and provides extensive control over connection parameters, authentication, latency optimization, and codec settings.
The class supports various network streaming protocols including:
- RTSP (Real-Time Streaming Protocol) - most common for IP cameras
- HTTP/HTTPS - for MJPEG streams and web-based cameras
- ONVIF - standardized protocol for network camera configuration
- MMS/WMV - Windows Media streaming
- NDI - NewTek Network Device Interface for professional video
Properties
AudioCapture
Gets or sets a value indicating whether audio capture from IP camera enabled.
public bool AudioCapture { get; set; }Property Value
Debug_Enabled
Gets or sets a value indicating whether IP camera debugging enabled.
public bool Debug_Enabled { get; set; }Property Value
Debug_Filename
Gets or sets IP camera debug file name.
public string Debug_Filename { get; set; }Property Value
DisconnectEventInterval
Gets or sets interval. If this interval > 0, OnNetworkSourceDisconnect will be fired if no frames arrive in "interval" time. This property must be set before the Start method call. 10 seconds by default.
public TimeSpan DisconnectEventInterval { get; set; }Property Value
FFMPEG_CustomOptions
Gets or sets the FFMPEG custom options.
public Dictionary<string, string> FFMPEG_CustomOptions { get; }Property Value
FFMPEG_MaxLoadTimeout
Gets or sets the FFMPEG maximum load timeout.
public TimeSpan FFMPEG_MaxLoadTimeout { get; set; }Property Value
ForcedFramerate
Gets or sets IP camera framerate, if required. Some HTTP cams do not send time stamp and frame rate is required.
public VideoFrameRate ForcedFramerate { get; set; }Property Value
ForcedFramerate_InstanceID
Gets or sets IP camera forced framerate mode instance id. Must be unique for each process/application.
public char ForcedFramerate_InstanceID { get; set; }Property Value
LAV_GPU_Mode
Gets or sets source GPU mode, if Source_Mode property set to GPU.
public LAVGPUDecoder LAV_GPU_Mode { get; set; }Property Value
LAV_GPU_Use
Gets or sets a value indicating whether GPU decoding will be used for LAV engine.
public bool LAV_GPU_Use { get; set; }Property Value
Login
Gets or sets IP camera login, if required.
public string Login { get; set; }Property Value
ONVIF_Source
Gets or sets a value indicating whether camera connected using ONVIF protocol.
public bool ONVIF_Source { get; set; }Property Value
ONVIF_SourceProfile
Gets or sets the ONVIF camera profile. First profile will be used if this parameter is empty.
public string ONVIF_SourceProfile { get; set; }Property Value
Password
Gets or sets IP camera password, if required.
public string Password { get; set; }Property Value
RTSP_LowLatency_UseUDP
Gets or sets a value indicating whether UDP will be used instead TCP.
public bool RTSP_LowLatency_UseUDP { get; set; }Property Value
Type
Gets or sets the streaming engine type for processing the IP camera stream.
public IPSourceEngine Type { get; set; }Property Value
Remarks
Different engines offer different capabilities and performance characteristics:
- Auto_LAV: LAV Filters - Best general compatibility, supports hardware decoding
- Auto_FFMPEG: FFmpeg library - Widest codec support, good for unusual formats
- Auto_VLC: VLC engine - Excellent network resilience, handles many protocols
- RTSP_LowLatency: Optimized for minimal delay in RTSP streams
- HTTP_MJPEG_LowLatency: Optimized for MJPEG-over-HTTP with low latency
- NDI: NewTek NDI for professional zero-latency networking
URL
Gets or sets the URL for IP camera.
public Uri URL { get; set; }Property Value
VLC_CustomDefaultFrameRate
Gets or sets the custom default frame rate for network sources that do not provide the frame rate correctly.
public VideoFrameRate? VLC_CustomDefaultFrameRate { get; set; }Property Value
VLC_CustomLatency
Gets or sets custom cache size (milliseconds). This option can decrease latency.
public int VLC_CustomLatency { get; set; }Property Value
VLC_CustomParameters
Gets or sets custom command-line parameters.
public string[] VLC_CustomParameters { get; set; }Property Value
- string[]
VLC_ZeroClockJitterEnabled
Gets or sets a value indicating whether clock jitter option will be set to 0. This option can decrease latency.
public bool VLC_ZeroClockJitterEnabled { get; set; }Property Value
VideoCapture
Gets or sets a value indicating whether video capture from IP camera enabled. True by default. Currently used only for LAV engine.
public bool VideoCapture { get; set; }