VisioForge

Last updated: Janvier 2026

Video Capture SDK .NET vs Datastead TVideoGrabber

Comparaison complète des composants de capture vidéo .NET

Choisir le bon composant de capture vidéo pour votre application .NET détermine les capacités et les coûts à long terme de votre projet. Ce guide fournit une comparaison détaillée entre VisioForge Video Capture SDK .NET — une plateforme de capture moderne à double moteur prenant en charge cinq systèmes d'exploitation — et Datastead TVideoGrabber, un composant de capture mature basé sur DirectShow pour Windows. Nous examinons l'architecture, les fonctionnalités, le support multi-sortie, le streaming, les tarifs et le code réel pour vous aider à prendre une décision éclairée.

Résumé exécutif

AspectVideo Capture SDK .NETTVideoGrabber
ArchitectureDouble moteur : DirectShow/Media Foundation natif + pipelines FFmpeg intégrésMoteur unique : composant basé sur les propriétés DirectShow
Support des plateformesWindows, macOS, Linux, Android, iOS (5 plateformes)Windows uniquement
TarifsEUR 489 – EUR 6 999/an (toutes fonctionnalités incluses)EUR 695 base + EUR 950 NDI + EUR 950 module encodeur = EUR 2 595+ pour des fonctionnalités comparables
Idéal pourApplications de capture multiplateforme avec streaming, multi-sortie et effets en temps réelCapture mono-sortie Windows uniquement avec besoins OCR
Style d'APIAPI .NET async-first avec événements et patterns awaitModèle de composant basé sur les propriétés avec appels synchrones

Analyse approfondie de l'architecture

Architecture du Video Capture SDK .NET

Le Video Capture SDK utilise une conception à double moteur. Le moteur principal encapsule DirectShow et Media Foundation sous Windows, offrant un accès natif à chaque périphérique de capture exposé par le système d'exploitation. Un pipeline FFmpeg secondaire intégré gère les opérations avancées de codec, l'ingestion de caméras IP et l'enregistrement multiplateforme. Les deux moteurs partagent une surface d'API .NET unifiée, donc le passage de l'un à l'autre ne nécessite aucune modification de code.

  • Capture Windows native via les graphes de filtres DirectShow et Media Foundation
  • FFmpeg intégré pour la flexibilité des codecs sans dépendances CLI externes
  • Aperçu accéléré par GPU via les renderers Direct3D / OpenGL
  • Architecture événementielle avec support async/await .NET
  • Modèle mono-processus — aucune gestion de processus enfants requise
  • Support multiplateforme : Windows, macOS, Linux, Android, iOS

Architecture de TVideoGrabber

TVideoGrabber est un composant mono-moteur basé sur DirectShow développé par Datastead. Il expose les propriétés des périphériques de capture et les paramètres d'enregistrement via une API basée sur les propriétés. La configuration se fait en définissant les propriétés du composant avant de démarrer la capture, suivant un modèle traditionnel de composant Delphi/VCL adapté pour .NET.

  • Graphe de filtres DirectShow pour l'accès aux périphériques et l'enregistrement sous Windows
  • Modèle de configuration basé sur les propriétés (définir les propriétés, puis démarrer)
  • Support intégré du contrôle de caméra ONVIF PTZ
  • Reconnaissance de texte OCR pendant la capture (fonctionnalité unique)
  • Modules complémentaires optionnels pour NDI et encodage avancé
  • Windows uniquement — pas de support macOS, Linux ni mobile

Différences architecturales clés

AspectVideo Capture SDKTVideoGrabber
Conception du moteurDouble moteur (DirectShow/MF + FFmpeg)Moteur unique (DirectShow uniquement)
Portée des plateformes5 systèmes d'exploitation, 7 frameworks UIWindows uniquement, WinForms/WPF
Modèle d'APIAsync/await, événements, objets managésBasé sur les propriétés, appels synchrones
Multi-sortieEnregistrement + stream + snapshot simultanésUne seule sortie à la fois
StreamingRTMP, RTSP, SRT, HLS, NDI intégrésAucun protocole de streaming inclus
Modèle de modulesToutes les fonctionnalités incluses dans la licenceBase + modules payants (NDI EUR 950, Encodeur EUR 950)

Comparaison fonctionnalité par fonctionnalité

Sources de capture

FonctionnalitéVideo Capture SDKTVideoGrabber
Webcams USB
Caméras intégrées d'ordinateur portable
Capture d'écran / bureau
Caméras IP (RTSP/ONVIF)
Contrôle ONVIF PTZ
Cartes de capture (Blackmagic, Magewell)⚠️(Via DirectShow uniquement)
Tuners TV (BDA/DVB)⚠️(Support limité)
Sources NDI⚠️(Nécessite un module à EUR 950)
Caméras virtuelles (OBS Virtual Cam)
Entrée DECKLINK

Enregistrement

