VisioForge

Last updated: Gennaio 2026

Video Capture SDK .NET vs Datastead TVideoGrabber

Confronto completo dei componenti di cattura video .NET

La scelta del componente di cattura video giusto per la tua applicazione .NET determina le capacità e i costi a lungo termine del tuo progetto. Questa guida fornisce un confronto dettagliato tra VisioForge Video Capture SDK .NET — una moderna piattaforma di cattura a doppio motore che supporta cinque sistemi operativi — e Datastead TVideoGrabber, un componente di cattura maturo basato su DirectShow per Windows. Esaminiamo architettura, funzionalità, supporto multi-output, streaming, prezzi e codice reale per aiutarti a prendere una decisione informata.

Riepilogo esecutivo

AspettoVideo Capture SDK .NETTVideoGrabber
ArchitetturaDoppio motore: DirectShow/Media Foundation nativo + pipeline FFmpeg integratiMotore singolo: componente basato su proprietà DirectShow
Supporto piattaformeWindows, macOS, Linux, Android, iOS (5 piattaforme)Solo Windows
PrezziEUR 489 – EUR 6.999/anno (tutte le funzionalità incluse)EUR 695 base + EUR 950 NDI + EUR 950 add-on encoder = EUR 2.595+ per funzionalità comparabili
Ideale perApp di cattura multipiattaforma con streaming, multi-output ed effetti in tempo realeCattura a uscita singola solo Windows con requisiti OCR
Stile APIAPI .NET async-first con eventi e pattern awaitModello a componenti basato su proprietà con chiamate sincrone

Analisi approfondita dell'architettura

Architettura di Video Capture SDK .NET

Il Video Capture SDK utilizza un design a doppio motore. Il motore primario incapsula DirectShow e Media Foundation su Windows, fornendo accesso nativo a ogni dispositivo di cattura esposto dal sistema operativo. Una pipeline FFmpeg secondaria integrata gestisce operazioni codec avanzate, acquisizione da telecamere IP e registrazione multipiattaforma. Entrambi i motori condividono una superficie API .NET unificata, quindi il passaggio tra di essi non richiede modifiche al codice.

  • Cattura Windows nativa tramite grafi di filtri DirectShow e Media Foundation
  • FFmpeg integrato per flessibilità codec senza dipendenze CLI esterne
  • Anteprima accelerata da GPU tramite renderer Direct3D / OpenGL
  • Architettura event-driven con supporto async/await .NET
  • Modello a processo singolo — nessuna gestione di processi figlio richiesta
  • Supporto multipiattaforma: Windows, macOS, Linux, Android, iOS

Architettura di TVideoGrabber

TVideoGrabber è un componente a motore singolo basato su DirectShow sviluppato da Datastead. Espone le proprietà dei dispositivi di cattura e le impostazioni di registrazione tramite un'API basata su proprietà. La configurazione viene effettuata impostando le proprietà del componente prima di avviare la cattura, seguendo un modello tradizionale di componente Delphi/VCL adattato per .NET.

  • Grafo di filtri DirectShow per l'accesso ai dispositivi e la registrazione su Windows
  • Modello di configurazione basato su proprietà (impostare le proprietà, poi avviare)
  • Supporto integrato per il controllo telecamera ONVIF PTZ
  • Riconoscimento testo OCR durante la cattura (funzionalità unica)
  • Moduli add-on opzionali per NDI e codifica avanzata
  • Solo Windows — nessun supporto per macOS, Linux o dispositivi mobili

Differenze architetturali chiave

AspettoVideo Capture SDKTVideoGrabber
Design del motoreDoppio motore (DirectShow/MF + FFmpeg)Motore singolo (solo DirectShow)
Ambito piattaforme5 sistemi operativi, 7 framework UISolo Windows, WinForms/WPF
Pattern APIAsync/await, eventi, oggetti gestitiBasato su proprietà, chiamate sincrone
Multi-outputRegistrazione + stream + snapshot simultaneiUn'uscita alla volta
StreamingRTMP, RTSP, SRT, HLS, NDI integratiNessun protocollo di streaming incluso
Modello add-onTutte le funzionalità incluse nella licenzaBase + add-on a pagamento (NDI EUR 950, Encoder EUR 950)

Confronto funzionalità per funzionalità

Sorgenti di cattura

FunzionalitàVideo Capture SDKTVideoGrabber
Webcam USB
Telecamere integrate del laptop
Cattura schermo / desktop
Telecamere IP (RTSP/ONVIF)
Controllo ONVIF PTZ
Schede di cattura (Blackmagic, Magewell)⚠️(Solo tramite DirectShow)
Sintonizzatori TV (BDA/DVB)⚠️(Supporto limitato)
Sorgenti NDI⚠️(Richiede add-on da EUR 950)
Telecamere virtuali (OBS Virtual Cam)
Ingresso DECKLINK

