Table of Contents

Enum IPSourceEngine

Namespace
VisioForge.Core.Types.VideoCapture
Assembly
VisioForge.Core.dll

Defines the streaming engines available for processing IP camera and network video sources.

public enum IPSourceEngine

Fields

Auto_FFMPEG = 0

Uses the FFmpeg library for stream processing.

FFmpeg is an industry-standard multimedia framework that provides excellent codec and container format support. It handles virtually any video/audio format and streaming protocol.

Best for: Unusual codecs, custom streaming setups, maximum format compatibility.

MMS_WMV = 1

Uses Windows Media Streaming for MMS (Microsoft Media Server) and WMV streams.

Specialized engine for Windows Media streams using the MMS protocol. Primarily used for legacy Windows Media streaming servers and WMV content delivery.

Best for: Windows Media streaming servers, enterprise deployments using WMV.

Auto_VLC = 2

Uses the VLC (VideoLAN) media framework for stream processing.

VLC is renowned for its robustness and ability to handle problematic streams. It provides excellent network error resilience and supports a wide variety of streaming protocols and codecs.

Best for: Unreliable networks, streams with frequent disconnections, maximum protocol compatibility.

Auto_LAV = 3

Uses LAV Filters (ffmpeg-based DirectShow filters) for stream processing.

LAV Filters offer excellent performance with hardware acceleration support (DXVA2, NVDEC, QuickSync). They provide a good balance of compatibility, performance, and features. This is the default and recommended engine for most applications.

Best for: General-purpose IP camera capture, hardware-accelerated decoding, standard RTSP/HTTP streams.

HTTP_MJPEG_LowLatency = 4

Optimized engine for low-latency MJPEG streams over HTTP.

Specialized for Motion JPEG streams delivered via HTTP, commonly used by network cameras for live viewing. Minimizes buffering and processing delays for near-real-time display.

Best for: IP cameras with MJPEG output, surveillance applications requiring minimal delay, simple HTTP streams.

RTSP_LowLatency = 5

Optimized engine for low-latency RTSP streams.

Custom implementation designed to minimize latency in RTSP (Real-Time Streaming Protocol) streams. Uses UDP transport by default and employs minimal buffering strategies for the fastest possible glass-to-glass latency.

Best for: Security cameras requiring immediate response, video conferencing, remote control applications, robotics.

NDI_Legacy = 6

NewTek NDI (Network Device Interface) source using legacy DirectShow filter.

Deprecated. Use VisioForge.Core.Types.VideoCapture.IPSourceEngine.NDI instead for better performance and features.

Legacy implementation using DirectShow filters. Maintained for backward compatibility.

NDI = 7

NewTek NDI (Network Device Interface) source using native SDK.

NDI is a professional video-over-IP standard providing high-quality, low-latency video transmission over standard Ethernet networks. It's widely used in broadcast, live production, and professional video applications.

Features include: Multi-stream support, automatic discovery, embedded audio, bi-directional communication, and virtually zero latency on gigabit networks.

Best for: Professional video production, broadcast workflows, studio environments, zero-latency applications.

Remarks

This enumeration specifies which backend technology is used to receive, decode, and process network video streams. Different engines offer distinct trade-offs between compatibility, performance, latency, and feature support.

Selecting the appropriate engine depends on your specific requirements:

  • Low latency: Use RTSP_LowLatency or HTTP_MJPEG_LowLatency
  • Maximum compatibility: Use Auto_FFMPEG or Auto_VLC
  • Hardware acceleration: Use Auto_LAV with GPU decoding enabled
  • Network resilience: Use Auto_VLC for handling poor connections
  • Professional production: Use NDI for studio-quality zero-latency networking