Last updated: Januar 2026
Video Capture SDK .NET vs Datastead TVideoGrabber
Umfassender Vergleich von .NET-Videoaufnahmekomponenten
Die Wahl der richtigen Videoaufnahmekomponente für Ihre .NET-Anwendung bestimmt die Fähigkeiten und langfristigen Kosten Ihres Projekts. Dieser Leitfaden bietet einen detaillierten Vergleich zwischen VisioForge Video Capture SDK .NET — einer modernen Dual-Engine-Aufnahmeplattform mit Unterstützung für fünf Betriebssysteme — und Datastead TVideoGrabber, einer ausgereiften DirectShow-basierten Aufnahmekomponente für Windows. Wir untersuchen Architektur, Funktionen, Multi-Output-Unterstützung, Streaming, Preise und praxisnahen Code, damit Sie eine fundierte Entscheidung treffen können.
Zusammenfassung
| Aspekt | Video Capture SDK .NET | TVideoGrabber |
|---|---|---|
| Architektur | Dual-Engine: natives DirectShow/Media Foundation + eingebettete FFmpeg-Pipelines | Single-Engine: DirectShow-eigenschaftsbasierte Komponente |
| Plattformunterstützung | Windows, macOS, Linux, Android, iOS (5 Plattformen) | Nur Windows |
| Preise | EUR 489 – EUR 6.999/Jahr (alle Funktionen enthalten) | EUR 695 Basis + EUR 950 NDI + EUR 950 Encoder-Add-on = EUR 2.595+ für vergleichbare Funktionen |
| Ideal für | Plattformübergreifende Aufnahme-Apps mit Streaming, Multi-Output und Echtzeit-Effekten | Nur-Windows-Einzelausgabe-Aufnahme mit OCR-Anforderungen |
| API-Stil | Async-First .NET API mit Events und Await-Patterns | Eigenschaftsbasiertes Komponentenmodell mit synchronen Aufrufen |
Architektur im Detail
Video Capture SDK .NET Architektur
Das Video Capture SDK verwendet ein Dual-Engine-Design. Die primäre Engine nutzt DirectShow und Media Foundation unter Windows und bietet nativen Zugriff auf jedes vom Betriebssystem bereitgestellte Aufnahmegerät. Eine sekundäre eingebettete FFmpeg-Pipeline übernimmt erweiterte Codec-Operationen, IP-Kamera-Einbindung und plattformübergreifende Aufnahme. Beide Engines teilen sich eine einheitliche .NET-API-Oberfläche, sodass ein Wechsel zwischen ihnen keine Codeänderungen erfordert.
- ▶Native Windows-Aufnahme über DirectShow- und Media Foundation-Filtergraphen
- ▶Eingebettetes FFmpeg für Codec-Flexibilität ohne externe CLI-Abhängigkeiten
- ▶GPU-beschleunigte Vorschau über Direct3D / OpenGL-Renderer
- ▶Ereignisgesteuerte Architektur mit .NET async/await-Unterstützung
- ▶Single-Process-Modell — kein Child-Process-Management erforderlich
- ▶Plattformübergreifende Unterstützung: Windows, macOS, Linux, Android, iOS
TVideoGrabber Architektur
TVideoGrabber ist eine Single-Engine-DirectShow-basierte Komponente von Datastead. Sie stellt Aufnahmegeräteigenschaften und Aufnahmeeinstellungen über eine eigenschaftsbasierte API bereit. Die Konfiguration erfolgt durch Setzen von Komponenteneigenschaften vor dem Start der Aufnahme, entsprechend einem traditionellen Delphi/VCL-Komponentenmuster, das für .NET angepasst wurde.
- ▶DirectShow-Filtergraph für Gerätezugriff und Aufnahme unter Windows
- ▶Eigenschaftsbasiertes Konfigurationsmodell (Eigenschaften setzen, dann starten)
- ▶Integrierte ONVIF PTZ-Kamerasteuerung
- ▶OCR-Texterkennung während der Aufnahme (einzigartiges Feature)
- ▶Optionale Add-on-Module für NDI und erweiterte Kodierung
- ▶Nur Windows — keine Unterstützung für macOS, Linux oder Mobilgeräte
Wesentliche architektonische Unterschiede
| Aspekt | Video Capture SDK | TVideoGrabber |
|---|---|---|
| Engine-Design | Dual-Engine (DirectShow/MF + FFmpeg) | Single-Engine (nur DirectShow) |
| Plattformumfang | 5 Betriebssysteme, 7 UI-Frameworks | Nur Windows, WinForms/WPF |
| API-Muster | Async/await, Events, verwaltete Objekte | Eigenschaftsbasiert, synchrone Aufrufe |
| Multi-Output | Gleichzeitige Aufnahme + Stream + Snapshot | Einzelausgabe gleichzeitig |
| Streaming | RTMP, RTSP, SRT, HLS, NDI integriert | Keine Streaming-Protokolle enthalten |
| Add-on-Modell | Alle Funktionen in der Lizenz enthalten | Basis + kostenpflichtige Add-ons (NDI EUR 950, Encoder EUR 950) |
Feature-für-Feature-Vergleich
Aufnahmequellen
| Feature | Video Capture SDK | TVideoGrabber |
|---|---|---|
| USB-Webcams | ✅ | ✅ |
| Integrierte Laptop-Kameras | ✅ | ✅ |
| Bildschirm- / Desktop-Aufnahme | ✅ | ✅ |
| IP-Kameras (RTSP/ONVIF) | ✅ | ✅ |
| ONVIF PTZ-Steuerung | ✅ | ✅ |
| Capture Cards (Blackmagic, Magewell) | ✅ | ⚠️(Nur über DirectShow) |
| TV-Tuner (BDA/DVB) | ✅ | ⚠️(Eingeschränkte Unterstützung) |
| NDI-Quellen | ✅ | ⚠️(Erfordert EUR 950 Add-on) |
| Virtuelle Kameras (OBS Virtual Cam) | ✅ | ✅ |
| DECKLINK-Eingang | ✅ | ❌ |
Aufnahme
| Feature | Video Capture SDK | TVideoGrabber |
|---|---|---|
| MP4 (H.264 / H.265) | ✅ | ✅ |
| MKV-Container | ✅ | ❌ |
| WebM (VP8 / VP9 / AV1) | ✅ | ❌ |
| AVI | ✅ | ✅ |
| WMV / ASF | ✅ | ✅ |
| MOV (ProRes) | ✅ | ❌ |
| MPEG-TS | ✅ | ⚠️(Eingeschränkte Container-Unterstützung) |
| Animiertes GIF | ✅ | ❌ |
| Nur Audio (MP3, AAC, WAV) | ✅ | ⚠️ |
| Dateiaufteilung nach Zeit/Größe | ✅ | ❌ |
| Pre-Event-Aufnahme (Ringpuffer) | ✅ | ❌ |
Multi-Output
| Feature | Video Capture SDK | TVideoGrabber |
|---|---|---|
| Gleichzeitige Aufnahme + Stream | ✅ | ❌ |
| Mehrere Aufnahmeausgaben | ✅ | ❌ |
| Aufnahme + Snapshot gleichzeitig | ✅ | ⚠️(Grundlegende Snapshot-Unterstützung) |
| Unterschiedliche Auflösungen pro Ausgabe | ✅ | ❌ |
| Virtuelle Kamera-Ausgabe | ✅ | ❌ |
| Timeshift / Verzögerte Wiedergabe | ✅ | ❌ |
Streaming-Protokolle
| Feature | Video Capture SDK | TVideoGrabber |
|---|---|---|
| RTMP Push (YouTube, Twitch) | ✅ | ❌ |
| RTSP-Servermodus | ✅ | ❌ |
| SRT (Caller / Listener) | ✅ | ❌ |
| HLS-Segmentgenerierung | ✅ | ❌ |
| NDI-Ausgabe | ✅ | ❌ |
| UDP / TCP Unicast / Multicast | ✅ | ❌ |
Videoverarbeitung
| Feature | Video Capture SDK | TVideoGrabber |
|---|---|---|
| Echtzeit-Größenänderung / Zuschnitt | ✅ | ✅ |
| Deinterlacing | ✅ | ✅ |
| Farbanpassung (Helligkeit, Kontrast) | ✅ | ✅ |
| Texteinblendung (Zeitstempel, Wasserzeichen) | ✅ | ✅ |
| Bildeinblendung / Logo | ✅ | ✅ |
| GPU-beschleunigte Videoeffekte | ✅ | ❌ |
| Chroma Key (Greenscreen) | ✅ | ❌ |
| Bild-in-Bild | ✅ | ❌ |
Audio
| Feature | Video Capture SDK | TVideoGrabber |
|---|---|---|
| Audiogerät-Aufnahme | ✅ | ✅ |
| Systemaudio (Loopback)-Aufnahme | ✅ | ❌ |
| Audio-Mixing (mehrere Eingänge) | ✅ | ❌ |
| Echtzeit-Lautstärke / Verstärkungsregelung | ✅ | ⚠️ |
| Audioeffekte (Echo, Reverb) | ✅ | ❌ |
| VU-Meter / Pegelüberwachung | ✅ | ⚠️ |
Erkennung & Analyse
| Feature | Video Capture SDK | TVideoGrabber |
|---|---|---|
| Bewegungserkennung | ✅ | ✅ |
| Gesichtserkennung | ✅ | ❌ |
| Barcode- / QR-Code-Erkennung | ✅ | ❌ |
| OCR-Texterkennung | ❌ | ✅ |
| Objektverfolgung | ✅ | ❌ |
| Audiopegel-Erkennung | ✅ | ⚠️ |
Plattformunterstützung
Betriebssystemkompatibilität
| Plattform | Video Capture SDK | TVideoGrabber |
|---|---|---|
| Windows x64 | ✅ | ✅ |
| Windows ARM64 | ✅ | ❌ |
| macOS (Apple Silicon + Intel) | ✅ | ❌ |
| Linux x64 (Ubuntu, Debian, Fedora) | ✅ | ❌ |
| Linux ARM64 (Raspberry Pi) | ✅ | ❌ |
| Android (über .NET MAUI) | ✅ | ❌ |
| iOS (über .NET MAUI) | ✅ | ❌ |
UI-Framework-Kompatibilität
| Framework | Video Capture SDK | TVideoGrabber |
|---|---|---|
| WinForms | ✅ | ✅ |
| WPF | ✅ | ✅ |
| .NET MAUI | ✅ | ❌ |
| Avalonia UI | ✅ | ❌ |
| Console / Service | ✅ | ❌ |
| ASP.NET Core (Hintergrunddienst) | ✅ | ❌ |
| Blazor (Serverseitige Verarbeitung) | ✅ | ❌ |
Preisvergleich
Video Capture SDK .NET Preise
1 Entwickler, nicht-kommerzielle Nutzung
1 Entwickler, kommerzielle Nutzung, alle Funktionen enthalten
Bis zu 3 Entwickler, kommerzielle Nutzung, 1 Jahr Updates
Bis zu 8 Entwickler, kommerzielle Nutzung, 1 Jahr Updates
All licenses include:
- ✓ Lizenzgebührenfreie Distribution
- ✓ Alle Funktionen enthalten (Streaming, NDI, GPU-Effekte, Multi-Output)
- ✓ Alle Quellcode-Beispiele
- ✓ Prioritärer Ticket-Support
- ✓ Alle 5 Plattformziele enthalten
TVideoGrabber Preise
Einzelausgabe-Aufnahme, grundlegende Funktionen, nur Windows
Fügt NDI-Quellen-/Ausgabeunterstützung hinzu
Fügt erweiterte Hardware-Kodierungsunterstützung hinzu
Alle Add-ons kombiniert — immer noch nur Windows, kein Streaming, Einzelausgabe
Gesamtbetriebskosten
Beim Vergleich gleichwertiger Feature-Sets ändert sich das Preisbild erheblich. Eine TVideoGrabber-Lizenz mit allen Add-ons kostet EUR 2.595 und liefert nur Windows-Einzelausgabe-Aufnahme. Das Video Capture SDK Professional für EUR 1.000 umfasst plattformübergreifende Unterstützung, Streaming, Multi-Output, GPU-Effekte und mehr — zu weniger als der Hälfte des Preises.
- ⚠SDK Professional (EUR 1.000) enthält alles vs. TVideoGrabber Gesamtpaket (EUR 2.595) mit Lücken
- ⚠SDK enthält Streaming-Protokolle (RTMP, SRT, HLS) — TVideoGrabber hat keine zu keinem Preis
- ⚠SDK enthält Multi-Output-Aufnahme — TVideoGrabber hat keine zu keinem Preis
- ⚠SDK unterstützt 5 Plattformen — TVideoGrabber nur Windows
- ⚠SDK enthält GPU-beschleunigte Effekte — TVideoGrabber bietet nur grundlegende Verarbeitung
Codebeispiele
Beispiel 1: Webcam-Aufnahme als 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 onlyBeispiel 2: IP-Kamera mit ONVIF PTZ-Steuerung
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 onlyBeispiel 3: Multi-Output-Aufnahme + 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.Beispiel 4: Bewegungserkennung mit Aufnahme
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.Entscheidungsmatrix
| Anforderung | Video Capture SDK | TVideoGrabber | Gewinner |
|---|---|---|---|
| Plattformübergreifend (Windows, Mac, Linux, Mobil) | Video Capture SDK | ||
| Multi-Output (gleichzeitig aufnehmen + streamen) | Video Capture SDK | ||
| Echtzeit-Audioeffekte | Video Capture SDK | ||
| GPU-beschleunigte Videoeffekte | Video Capture SDK | ||
| RTMP / HLS / SRT Streaming | Video Capture SDK | ||
| Virtuelle Kamera-Ausgabe | Video Capture SDK | ||
| Dateiaufteilung / Timeshift | Video Capture SDK | ||
| Hardware-Kodierung (NVENC, QSV) | Video Capture SDK | ||
| NDI ohne zusätzliche Kosten | Video Capture SDK | ||
| OCR während der Aufnahme | TVideoGrabber |
Fazit
Video Capture SDK .NET
Das Video Capture SDK bietet eine umfassende, moderne Aufnahmeplattform, die fünf Betriebssysteme, sieben UI-Frameworks abdeckt und alle Funktionen — Streaming, Multi-Output, GPU-Effekte, NDI und Hardware-Kodierung — in einer einzigen Lizenz ab EUR 1.000 enthält. Für Teams, die plattformübergreifende Aufnahme-Anwendungen erstellen, oder für jedes Projekt, das Streaming und Multi-Output-Aufnahme erfordert, bietet das SDK deutlich mehr Wert zu niedrigeren Gesamtkosten als TVideoGrabber mit Add-ons.
TVideoGrabber
TVideoGrabber ist eine ausgereifte, nur für Windows verfügbare Aufnahmekomponente mit solider DirectShow-Integration und einer einzigartigen OCR-Fähigkeit. Es ist eine vernünftige Wahl für einfache Windows-only-Aufnahmeprojekte, die Texterkennung aus dem Video-Feed benötigen. Das Fehlen von Streaming, Multi-Output-Unterstützung, plattformübergreifender Kompatibilität und die hohen Kosten der Add-ons (insgesamt EUR 2.595) schränken jedoch die Attraktivität für moderne Anwendungsentwicklung ein.
The Reality
Für reine Windows-Projekte mit OCR-Anforderungen und ohne Bedarf an Streaming oder Multi-Output ist TVideoGrabber eine brauchbare Option. Für praktisch jedes andere Videoaufnahme-Szenario — plattformübergreifend, Streaming, Multi-Output, GPU-Effekte oder kostenbewusste Entwicklung — ist das Video Capture SDK die stärkere Wahl zu einem niedrigeren Gesamtpreis.