FonctionnalitéVideo Capture SDKTVideoGrabber
MP4 (H.264 / H.265)
Conteneur MKV
WebM (VP8 / VP9 / AV1)
AVI
WMV / ASF
MOV (ProRes)
MPEG-TS⚠️(Support limité du conteneur)
GIF animé
Audio uniquement (MP3, AAC, WAV)⚠️
Découpage de fichier par temps/taille
Enregistrement Pré-Événement (Buffer Circulaire)

Multi-sortie

FonctionnalitéVideo Capture SDKTVideoGrabber
Enregistrement + stream simultanés
Sorties d'enregistrement multiples
Enregistrement + snapshot simultanés⚠️(Support basique de snapshot)
Résolutions différentes par sortie
Sortie caméra virtuelle
Timeshift / lecture différée

Protocoles de streaming

FonctionnalitéVideo Capture SDKTVideoGrabber
RTMP Push (YouTube, Twitch)
Mode serveur RTSP
SRT (Caller / Listener)
Génération de segments HLS
Sortie NDI
UDP / TCP Unicast / Multicast

Traitement vidéo

FonctionnalitéVideo Capture SDKTVideoGrabber
Redimensionnement / recadrage en temps réel
Désentrelacement
Ajustement des couleurs (luminosité, contraste)
Incrustation de texte (horodatage, filigrane)
Incrustation d'image / logo
Effets vidéo accélérés par GPU
Chroma Key (fond vert)
Picture-in-Picture

Audio

FonctionnalitéVideo Capture SDKTVideoGrabber
Capture de périphérique audio
Capture audio système (Loopback)
Mixage audio (entrées multiples)
Contrôle du volume / gain en temps réel⚠️
Effets audio (écho, réverbération)
VU-mètre / surveillance de niveau⚠️

Détection et analyse

FonctionnalitéVideo Capture SDKTVideoGrabber
Détection de mouvement
Détection de visage
Lecture de codes-barres / QR
Reconnaissance de texte OCR
Suivi d'objets
Détection de niveau audio⚠️

Support des plateformes

Compatibilité des systèmes d'exploitation

PlateformeVideo 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)

Compatibilité des frameworks UI

FrameworkVideo Capture SDKTVideoGrabber
WinForms
WPF
.NET MAUI
Avalonia UI
Console / Service
ASP.NET Core (service en arrière-plan)
Blazor (traitement côté serveur)

Comparaison des tarifs

Tarifs du Video Capture SDK .NET

HomeEUR 489

1 développeur, usage non commercial

ProfessionalEUR 1 000

1 développeur, usage commercial, toutes fonctionnalités incluses

Team SmallEUR 3 499

Jusqu'à 3 développeurs, usage commercial, 1 an de mises à jour

TeamEUR 6 999

Jusqu'à 8 développeurs, usage commercial, 1 an de mises à jour

All licenses include:

  • Distribution sans redevance
  • Toutes les fonctionnalités incluses (streaming, NDI, effets GPU, multi-sortie)
  • Tous les exemples de code source
  • Support prioritaire par ticket
  • Les 5 plateformes cibles incluses

Tarifs de TVideoGrabber

Licence de baseEUR 695

Capture mono-sortie, fonctionnalités de base, Windows uniquement

Module NDIEUR 950

Ajoute le support source/sortie NDI

Module encodeurEUR 950

Ajoute le support d'encodage matériel avancé

Pack complet (Base + NDI + Encodeur)EUR 2 595

Tous les modules combinés — toujours Windows uniquement, pas de streaming, sortie unique

Coût total de possession

En comparant des ensembles de fonctionnalités équivalents, le tableau des prix change considérablement. Une licence TVideoGrabber avec tous les modules coûte EUR 2 595 et offre une capture mono-sortie Windows uniquement. Le Video Capture SDK Professional à EUR 1 000 inclut le support multiplateforme, le streaming, la multi-sortie, les effets GPU et plus — à moins de la moitié du prix.

  • SDK Professional (EUR 1 000) inclut tout vs. pack complet TVideoGrabber (EUR 2 595) avec des lacunes
  • SDK inclut les protocoles de streaming (RTMP, SRT, HLS) — TVideoGrabber n'en a aucun à aucun prix
  • SDK inclut l'enregistrement multi-sortie — TVideoGrabber n'en a aucun à aucun prix
  • SDK couvre 5 plateformes — TVideoGrabber couvre Windows uniquement
  • SDK inclut les effets accélérés par GPU — TVideoGrabber n'a qu'un traitement basique

Exemples de code

Exemple 1 : Enregistrement webcam en 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

Exemple 2 : Caméra IP avec contrôle ONVIF PTZ

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

Exemple 3 : Enregistrement multi-sortie + 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.

Exemple 4 : Détection de mouvement avec enregistrement

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.

Matrice de décision

