VisioForge

Last updated: January 2026

Video Capture SDK .NET vs Datastead TVideoGrabber

Comprehensive .NET Video Capture Component Comparison

Choosing the right video capture component for your .NET application determines your project's capabilities and long-term costs. This guide provides a detailed comparison between VisioForge Video Capture SDK .NET — a modern dual-engine capture platform supporting five operating systems — and Datastead TVideoGrabber, a mature DirectShow-based capture component for Windows. We examine architecture, features, multi-output support, streaming, pricing, and real-world code so you can make an informed decision.

Executive Summary

AspectVideo Capture SDK .NETTVideoGrabber
ArchitectureDual engine: native DirectShow/Media Foundation + embedded FFmpeg pipelinesSingle engine: DirectShow property-based component
Platform SupportWindows, macOS, Linux, Android, iOS (5 platforms)Windows only
PricingEUR 489 – EUR 6,999/year (all features included)EUR 695 base + EUR 950 NDI + EUR 950 encoder add-on = EUR 2,595+ for comparable features
Best ForCross-platform capture apps with streaming, multi-output, and real-time effectsWindows-only single-output capture with OCR requirements
API StyleAsync-first .NET API with events and await patternsProperty-based component model with synchronous calls

Architecture Deep Dive

Video Capture SDK .NET Architecture

The Video Capture SDK uses a dual-engine design. The primary engine wraps DirectShow and Media Foundation on Windows, giving native access to every capture device exposed by the OS. A secondary embedded FFmpeg pipeline handles advanced codec operations, IP camera ingestion, and cross-platform recording. Both engines share a unified .NET API surface, so switching between them requires no code changes.

  • Native Windows capture via DirectShow and Media Foundation filter graphs
  • Embedded FFmpeg for codec flexibility without external CLI dependencies
  • GPU-accelerated preview via Direct3D / OpenGL renderers
  • Event-driven architecture with .NET async/await support
  • Single-process model — no child process management required
  • Cross-platform support: Windows, macOS, Linux, Android, iOS

TVideoGrabber Architecture

TVideoGrabber is a single-engine DirectShow-based component developed by Datastead. It exposes capture device properties and recording settings through a property-based API. Configuration is done by setting component properties before starting capture, following a traditional Delphi/VCL component pattern adapted for .NET.

  • DirectShow filter graph for device access and recording on Windows
  • Property-based configuration model (set properties, then start)
  • Built-in ONVIF PTZ camera control support
  • OCR text recognition during capture (unique feature)
  • Optional add-on modules for NDI and advanced encoding
  • Windows-only operation — no macOS, Linux, or mobile support

Key Architectural Differences

AspectVideo Capture SDKTVideoGrabber
Engine DesignDual engine (DirectShow/MF + FFmpeg)Single engine (DirectShow only)
Platform Scope5 OS platforms, 7 UI frameworksWindows only, WinForms/WPF
API PatternAsync/await, events, managed objectsProperty-based, synchronous calls
Multi-OutputSimultaneous record + stream + snapshotSingle output at a time
StreamingRTMP, RTSP, SRT, HLS, NDI built-inNo streaming protocols included
Add-on ModelAll features included in licenseBase + paid add-ons (NDI EUR 950, Encoder EUR 950)

Feature-by-Feature Comparison

Capture Sources

FeatureVideo Capture SDKTVideoGrabber
USB Webcams
Integrated Laptop Cameras
Screen / Desktop Capture
IP Cameras (RTSP/ONVIF)
ONVIF PTZ Control
Capture Cards (Blackmagic, Magewell)⚠️(Via DirectShow only)
TV Tuners (BDA/DVB)⚠️(Limited support)
NDI Sources⚠️(Requires EUR 950 add-on)
Virtual Cameras (OBS Virtual Cam)
DECKLINK Input

Recording

