Last updated: Januar 2026
Video Capture SDK .NET vs Medialooks MFormats SDK
Pipeline-Engine vs Frame-basierter Capture-Vergleich
Die Wahl zwischen VisioForge Video Capture SDK .NET und Medialooks MFormats SDK ist eine Entscheidung zwischen zwei grundlegend unterschiedlichen Architekturmodellen. Das Video Capture SDK verwendet eine Pipeline-basierte Engine, bei der Sie Quellen, Verarbeitung und Ausgaben deklarativ konfigurieren, während MFormats einem Frame-basierten Grab-Process-Output-Modell folgt, bei dem Sie jeden Frame manuell abrufen und weiterleiten. Dieser Leitfaden vergleicht Architektur, Funktionen, Plattformunterstützung, Preise und realen Code, damit Sie die richtige Wahl für Ihr Projekt treffen können.
Zusammenfassung
| Aspekt | Video Capture SDK .NET | MFormats SDK |
|---|---|---|
| Architektur | Dual-Engine: natives DirectShow/Media Foundation + eingebettete FFmpeg-Pipelines | Frame-basierte Grab-Process-Output-Schleife mit COM-Objekten |
| Plattformunterstützung | Windows, macOS, Linux, Android, iOS (5 Plattformen) | Nur Windows |
| Preise | 250–500 EUR/Jahr (Abonnement) oder 1.500 EUR Team/Dauerlizenz | ~4.508 $/Entwickler/Jahr (Abonnement obligatorisch) |
| Ideal für | Plattformübergreifende Capture-Apps, Multi-Output-Pipelines, Videoeffekte, Erkennung | Multi-Vendor-SDI-Broadcast, HTML5-CG-Overlays, Playlist-/Playout-Workflows |
| SDI-Hardware | Blackmagic DeckLink-Unterstützung | Blackmagic, AJA, Bluefish444, Deltacast Multi-Vendor-SDI |
| UI-Frameworks | WinForms, WPF, MAUI, Avalonia, Uno, Console, Blazor | WinForms, WPF, Console |
| Lizenzmodell | Dauerlizenz oder Jahresabonnement; funktioniert nach Ablauf weiter | Nur Jahresabonnement; Wasserzeichen bei Ablauf des Abonnements |
| Support | Dediziertes Ticketsystem, Priority-SLA | E-Mail-Support, Forum |
Architektur im Detail
Video Capture SDK .NET Architektur
Das Video Capture SDK verwendet ein Pipeline-basiertes Design. Sie konfigurieren Quelle, Verarbeitungsstufen und Ausgaben deklarativ. Die Engine baut den internen Filtergraphen automatisch auf und verwaltet Threading, Synchronisation und Pufferverwaltung. Eine Dual-Engine umschließt DirectShow/Media Foundation für nativen Gerätezugriff und eine eingebettete FFmpeg-Pipeline für erweiterte Codecs und IP-Kamera-Einbindung.
- ▶Deklarative Pipeline-Konfiguration: Eigenschaften setzen, StartAsync() aufrufen
- ▶Dual-Engine: native OS-Capture-APIs + eingebettetes FFmpeg
- ▶GPU-beschleunigte Vorschau über Direct3D / OpenGL-Renderer
- ▶Ereignisgesteuerte Architektur mit .NET async/await-Unterstützung
- ▶Einzelprozessmodell mit automatischer Thread-Verwaltung
- ▶Multi-Output aus einer Pipeline: Aufnahme + Streaming + Snapshot gleichzeitig
MFormats SDK Architektur
MFormats verwendet ein Frame-basiertes Grab-Process-Output-Modell auf Basis von COM-Objekten. Sie erstellen einen MFReader zum Abrufen von Frames, verarbeiten jeden Frame durch MFTransform-Objekte und senden sie an MFWriter- oder MFRenderer-Ausgaben. Dies ermöglicht eine feinkörnige Kontrolle pro Frame, erfordert jedoch, dass Sie die Capture-Schleife schreiben, das Threading verwalten und das Frame-Timing manuell handhaben.
- ▶Frame-basierte Schleife: Frame von MFReader abrufen, verarbeiten, an MFWriter senden
- ▶COM-basierte Architektur mit .NET-Interop-Wrappern
- ▶Manuelles Threading und Frame-Timing-Management erforderlich
- ▶Kontrolle pro Frame ermöglicht benutzerdefinierte Routing-Logik
- ▶Separate Objekte für jede Pipeline-Stufe (Reader, Transform, Writer, Renderer)
- ▶Integrierte Playout- und Playlist-Planung für Broadcast-Workflows
Wichtige architektonische Unterschiede
| Aspekt | Video Capture SDK | MFormats SDK |
|---|---|---|
| Programmiermodell | Deklarative Pipeline: konfigurieren und starten | Imperative Schleife: pro Frame abrufen, verarbeiten, ausgeben |
| Threading | Automatische interne Thread-Verwaltung | Entwickler verwaltet das Threading der Capture-Schleife |
| Frame-Routing | Automatisch über Pipeline-Konfiguration | Manuelles Routing pro Frame im Code |
| Multi-Output | Integrierte gleichzeitige Ausgaben aus einer Pipeline | Entwickler klont Frames und leitet sie an mehrere Writer weiter |
| Plattform | Plattformübergreifend (.NET 6-10, MAUI) | Nur Windows (COM-basiert) |
| Objektmodell | Reine .NET Managed API | COM-Interop mit .NET-Wrappern |
Feature-für-Feature-Vergleich
Aufnahmequellen
| Feature | Video Capture SDK | MFormats SDK |
|---|---|---|
| USB-Webcams | ✅ | ✅ |
| Bildschirm- / Desktop-Aufnahme | ✅ | ✅ |
| IP-Kameras (RTSP/ONVIF) | ✅ | ✅ |
| Blackmagic DeckLink SDI | ✅ | ✅ |
| AJA SDI-Karten | ❌ | ✅ |
| Bluefish444 SDI-Karten | ❌ | ✅ |
| Deltacast SDI-Karten | ❌ | ✅ |
| TV-Tuner (BDA/DVB) | ✅ | ❌ |
| NDI-Quellen | ✅ | ✅ |
| Industriekameras (GenICam/GigE Vision) | ✅ | ❌ |
| Virtuelle Kameras (OBS Virtual Cam) | ✅ | ⚠️(Über DirectShow) |
Aufnahme & Ausgabe
| Feature | Video Capture SDK | MFormats SDK |
|---|---|---|
| MP4 (H.264 / H.265) | ✅ | ✅ |
| MXF-Container | ⚠️ | ✅(MFormats stark bei Broadcast-MXF) |
| MKV-Container | ✅ | ❌ |
| WebM (VP8 / VP9 / AV1) | ✅ | ❌ |
| AVI | ✅ | ✅ |
| MOV (ProRes) | ✅ | ✅ |
| WMV / ASF | ✅ | ✅ |
| MPEG-TS | ✅ | ✅ |
| Animiertes GIF | ✅ | ❌ |
| Nur Audio (MP3, AAC, WAV, FLAC) | ✅ | ⚠️ |
| Pre-Event-Aufnahme (Ringpuffer) | ✅ | ❌ |
Multi-Output
| Feature | Video Capture SDK | MFormats SDK |
|---|---|---|
| Gleichzeitige Aufnahme + Streaming | ✅ | ✅ |
| Mehrere unabhängige Aufnahmeausgaben | ✅ | ⚠️(Erfordert manuelles Frame-Klonen) |
| Unabhängige Ausgabesteuerung (Start/Stopp/Pause einzeln) | ✅ | ⚠️(Manuelle Steuerung pro Writer) |
| Verschiedene Codecs pro Ausgabe | ✅ | ✅ |
| Snapshot während der Aufnahme | ✅ | ✅ |
Streaming
| Feature | Video Capture SDK | MFormats SDK |
|---|---|---|
| RTMP Push | ✅ | ✅ |
| RTSP-Server | ✅ | ❌ |
| SRT-Streaming | ✅ | ✅ |
| HLS-Ausgabe | ✅ | ⚠️ |
| NDI-Ausgabe | ✅ | ✅ |
| UDP / TCP Multicast | ✅ | ✅ |
Videoverarbeitung & Effekte
| Feature | Video Capture SDK | MFormats SDK |
|---|---|---|
| Echtzeit-Größenanpassung / Zuschnitt | ✅ | ✅ |
| Deinterlacing | ✅ | ✅ |
| Farbanpassung | ✅ | ✅ |
| Text- / Bild-Overlays | ✅ | ✅ |
| HTML5-CG-Overlays | ❌ | ✅ |
| Chroma Key (Greenscreen) | ✅ | ✅ |
| GPU-beschleunigte Videoeffekte (40+) | ✅ | ⚠️(Begrenzte integrierte Effekte) |
| Bild-in-Bild | ✅ | ✅ |
| Übergänge und Wischblenden | ✅ | ✅ |
Audio
| Feature | Video Capture SDK | MFormats SDK |
|---|---|---|
| Audiogeräte-Aufnahme | ✅ | ✅ |
| Audio-Mixing (mehrere Eingänge) | ✅ | ✅ |
| Audioeffekte (40+ integriert: EQ, Kompressor, Hall usw.) | ✅ | ❌ |
| VU-Meter / Pegelüberwachung | ✅ | ✅ |
| System-Audio-Loopback-Aufnahme | ✅ | ⚠️ |
| Eingebettetes Audio-Routing (SDI) | ✅ | ✅ |
Erkennung & Analyse
| Feature | Video Capture SDK | MFormats SDK |
|---|---|---|
| Bewegungserkennung | ✅ | ❌ |
| Gesichtserkennung | ✅ | ❌ |
| Barcode- / QR-Code-Erkennung | ✅ | ❌ |
| Objektverfolgung | ✅ | ❌ |
| Audiopegel-Erkennung | ✅ | ✅ |
Broadcast & Playout
| Feature | Video Capture SDK | MFormats SDK |
|---|---|---|
| Playlist- / Playout-Planung | ❌ | ✅ |
| Multi-Vendor-SDI-Ausgabe | ⚠️ | ✅(MFormats unterstützt AJA-, Bluefish-, Deltacast-Ausgabe) |
| HTML5-CG (Character Generator) Overlays | ❌ | ✅ |
| Virtuelle Kamera-Ausgabe | ✅ | ❌ |
| Genlock / Referenzsynchronisation | ❌ | ✅ |
Plattformunterstützung
Betriebssystemkompatibilität
| Plattform | Video Capture SDK | MFormats SDK |
|---|---|---|
| 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 | MFormats SDK |
|---|---|---|
| WinForms | ✅ | ✅ |
| WPF | ✅ | ✅ |
| .NET MAUI | ✅ | ❌ |
| Avalonia UI | ✅ | ❌ |
| Uno Platform | ✅ | ❌ |
| Console / Service | ✅ | ✅ |
| Blazor (Server-Side) | ✅ | ❌ |
Preisvergleich
Video Capture SDK .NET Preise
1 Entwickler, kommerzielle Nutzung, jährliche Updates und Support
Bis zu 3 Entwickler, Dauerlizenz, 1 Jahr Updates inklusive
Bis zu 8 Entwickler, Dauerlizenz, 1 Jahr Updates inklusive
All licenses include:
- ✓ Lizenzgebührenfreie Verteilung
- ✓ Alle Quellcode-Beispiele
- ✓ Prioritäts-Ticket-Support
- ✓ Alle Plattformziele inklusive
- ✓ Dauerlizenzoption: nach Ablauf des Abonnements weiterhin nutzbar (kein Wasserzeichen)
MFormats SDK Preise
Jahresabonnement, einzelner Entwickler, nur Windows
5 Entwicklerplätze, 3-Jahres-Abonnement
Je nach Konfiguration können Laufzeitgebühren pro Bereitstellung anfallen
Warnung bei Ablauf des Abonnements
MFormats SDK verwendet ein obligatorisches Jahresabonnement-Modell. Wenn Ihr Abonnement abläuft oder nicht verlängert wird:
- ⚠Ein Wasserzeichen wird automatisch zu allen Videoausgaben hinzugefügt
- ⚠Sie können das SDK nicht ohne aktives Abonnement in der Produktion verwenden
- ⚠Es gibt keine Dauerlizenz-Fallback-Option
- ⚠Ihre bereitgestellten Anwendungen zeigen Wasserzeichen an, wenn der Lizenzserver nicht validieren kann
Das Video Capture SDK bietet Dauerlizenzen, die nach dem Kauf unbegrenzt weiterarbeiten, ohne Wasserzeichen-Strafen bei abgelaufenen Verlängerungen.
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();MFormats SDK
C#// MFormats: Frame-based capture loop
MFDeviceClass devClass = new MFDeviceClass();
MFReaderClass reader = new MFReaderClass();
MFWriterClass writer = new MFWriterClass();
MFRendererClass renderer = new MFRendererClass();
// Configure video device
reader.DeviceSet(eMFDeviceType.eMFDT_Video, 0, "");
reader.DeviceSet(eMFDeviceType.eMFDT_Audio, 0, "");
// Configure writer output
writer.WriterSet("recording.mp4", 0, "");
// You must run the capture loop yourself
while (capturing)
{
MFFrame frame;
reader.SourceFrameGet(-1, out frame, "");
if (frame != null)
{
// Preview
renderer.RenderSet("preview", frame, "");
// Write to file
writer.WriterPut(frame, "");
// Release frame manually
Marshal.ReleaseComObject(frame);
}
Thread.Sleep(1); // Manual timing
}Beispiel 2: IP-Kamera mit Overlay + Streaming
Video Capture SDK .NET
C#using VisioForge.Core.VideoCapture;
using VisioForge.Core.Types.Output;
var capture = new VideoCaptureCore();
// IP camera source
capture.IP_Camera_Source = new IPCameraSourceSettings
{
URL = "rtsp://192.168.1.100:554/stream",
Type = IPCameraType.RTSP
};
// Add text overlay
capture.Video_Overlays.Add(new VideoOverlayText
{
Text = "{timestamp} - Camera 1",
Position = new System.Drawing.Point(10, 10),
Font = new System.Drawing.Font("Arial", 14),
Color = System.Drawing.Color.White
});
// Stream to RTMP
capture.Network_Streaming_Enabled = true;
capture.Network_Streaming_Format = new RTMPOutput
{
URL = "rtmp://streaming-server/live",
StreamKey = "stream_key",
Video = new H264EncoderSettings { Bitrate = 4500 },
Audio = new AACEncoderSettings { Bitrate = 128 }
};
// Also record locally
capture.Output_Filename = "backup.mp4";
capture.Output_Format = new MP4Output();
await capture.StartAsync();MFormats SDK
C#// MFormats: Manual frame loop with overlay + streaming
MFReaderClass reader = new MFReaderClass();
MFWriterClass localWriter = new MFWriterClass();
MFWriterClass rtmpWriter = new MFWriterClass();
MFRendererClass renderer = new MFRendererClass();
// Configure RTSP source
reader.ReaderOpen("rtsp://192.168.1.100:554/stream", "");
// Configure outputs
localWriter.WriterSet("backup.mp4", 0, "");
rtmpWriter.WriterSet("rtmp://streaming-server/live/stream_key", 0, "");
while (capturing)
{
MFFrame frame;
reader.SourceFrameGet(-1, out frame, "");
if (frame != null)
{
// Add overlay manually via MFTransform
MFOverlayClass overlay = new MFOverlayClass();
overlay.OverlayTextSet(frame,
DateTime.Now.ToString() + " - Camera 1",
10, 10, 14, "Arial", 0xFFFFFF, 0, "");
// Clone frame for second output
MFFrame clone;
frame.MFClone(out clone, eMFrameClone.eMFC_Full, eMFCC.eMFCC_Default);
// Write to local file
localWriter.WriterPut(frame, "");
// Write to RTMP stream
rtmpWriter.WriterPut(clone, "");
Marshal.ReleaseComObject(clone);
Marshal.ReleaseComObject(frame);
}
}Wann welche Lösung wählen
Wählen Sie Video Capture SDK, wenn Sie brauchen
- ✓Plattformübergreifende Capture-Anwendungen (Windows, macOS, Linux, Mobil)
- ✓Pipeline-basierte Architektur mit automatischem Threading und Pufferverwaltung
- ✓40+ integrierte GPU-beschleunigte Video- und Audioeffekte
- ✓Bewegungserkennung, Gesichtserkennung, Barcode-Scanning während der Aufnahme
- ✓Virtuelle Kamera-Ausgabe für OBS-, Zoom-, Teams-Integration
- ✓Budgetfreundliche Lizenzierung mit Dauerlizenzoption
- ✓Mehrere unabhängige Ausgaben mit individueller Start-/Stopp-Steuerung
- ✓Industriekamera-Unterstützung (GenICam, GigE Vision)
- ✓TV-Tuner- und DVB-Aufnahmeunterstützung
Wählen Sie MFormats SDK, wenn Sie brauchen
- ✓Multi-Vendor-SDI-Unterstützung: AJA, Bluefish444, Deltacast neben Blackmagic
- ✓Broadcast-Playout mit Playlist-Planung und Automatisierung
- ✓HTML5-basierte CG (Character Generator) Overlays für Live-Broadcast
- ✓Genlock und Referenzsynchronisation für Broadcast-Studioumgebungen
- ✓Manuelle Kontrolle pro Frame über jeden Verarbeitungsschritt
- ✓MXF-Containerformat mit vollständiger Broadcast-Metadaten-Unterstützung
- ✓Integration mit bestehender Broadcast-Infrastruktur und SDI-Routern
Entscheidungsmatrix
| Anforderung | Video Capture SDK | MFormats SDK | Gewinner |
|---|---|---|---|
| Plattformübergreifende Unterstützung | Video Capture SDK | ||
| Multi-Output mit unabhängiger Steuerung | Video Capture SDK | ||
| Audioeffekte (40+ integriert) | Video Capture SDK | ||
| GPU-Videoeffekte | Video Capture SDK | ||
| Bewegungs- / Gesichts- / Barcode-Erkennung | Video Capture SDK | ||
| Virtuelle Kamera-Ausgabe | Video Capture SDK | ||
| Budget unter 2.000 EUR | Video Capture SDK | ||
| Dauerlizenzoption | Video Capture SDK | ||
| Industriekameras (GenICam) | Video Capture SDK | ||
| TV-Tuner / DVB-Aufnahme | Video Capture SDK | ||
| Multi-Vendor-SDI (AJA, Bluefish444) | MFormats SDK | ||
| HTML5-CG-Overlays für Broadcast | MFormats SDK |
Fazit
Video Capture SDK .NET
Das Video Capture SDK überzeugt als plattformübergreifende, Pipeline-basierte Capture-Engine für .NET-Entwickler, die umfangreiche Videoverarbeitung, Erkennungsfunktionen, mehrere unabhängige Ausgaben und breite Geräteunterstützung benötigen. Seine deklarative API, 40+ GPU-Effekte und Dauerlizenzierung machen es zur kosteneffektiven Wahl für die meisten Capture-Anwendungen vom Desktop bis Mobil.
MFormats SDK
MFormats SDK ist eine starke Wahl für Broadcast-zentrierte Workflows, die Multi-Vendor-SDI-Hardware-Unterstützung (AJA, Bluefish444, Deltacast), HTML5-CG-Overlays und Playlist-basierte Playout-Automatisierung erfordern. Seine Frame-basierte Architektur bietet granulare Kontrolle pro Frame, die für professionelle Broadcast-Umgebungen geeignet ist. Es ist jedoch nur für Windows verfügbar, deutlich teurer und fügt Wasserzeichen hinzu, wenn das Abonnement abläuft.
The Reality
Für die Mehrheit der .NET-Videoaufnahme-Projekte — insbesondere solche, die plattformübergreifende Unterstützung, Erkennungsfunktionen oder budgetbewusste Lizenzierung erfordern — ist das Video Capture SDK die klare Wahl. MFormats hat seinen Platz speziell in Multi-Vendor-SDI-Broadcast-Studios, in denen AJA/Bluefish-Hardware-Integration und CG-Overlay-Workflows unerlässlich sind.