ExigenceVideo Capture SDKTVideoGrabberGagnant
Multiplateforme (Windows, Mac, Linux, mobile)Video Capture SDK
Multi-sortie (enregistrer + diffuser simultanément)Video Capture SDK
Effets audio en temps réelVideo Capture SDK
Effets vidéo accélérés par GPUVideo Capture SDK
Streaming RTMP / HLS / SRTVideo Capture SDK
Sortie caméra virtuelleVideo Capture SDK
Découpage de fichier / timeshiftVideo Capture SDK
Encodage matériel (NVENC, QSV)Video Capture SDK
NDI sans coût supplémentaireVideo Capture SDK
OCR pendant la captureTVideoGrabber

Conclusion

Video Capture SDK .NET

Le Video Capture SDK offre une plateforme de capture moderne et complète couvrant cinq systèmes d'exploitation, sept frameworks UI et incluant toutes les fonctionnalités — streaming, multi-sortie, effets GPU, NDI et encodage matériel — dans une seule licence à partir de EUR 1 000. Pour les équipes qui développent des applications de capture multiplateforme ou tout projet nécessitant du streaming et de l'enregistrement multi-sortie, le SDK offre significativement plus de valeur à un coût total inférieur à TVideoGrabber avec ses modules complémentaires.

TVideoGrabber

TVideoGrabber est un composant de capture mature réservé à Windows avec une solide intégration DirectShow et une capacité OCR unique. C'est un choix raisonnable pour les projets de capture simples Windows uniquement nécessitant la reconnaissance de texte à partir du flux vidéo. Cependant, l'absence de streaming, de support multi-sortie, de compatibilité multiplateforme et le coût élevé des modules (EUR 2 595 au total) limitent son attrait pour le développement d'applications modernes.

The Reality

Pour les projets Windows uniquement avec des besoins OCR et sans besoin de streaming ni de multi-sortie, TVideoGrabber est une option viable. Pour pratiquement tout autre scénario de capture vidéo — multiplateforme, streaming, multi-sortie, effets GPU ou développement soucieux des coûts — le Video Capture SDK est le choix le plus solide à un prix total inférieur.

Frequently Asked Questions

TVideoGrabber prend-il en charge le streaming RTMP vers YouTube ou Twitch ?
Non. TVideoGrabber n'inclut aucun protocole de streaming. C'est un composant de capture vers fichier. Pour diffuser en streaming, vous devriez utiliser un outil ou une bibliothèque séparé en complément de TVideoGrabber. Le Video Capture SDK inclut le streaming RTMP, RTSP, SRT, HLS et NDI intégré dans chaque licence.
TVideoGrabber peut-il enregistrer dans plusieurs fichiers simultanément ?
Non. TVideoGrabber ne prend en charge que l'enregistrement mono-sortie. Vous ne pouvez pas enregistrer simultanément une archive de haute qualité et un aperçu basse résolution, ni enregistrer tout en diffusant en streaming. Le Video Capture SDK prend en charge des sorties simultanées illimitées à différentes résolutions et formats.
Pourquoi TVideoGrabber coûte-t-il plus cher que le SDK pour des fonctionnalités équivalentes ?
La licence de base de TVideoGrabber coûte EUR 695, mais nécessite des modules payants pour NDI (EUR 950) et l'encodage avancé (EUR 950), totalisant EUR 2 595 pour un ensemble de fonctionnalités auquel manquent toujours le streaming et la multi-sortie. Le Video Capture SDK Professional inclut toutes les fonctionnalités pour EUR 1 000 — moins de la moitié du prix avec significativement plus de capacités.
Le Video Capture SDK prend-il en charge le contrôle de caméra ONVIF PTZ comme TVideoGrabber ?
Oui. Les deux produits prennent en charge le contrôle de caméra ONVIF PTZ incluant panoramique, inclinaison, zoom et positions prédéfinies. C'est un domaine où les deux produits sont comparables en termes de fonctionnalités.
Puis-je utiliser TVideoGrabber sur macOS ou Linux ?
Non. TVideoGrabber est un composant réservé à Windows basé sur DirectShow, qui est une technologie spécifique à Windows. Il ne fonctionne pas sur macOS, Linux, Android ni iOS. Le Video Capture SDK prend en charge les cinq plateformes grâce à son moteur multiplateforme.
Le Video Capture SDK prend-il en charge l'OCR comme TVideoGrabber ?
Le Video Capture SDK n'inclut pas de reconnaissance de texte OCR intégrée. C'est un domaine où TVideoGrabber a un avantage unique. Cependant, le SDK fournit des callbacks de frames bruts qui permettent une intégration facile avec des bibliothèques OCR tierces comme Tesseract ou Azure Computer Vision pour une fonctionnalité similaire.
Puis-je passer de TVideoGrabber au Video Capture SDK ?
Oui. Bien que les styles d'API diffèrent (TVideoGrabber utilise une configuration basée sur les propriétés, le SDK utilise des événements asynchrones et des objets managés), la migration est simple. La plupart des équipes complètent la migration en 1 à 2 semaines et obtiennent le streaming, la multi-sortie, le support multiplateforme et les effets GPU en résultat.

Commencer

Related Comparisons