FeatureVideo Capture SDKTVideoGrabber
MP4 (H.264 / H.265)
MKV Container
WebM (VP8 / VP9 / AV1)
AVI
WMV / ASF
MOV (ProRes)
MPEG-TS⚠️(Limited container support)
Animated GIF
Audio-Only (MP3, AAC, WAV)⚠️
File Splitting by Time/Size
Pre-Event Recording (Circular Buffer)

Multi-Output

FeatureVideo Capture SDKTVideoGrabber
Simultaneous Record + Stream
Multiple Recording Outputs
Record + Snapshot Simultaneously⚠️(Basic snapshot support)
Different Resolutions per Output
Virtual Camera Output
Timeshift / Delayed Playback

Streaming Protocols

FeatureVideo Capture SDKTVideoGrabber
RTMP Push (YouTube, Twitch)
RTSP Server Mode
SRT (Caller / Listener)
HLS Segment Generation
NDI Output
UDP / TCP Unicast / Multicast

Video Processing

FeatureVideo Capture SDKTVideoGrabber
Real-Time Resize / Crop
Deinterlacing
Color Adjustment (Brightness, Contrast)
Text Overlay (Timestamp, Watermark)
Image Overlay / Logo
GPU-Accelerated Video Effects
Chroma Key (Green Screen)
Picture-in-Picture

Audio

FeatureVideo Capture SDKTVideoGrabber
Audio Device Capture
System Audio (Loopback) Capture
Audio Mixing (Multiple Inputs)
Real-Time Volume / Gain Control⚠️
Audio Effects (Echo, Reverb)
VU Meter / Level Monitoring⚠️

Detection & Analysis

FeatureVideo Capture SDKTVideoGrabber
Motion Detection
Face Detection
Barcode / QR Code Reading
OCR Text Recognition
Object Tracking
Audio Level Detection⚠️

Platform Support

Operating System Compatibility

PlatformVideo Capture SDKTVideoGrabber
Windows x64
Windows ARM64
macOS (Apple Silicon + Intel)
Linux x64 (Ubuntu, Debian, Fedora)
Linux ARM64 (Raspberry Pi)
Android (via .NET MAUI)
iOS (via .NET MAUI)

UI Framework Compatibility

FrameworkVideo Capture SDKTVideoGrabber
WinForms
WPF
.NET MAUI
Avalonia UI
Console / Service
ASP.NET Core (Background Service)
Blazor (Server-Side Processing)

Pricing Comparison

Video Capture SDK .NET Pricing

HomeEUR 489

1 developer, non-commercial use

ProfessionalEUR 1,000

1 developer, commercial use, all features included

Team SmallEUR 3,499

Up to 3 developers, commercial use, 1 year updates

TeamEUR 6,999

Up to 8 developers, commercial use, 1 year updates

All licenses include:

  • Royalty-free distribution
  • All features included (streaming, NDI, GPU effects, multi-output)
  • All source-code examples
  • Priority ticket support
  • All 5 platform targets included

TVideoGrabber Pricing

Base LicenseEUR 695

Single-output capture, basic features, Windows only

NDI Add-onEUR 950

Adds NDI source/output support

Encoder Add-onEUR 950

Adds advanced hardware encoding support

Full Stack (Base + NDI + Encoder)EUR 2,595

All add-ons combined — still Windows only, no streaming, single output

Total Cost of Ownership

When comparing equivalent feature sets, the pricing picture changes significantly. A TVideoGrabber license with all add-ons costs EUR 2,595 and delivers Windows-only single-output capture. The Video Capture SDK Professional at EUR 1,000 includes cross-platform support, streaming, multi-output, GPU effects, and more — at less than half the price.

  • SDK Professional (EUR 1,000) includes everything vs TVideoGrabber full stack (EUR 2,595) with gaps
  • SDK includes streaming protocols (RTMP, SRT, HLS) — TVideoGrabber has none at any price
  • SDK includes multi-output recording — TVideoGrabber has none at any price
  • SDK covers 5 platforms — TVideoGrabber covers Windows only
  • SDK includes GPU-accelerated effects — TVideoGrabber has basic processing only

