VisioForge

Last updated: September 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.

From €250/year · Lifetime from €750

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
Pricing€250–€500/year or €750–€1,500 Lifetime·TeamEUR 695 base; NDI and encoder add-ons EUR 950 each; SUITE with all four products EUR 2,100
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

Standard (Annual)€250/year

One named developer; 12 months of minor and major updates and email support

Professional (Annual)€350/year

One named developer; 12 months of minor and major updates and email support

Premium (Annual)€500/year

One named developer; 12 months of minor and major updates and email support

Lifetime·Team€750–€1,500 one-time

All developers in the purchasing organization at one location in one city; perpetual use, lifetime updates and email support

All licenses include:

  • ✓ Royalty-free distribution
  • ✓ All features included (streaming, NDI, GPU effects, multi-output)
  • ✓ All source-code examples
  • ✓ Email 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

SUITE (all four products)EUR 2,100

Base plus all three add-ons bundled — still Windows only, no streaming, single output

Total Cost of Ownership

When comparing equivalent feature sets, the pricing picture changes significantly. A TVideoGrabber setup with the base license and all add-ons costs EUR 2,100 as the Datastead SUITE 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 the TVideoGrabber SUITE (EUR 2,100) 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

From €250/year · Lifetime from €750

Code Examples

Example 1: Webcam Recording to MP4

Video Capture SDK .NET

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

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

// Set video source (first available webcam)
var devices = capture.Video_CaptureDevices();
capture.Video_CaptureDevice = new VideoCaptureSource(devices[0].Name);

// Set audio source
var audioDevices = capture.Audio_CaptureDevices();
capture.Audio_CaptureDevice = new AudioCaptureSource(audioDevices[0].Name);
capture.Audio_RecordAudio = true;

// Configure MP4 output with H.264 + AAC
capture.Output_Format = new MP4Output
{
    Video = new MP4OutputH264Settings
    {
        Bitrate = 4000,
        Profile = H264Profile.ProfileMain
    }
};
capture.Output_Filename = "recording.mp4";

// Capture mode records to file while showing preview
capture.Mode = VideoCaptureMode.VideoCapture;

// 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.ONVIFX;
using VisioForge.Core.Types.VideoCapture;
using VisioForge.Core.Types.Output;
using VisioForge.Core.Types.FFMPEGEXE;

var capture = new VideoCaptureCore();

// Connect to ONVIF IP camera
capture.IP_Camera_Source = new IPCameraSourceSettings
{
    URL = new Uri("rtsp://192.168.1.100:554/stream"),
    Login = "admin",
    Password = "password",
    Type = IPSourceEngine.Auto_FFMPEG
};
capture.Mode = VideoCaptureMode.IPCapture;

// ONVIF PTZ control via ONVIFClientX
var onvif = new ONVIFClientX();
await onvif.ConnectAsync(
    "http://192.168.1.100/onvif/device_service", "admin", "password");
var profiles = await onvif.GetProfilesAsync();
var token = profiles[0].token;

// pan, tilt, zoom speeds in range -1..1
await onvif.ContinuousMoveAsync(-0.5f, 0.5f, 0.0f);
await onvif.StopMoveAsync(token, panTilt: true, zoom: true);
await onvif.GoToPresetAsync(token, "1", 1.0f, 1.0f, 1.0f);

// 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 = NetworkStreamingFormat.RTMP_FFMPEG_EXE;
capture.Network_Streaming_Output = new FFMPEGEXEOutput { OutputMuxer = OutputMuxer.FLV };
capture.Network_Streaming_URL = "rtmp://stream.example.com/live";

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;
using VisioForge.Core.Types.VideoCapture;
using VisioForge.Core.Types.Output;
using VisioForge.Core.Types.FFMPEGEXE;

var capture = new VideoCaptureCore();

// Set webcam source
var devices = capture.Video_CaptureDevices();
capture.Video_CaptureDevice = new VideoCaptureSource(devices[0].Name);
capture.Mode = VideoCaptureMode.VideoCapture;

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

// Output 2: Stream the same source to YouTube via RTMP
capture.Network_Streaming_Enabled = true;
capture.Network_Streaming_Audio_Enabled = true;
capture.Network_Streaming_Format = NetworkStreamingFormat.RTMP_FFMPEG_EXE;
capture.Network_Streaming_Output = new FFMPEGEXEOutput { OutputMuxer = OutputMuxer.FLV };
capture.Network_Streaming_URL = "rtmp://a.rtmp.youtube.com/live2/YOUR_KEY";

// File recording and RTMP stream run simultaneously
await capture.StartAsync();

// Roll over to a second file on demand (split recording)
await capture.SeparateCapture_StartAsync("archive_part2.mp4");

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;
using VisioForge.Core.Types.VideoCapture;
using VisioForge.Core.Types.VideoProcessing;
using VisioForge.Core.Types.Output;

var capture = new VideoCaptureCore();

// Set video source
var devices = capture.Video_CaptureDevices();
capture.Video_CaptureDevice = new VideoCaptureSource(devices[0].Name);

// Enable motion detection with highlight overlay
capture.Motion_Detection = new MotionDetectionSettings
{
    Enabled = true,
    Highlight_Enabled = true,
    Highlight_Color = MotionCHLColor.Red,
    Matrix_Width = 8,
    Matrix_Height = 8
};

// Motion event handler (Level is 0-100)
capture.OnMotion += async (s, e) =>
{
    Console.WriteLine($"Motion at {DateTime.Now}: Level={e.Level}");

    // Roll a timestamped file on motion
    await capture.SeparateCapture_StartAsync(
        $"motion_{DateTime.Now:yyyyMMdd_HHmmss}.mp4");
};

// Configure output (preview + capture)
capture.Output_Format = new MP4Output
{
    Video = new MP4OutputH264Settings { Bitrate = 4000 }
};
capture.Output_Filename = "capture.mp4";
capture.Mode = VideoCaptureMode.VideoCapture;

// Apply detection settings and start
capture.MotionDetection_Update();
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 price of the SUITE (EUR 2,100 for all four products) 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, and NDI (EUR 950) and advanced encoding (EUR 950) are paid add-ons; Datastead's SUITE, which bundles all four products, costs EUR 2,100. That feature set is still missing streaming and multi-output. The Video Capture SDK Professional includes all features for EUR 1,000 — less than half the SUITE 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

Datastead prices as published at datastead.com/purchase.html (TVideoGrabber EUR 695; NDI and encoder add-ons EUR 950 each; SUITE with all four products EUR 2,100), verified 2026-09-06. Prices may change without notice.

Related Comparisons