Registrazione

FunzionalitàVideo Capture SDKTVideoGrabber
MP4 (H.264 / H.265)
Container MKV
WebM (VP8 / VP9 / AV1)
AVI
WMV / ASF
MOV (ProRes)
MPEG-TS⚠️(Supporto container limitato)
GIF animata
Solo audio (MP3, AAC, WAV)⚠️
Divisione file per tempo/dimensione
Registrazione Pre-Evento (Buffer Circolare)

Multi-output

FunzionalitàVideo Capture SDKTVideoGrabber
Registrazione + stream simultanei
Uscite di registrazione multiple
Registrazione + snapshot simultanei⚠️(Supporto snapshot di base)
Risoluzioni diverse per uscita
Uscita telecamera virtuale
Timeshift / riproduzione ritardata

Protocolli di streaming

FunzionalitàVideo Capture SDKTVideoGrabber
RTMP Push (YouTube, Twitch)
Modalità server RTSP
SRT (Caller / Listener)
Generazione segmenti HLS
Uscita NDI
UDP / TCP Unicast / Multicast

Elaborazione video

FunzionalitàVideo Capture SDKTVideoGrabber
Ridimensionamento / ritaglio in tempo reale
Deinterlacciamento
Regolazione colore (luminosità, contrasto)
Sovrapposizione testo (timestamp, filigrana)
Sovrapposizione immagine / logo
Effetti video accelerati da GPU
Chroma Key (schermo verde)
Picture-in-Picture

Audio

FunzionalitàVideo Capture SDKTVideoGrabber
Cattura dispositivo audio
Cattura audio di sistema (Loopback)
Mixaggio audio (ingressi multipli)
Controllo volume / guadagno in tempo reale⚠️
Effetti audio (eco, riverbero)
VU meter / monitoraggio livello⚠️

Rilevamento e analisi

FunzionalitàVideo Capture SDKTVideoGrabber
Rilevamento movimento
Rilevamento volti
Lettura codici a barre / QR
Riconoscimento testo OCR
Tracciamento oggetti
Rilevamento livello audio⚠️

Supporto piattaforme

Compatibilità sistemi operativi

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

Compatibilità framework UI

FrameworkVideo Capture SDKTVideoGrabber
WinForms
WPF
.NET MAUI
Avalonia UI
Console / Service
ASP.NET Core (servizio in background)
Blazor (elaborazione lato server)

Confronto prezzi

Prezzi di Video Capture SDK .NET

HomeEUR 489

1 sviluppatore, uso non commerciale

ProfessionalEUR 1.000

1 sviluppatore, uso commerciale, tutte le funzionalità incluse

Team SmallEUR 3.499

Fino a 3 sviluppatori, uso commerciale, 1 anno di aggiornamenti

TeamEUR 6.999

Fino a 8 sviluppatori, uso commerciale, 1 anno di aggiornamenti

All licenses include:

  • Distribuzione royalty-free
  • Tutte le funzionalità incluse (streaming, NDI, effetti GPU, multi-output)
  • Tutti gli esempi di codice sorgente
  • Supporto prioritario tramite ticket
  • Tutte e 5 le piattaforme target incluse

Prezzi di TVideoGrabber

Licenza baseEUR 695

Cattura a uscita singola, funzionalità di base, solo Windows

Add-on NDIEUR 950

Aggiunge supporto sorgente/uscita NDI

Add-on encoderEUR 950

Aggiunge supporto codifica hardware avanzata

Pacchetto completo (Base + NDI + Encoder)EUR 2.595

Tutti gli add-on combinati — ancora solo Windows, nessun streaming, uscita singola

Costo totale di proprietà

Confrontando set di funzionalità equivalenti, il quadro dei prezzi cambia significativamente. Una licenza TVideoGrabber con tutti gli add-on costa EUR 2.595 e offre cattura a uscita singola solo per Windows. Il Video Capture SDK Professional a EUR 1.000 include supporto multipiattaforma, streaming, multi-output, effetti GPU e altro — a meno della metà del prezzo.

  • SDK Professional (EUR 1.000) include tutto vs. pacchetto completo TVideoGrabber (EUR 2.595) con lacune
  • SDK include protocolli di streaming (RTMP, SRT, HLS) — TVideoGrabber non ne ha a nessun prezzo
  • SDK include registrazione multi-output — TVideoGrabber non ne ha a nessun prezzo
  • SDK copre 5 piattaforme — TVideoGrabber copre solo Windows
  • SDK include effetti accelerati da GPU — TVideoGrabber ha solo elaborazione di base

Esempi di codice

Esempio 1: Registrazione webcam in 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

Esempio 2: Telecamera IP con controllo 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

Esempio 3: Registrazione multi-output + 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.

Esempio 4: Rilevamento movimento con registrazione

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 decisionale