Code Examples

Example 1: Webcam Recording to MP4

Video Capture SDK .NET

C#
using VisioForge.Core.VideoCapture;
using VisioForge.Core.Types.Output;

// Create the capture engine
var capture = new VideoCaptureCore();

// Set video source (first available webcam)
var devices = await capture.Video_CaptureDevice_ListAsync();
capture.Video_CaptureDevice = devices[0];

// Set audio source
var audioDevices = await capture.Audio_CaptureDevice_ListAsync();
capture.Audio_CaptureDevice = audioDevices[0];

// Configure MP4 output with H.264
capture.Output_Format = new MP4Output
{
    Video = new H264EncoderSettings
    {
        Bitrate = 4000,
        Profile = H264Profile.Main
    },
    Audio = new AACEncoderSettings
    {
        Bitrate = 192
    }
};
capture.Output_Filename = "recording.mp4";

// Enable preview
capture.Video_Preview_Enabled = true;

// Start recording with preview
await capture.StartAsync();

TVideoGrabber

C#
// TVideoGrabber — property-based approach
var grabber = new TVideoGrabber();

// Select video device by index
grabber.VideoDevice = 0;

// Select audio device by index
grabber.AudioDevice = 0;

// Set recording mode
grabber.RecordingMethod = TRecordingMethod.rmMP4;

// Set output filename
grabber.RecordingFileName = "recording.mp4";

// Set video bitrate
grabber.VideoBitrate = 4000000;

// Set audio bitrate
grabber.AudioBitrate = 192000;

// Start capture and recording
grabber.StartPreview();
grabber.StartRecording();

// Note: Properties set before starting
// No async/await — synchronous calls
// Single output only

Example 2: IP Camera with ONVIF PTZ Control

Video Capture SDK .NET

C#
using VisioForge.Core.VideoCapture;
using VisioForge.Core.Types;

var capture = new VideoCaptureCore();

// Connect to ONVIF IP camera
capture.IP_Camera_Source = new IPCameraSourceSettings
{
    URL = "rtsp://192.168.1.100:554/stream",
    Login = "admin",
    Password = "password",
    Type = IPCameraType.RTSP
};

// ONVIF PTZ control
var ptz = new ONVIFPTZController(
    "192.168.1.100", "admin", "password");
await ptz.MoveAsync(PanDirection.Left, TiltDirection.Up, 0.5);
await ptz.ZoomAsync(ZoomDirection.In, 0.3);
await ptz.GoToPresetAsync("entrance");

// Record while controlling PTZ
capture.Output_Format = new MP4Output();
capture.Output_Filename = "camera_feed.mp4";

// Simultaneously stream to RTMP
capture.Network_Streaming_Enabled = true;
capture.Network_Streaming_Format = new RTMPOutput
{
    URL = "rtmp://stream.example.com/live",
    StreamKey = "KEY"
};

await capture.StartAsync();

TVideoGrabber

C#
// TVideoGrabber — ONVIF PTZ support
var grabber = new TVideoGrabber();

// Set IP camera URL
grabber.IPCameraURL = "rtsp://192.168.1.100:554/stream";
grabber.IPCameraLogin = "admin";
grabber.IPCameraPassword = "password";

// ONVIF PTZ — built-in support
grabber.ONVIF_PTZ_Move(
    ePTZ_Direction.Left, 50);
grabber.ONVIF_PTZ_Zoom(
    ePTZ_ZoomDirection.In, 30);
grabber.ONVIF_PTZ_GotoPreset("entrance");

// Record to file
grabber.RecordingMethod = TRecordingMethod.rmMP4;
grabber.RecordingFileName = "camera_feed.mp4";

grabber.StartPreview();
grabber.StartRecording();

// Note: No streaming capability
// Cannot simultaneously record + stream
// PTZ control is a strong point
// Windows only

Example 3: Multi-Output Recording + Streaming

Video Capture SDK .NET