RequisitoVideo Capture SDKTVideoGrabberVincitore
Multipiattaforma (Windows, Mac, Linux, mobile)Video Capture SDK
Multi-output (registrare + trasmettere simultaneamente)Video Capture SDK
Effetti audio in tempo realeVideo Capture SDK
Effetti video accelerati da GPUVideo Capture SDK
Streaming RTMP / HLS / SRTVideo Capture SDK
Uscita telecamera virtualeVideo Capture SDK
Divisione file / timeshiftVideo Capture SDK
Codifica hardware (NVENC, QSV)Video Capture SDK
NDI senza costi aggiuntiviVideo Capture SDK
OCR durante la catturaTVideoGrabber

Conclusione

Video Capture SDK .NET

Il Video Capture SDK offre una piattaforma di cattura moderna e completa che copre cinque sistemi operativi, sette framework UI e include tutte le funzionalità — streaming, multi-output, effetti GPU, NDI e codifica hardware — in un'unica licenza a partire da EUR 1.000. Per i team che sviluppano applicazioni di cattura multipiattaforma o qualsiasi progetto che richieda streaming e registrazione multi-output, l'SDK offre un valore significativamente maggiore a un costo totale inferiore rispetto a TVideoGrabber con add-on.

TVideoGrabber

TVideoGrabber è un componente di cattura maturo solo per Windows con una solida integrazione DirectShow e una capacità OCR unica. È una scelta ragionevole per progetti di cattura semplici solo Windows che richiedono il riconoscimento del testo dal flusso video. Tuttavia, la mancanza di streaming, supporto multi-output, compatibilità multipiattaforma e l'alto costo degli add-on (EUR 2.595 in totale) ne limitano l'attrattiva per lo sviluppo di applicazioni moderne.

The Reality

Per progetti solo Windows con requisiti OCR e senza necessità di streaming o multi-output, TVideoGrabber è un'opzione valida. Per praticamente qualsiasi altro scenario di cattura video — multipiattaforma, streaming, multi-output, effetti GPU o sviluppo attento ai costi — il Video Capture SDK è la scelta più forte a un prezzo totale inferiore.

Frequently Asked Questions

TVideoGrabber supporta lo streaming RTMP verso YouTube o Twitch?
No. TVideoGrabber non include alcun protocollo di streaming. È un componente di cattura su file. Per trasmettere in streaming, dovresti utilizzare uno strumento o una libreria separata insieme a TVideoGrabber. Il Video Capture SDK include streaming RTMP, RTSP, SRT, HLS e NDI integrato in ogni licenza.
TVideoGrabber può registrare su più file contemporaneamente?
No. TVideoGrabber supporta solo la registrazione a uscita singola. Non è possibile registrare contemporaneamente un archivio di alta qualità e un'anteprima a bassa risoluzione, né registrare durante lo streaming. Il Video Capture SDK supporta uscite simultanee illimitate a diverse risoluzioni e formati.
Perché TVideoGrabber costa di più dell'SDK per funzionalità equivalenti?
La licenza base di TVideoGrabber costa EUR 695, ma richiede add-on a pagamento per NDI (EUR 950) e codifica avanzata (EUR 950), per un totale di EUR 2.595 per un set di funzionalità che manca ancora di streaming e multi-output. Il Video Capture SDK Professional include tutte le funzionalità per EUR 1.000 — meno della metà del prezzo con significativamente più capacità.
Il Video Capture SDK supporta il controllo telecamera ONVIF PTZ come TVideoGrabber?
Sì. Entrambi i prodotti supportano il controllo telecamera ONVIF PTZ inclusi panoramica, inclinazione, zoom e posizioni preimpostate. Questa è un'area in cui i due prodotti sono comparabili in termini di funzionalità.
Posso usare TVideoGrabber su macOS o Linux?
No. TVideoGrabber è un componente solo per Windows basato su DirectShow, che è una tecnologia specifica di Windows. Non funziona su macOS, Linux, Android o iOS. Il Video Capture SDK supporta tutte e cinque le piattaforme attraverso il suo motore multipiattaforma.
Il Video Capture SDK supporta l'OCR come TVideoGrabber?
Il Video Capture SDK non include il riconoscimento testo OCR integrato. Questa è un'area in cui TVideoGrabber ha un vantaggio unico. Tuttavia, l'SDK fornisce callback sui frame grezzi che consentono una facile integrazione con librerie OCR di terze parti come Tesseract o Azure Computer Vision per funzionalità simili.
Posso passare da TVideoGrabber al Video Capture SDK?
Sì. Sebbene gli stili API differiscano (TVideoGrabber utilizza configurazione basata su proprietà, l'SDK utilizza eventi asincroni e oggetti gestiti), la migrazione è semplice. La maggior parte dei team completa la migrazione in 1-2 settimane e ottiene streaming, multi-output, supporto multipiattaforma ed effetti GPU come risultato.

Inizia ora

Related Comparisons