C#
using VisioForge.Core.VideoCapture;

var capture = new VideoCaptureCore();

// Set webcam source
var devices = await capture.Video_CaptureDevice_ListAsync();
capture.Video_CaptureDevice = devices[0];

// Output 1: High-quality local recording
capture.Output_Format = new MP4Output
{
    Video = new H264EncoderSettings
    {
        Bitrate = 8000,
        Profile = H264Profile.High
    }
};
capture.Output_Filename = "archive.mp4";

// Output 2: Stream to YouTube via RTMP
capture.Network_Streaming_Enabled = true;
capture.Network_Streaming_Format = new RTMPOutput
{
    URL = "rtmp://a.rtmp.youtube.com/live2",
    StreamKey = "YOUR_KEY",
    Video = new H264EncoderSettings { Bitrate = 4500 }
};

// Output 3: Low-res recording for thumbnails
capture.AdditionalOutputs.Add(new OutputConfig
{
    Filename = "preview.mp4",
    Format = new MP4Output
    {
        Video = new H264EncoderSettings
        {
            Bitrate = 1000,
            Width = 640, Height = 360
        }
    }
});

// All three outputs run simultaneously
await capture.StartAsync();

TVideoGrabber

C#
// TVideoGrabber — single output only
var grabber = new TVideoGrabber();

// Select video device
grabber.VideoDevice = 0;

// Can only record to ONE file at a time
grabber.RecordingMethod = TRecordingMethod.rmMP4;
grabber.RecordingFileName = "archive.mp4";
grabber.VideoBitrate = 8000000;

grabber.StartPreview();
grabber.StartRecording();

// LIMITATIONS:
// - Cannot stream while recording
// - Cannot record multiple files simultaneously
// - No RTMP/SRT/HLS streaming support
// - No additional outputs at different resolutions
// - To stream, you would need a separate tool
//   alongside TVideoGrabber
//
// Multi-output and streaming are simply
// not available in TVideoGrabber at any
// price point.

Example 4: Motion Detection with Recording

Video Capture SDK .NET

C#
using VisioForge.Core.VideoCapture;

var capture = new VideoCaptureCore();

// Set video source
var devices = await capture.Video_CaptureDevice_ListAsync();
capture.Video_CaptureDevice = devices[0];

// Enable motion detection
capture.Motion_Detection.Enabled = true;
capture.Motion_Detection.Sensitivity = 70;
capture.Motion_Detection.HighlightMotion = true;
capture.Motion_Detection.HighlightColor = Color.Red;

// Motion event handler
capture.OnMotionDetected += (s, e) =>
{
    Console.WriteLine(
        $"Motion at {DateTime.Now}: " +
        $"Level={e.Level:P0}");

    // Start recording on motion
    if (!capture.IsRecording)
    {
        capture.Output_Filename =
            $"motion_{DateTime.Now:yyyyMMdd_HHmmss}.mp4";
        capture.StartRecording();
    }
};

// Configure output
capture.Output_Format = new MP4Output
{
    Video = new H264EncoderSettings
    {
        Bitrate = 4000,
        UseHardwareEncoder = true
    }
};

// Start preview with detection
await capture.StartAsync();

TVideoGrabber

C#
// TVideoGrabber — motion detection
var grabber = new TVideoGrabber();

// Select video device
grabber.VideoDevice = 0;

// Enable motion detection
grabber.MotionDetection_Enabled = true;
grabber.MotionDetection_Sensitivity = 70;

// Motion event
grabber.OnMotionDetected += (s, e) =>
{
    Console.WriteLine(
        $"Motion detected at {DateTime.Now}");
};

// Set recording format
grabber.RecordingMethod = TRecordingMethod.rmMP4;
grabber.RecordingFileName = "motion.mp4";

grabber.StartPreview();

// Note: TVideoGrabber does support
// basic motion detection — this is
// a shared capability.
// However, no motion highlight overlay,
// no hardware encoding toggle,
// no dynamic filename switching,
// no simultaneous stream on motion.

Decision Matrix

RequirementVideo Capture SDKTVideoGrabberWinner
Cross-platform (Windows, Mac, Linux, Mobile)Video Capture SDK
Multi-output (record + stream simultaneously)Video Capture SDK
Real-time audio effectsVideo Capture SDK
GPU-accelerated video effectsVideo Capture SDK
RTMP / HLS / SRT streamingVideo Capture SDK
Virtual camera outputVideo Capture SDK
File splitting / timeshiftVideo Capture SDK
Hardware encoding (NVENC, QSV)Video Capture SDK
NDI without add-on costVideo Capture SDK
OCR during captureTVideoGrabber

Conclusion

Video Capture SDK .NET

The Video Capture SDK offers a comprehensive, modern capture platform that covers five operating systems, seven UI frameworks, and includes every feature — streaming, multi-output, GPU effects, NDI, and hardware encoding — in a single license starting at EUR 1,000. For teams building cross-platform capture applications or any project requiring streaming and multi-output recording, the SDK delivers significantly more value at a lower total cost than TVideoGrabber with add-ons.

TVideoGrabber

TVideoGrabber is a mature Windows-only capture component with solid DirectShow integration and a unique OCR capability. It is a reasonable choice for simple Windows-only capture projects that require text recognition from the video feed. However, its lack of streaming, multi-output support, cross-platform compatibility, and the high cost of add-ons (EUR 2,595 total) limit its appeal for modern application development.

The Reality

For Windows-only projects with OCR requirements and no need for streaming or multi-output, TVideoGrabber is a viable option. For virtually every other video capture scenario — cross-platform, streaming, multi-output, GPU effects, or cost-conscious development — the Video Capture SDK is the stronger choice at a lower total price.

Frequently Asked Questions

Does TVideoGrabber support RTMP streaming to YouTube or Twitch?
No. TVideoGrabber does not include any streaming protocols. It is a capture-to-file component. To stream, you would need to use a separate tool or library alongside TVideoGrabber. The Video Capture SDK includes RTMP, RTSP, SRT, HLS, and NDI streaming built into every license.
Can TVideoGrabber record to multiple files simultaneously?
No. TVideoGrabber supports single-output recording only. You cannot record a high-quality archive and a low-resolution preview simultaneously, nor can you record while streaming. The Video Capture SDK supports unlimited simultaneous outputs at different resolutions and formats.
Why does TVideoGrabber cost more than the SDK for equivalent features?
TVideoGrabber's base license is EUR 695, but it requires paid add-ons for NDI (EUR 950) and advanced encoding (EUR 950), totaling EUR 2,595 for a feature set that is still missing streaming and multi-output. The Video Capture SDK Professional includes all features for EUR 1,000 — less than half the price with significantly more capabilities.
Does the Video Capture SDK support ONVIF PTZ camera control like TVideoGrabber?
Yes. Both products support ONVIF PTZ camera control including pan, tilt, zoom, and preset positions. This is one area where the two products are comparable in functionality.
Can I use TVideoGrabber on macOS or Linux?
No. TVideoGrabber is a Windows-only component based on DirectShow, which is a Windows-specific technology. It does not run on macOS, Linux, Android, or iOS. The Video Capture SDK supports all five platforms through its cross-platform engine.
Does the Video Capture SDK support OCR like TVideoGrabber?
The Video Capture SDK does not include built-in OCR text recognition. This is one area where TVideoGrabber has a unique advantage. However, the SDK provides raw frame callbacks that allow easy integration with third-party OCR libraries like Tesseract or Azure Computer Vision for similar functionality.
Can I switch from TVideoGrabber to the Video Capture SDK?
Yes. While the API styles differ (TVideoGrabber uses property-based configuration, the SDK uses async events and managed objects), the migration is straightforward. Most teams complete the migration in 1-2 weeks and gain streaming, multi-output, cross-platform support, and GPU effects as a result.

Get Started

Related Comparisons