VisioForge

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

AspektVideo Capture SDK .NETMFormats SDK
ArchitekturDual-Engine: natives DirectShow/Media Foundation + eingebettete FFmpeg-PipelinesFrame-basierte Grab-Process-Output-Schleife mit COM-Objekten
PlattformunterstützungWindows, macOS, Linux, Android, iOS (5 Plattformen)Nur Windows
Preise250–500 EUR/Jahr (Abonnement) oder 1.500 EUR Team/Dauerlizenz~4.508 $/Entwickler/Jahr (Abonnement obligatorisch)
Ideal fürPlattformübergreifende Capture-Apps, Multi-Output-Pipelines, Videoeffekte, ErkennungMulti-Vendor-SDI-Broadcast, HTML5-CG-Overlays, Playlist-/Playout-Workflows
SDI-HardwareBlackmagic DeckLink-UnterstützungBlackmagic, AJA, Bluefish444, Deltacast Multi-Vendor-SDI
UI-FrameworksWinForms, WPF, MAUI, Avalonia, Uno, Console, BlazorWinForms, WPF, Console
LizenzmodellDauerlizenz oder Jahresabonnement; funktioniert nach Ablauf weiterNur Jahresabonnement; Wasserzeichen bei Ablauf des Abonnements
SupportDediziertes Ticketsystem, Priority-SLAE-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

AspektVideo Capture SDKMFormats SDK
ProgrammiermodellDeklarative Pipeline: konfigurieren und startenImperative Schleife: pro Frame abrufen, verarbeiten, ausgeben
ThreadingAutomatische interne Thread-VerwaltungEntwickler verwaltet das Threading der Capture-Schleife
Frame-RoutingAutomatisch über Pipeline-KonfigurationManuelles Routing pro Frame im Code
Multi-OutputIntegrierte gleichzeitige Ausgaben aus einer PipelineEntwickler klont Frames und leitet sie an mehrere Writer weiter
PlattformPlattformübergreifend (.NET 6-10, MAUI)Nur Windows (COM-basiert)
ObjektmodellReine .NET Managed APICOM-Interop mit .NET-Wrappern

Feature-für-Feature-Vergleich

Aufnahmequellen

FeatureVideo Capture SDKMFormats 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

FeatureVideo Capture SDKMFormats 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

FeatureVideo Capture SDKMFormats 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

FeatureVideo Capture SDKMFormats SDK
RTMP Push
RTSP-Server
SRT-Streaming
HLS-Ausgabe⚠️
NDI-Ausgabe
UDP / TCP Multicast

Videoverarbeitung & Effekte

FeatureVideo Capture SDKMFormats 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

FeatureVideo Capture SDKMFormats 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

FeatureVideo Capture SDKMFormats SDK
Bewegungserkennung
Gesichtserkennung
Barcode- / QR-Code-Erkennung
Objektverfolgung
Audiopegel-Erkennung

Broadcast & Playout

FeatureVideo Capture SDKMFormats 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

PlattformVideo Capture SDKMFormats 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

FrameworkVideo Capture SDKMFormats SDK
WinForms
WPF
.NET MAUI
Avalonia UI
Uno Platform
Console / Service
Blazor (Server-Side)

Preisvergleich

Video Capture SDK .NET Preise

Entwickler (Jährlich)250–500 EUR/Jahr

1 Entwickler, kommerzielle Nutzung, jährliche Updates und Support

Team-Dauerlizenz1.500 EUR

Bis zu 3 Entwickler, Dauerlizenz, 1 Jahr Updates inklusive

Team-Dauerlizenz1.500 EUR

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

MFormats SDK (1 Entwickler)~4.508 $/Jahr

Jahresabonnement, einzelner Entwickler, nur Windows

5 Entwickler / 3 Jahre~67.620 $

5 Entwicklerplätze, 3-Jahres-Abonnement

LaufzeitlizenzZusätzliche Kosten

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

AnforderungVideo Capture SDKMFormats SDKGewinner
Plattformübergreifende UnterstützungVideo Capture SDK
Multi-Output mit unabhängiger SteuerungVideo Capture SDK
Audioeffekte (40+ integriert)Video Capture SDK
GPU-VideoeffekteVideo Capture SDK
Bewegungs- / Gesichts- / Barcode-ErkennungVideo Capture SDK
Virtuelle Kamera-AusgabeVideo Capture SDK
Budget unter 2.000 EURVideo Capture SDK
DauerlizenzoptionVideo Capture SDK
Industriekameras (GenICam)Video Capture SDK
TV-Tuner / DVB-AufnahmeVideo Capture SDK
Multi-Vendor-SDI (AJA, Bluefish444)MFormats SDK
HTML5-CG-Overlays für BroadcastMFormats 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.

Frequently Asked Questions

Was passiert mit meiner MFormats-Anwendung, wenn ich das Abonnement nicht verlängere?
MFormats verwendet ein obligatorisches Jahresabonnement-Modell. Wenn Ihr Abonnement abläuft, wird automatisch ein Wasserzeichen zu allen Videoausgaben in Ihren bereitgestellten Anwendungen hinzugefügt. Es gibt keine Dauerlizenz-Fallback-Option. Das Video Capture SDK bietet im Gegensatz dazu Dauerlizenzen, die nach dem Kauf unbegrenzt weiterarbeiten, ohne Wasserzeichen-Strafen.
Unterstützt das Video Capture SDK AJA- oder Bluefish444-SDI-Karten?
Derzeit unterstützt das Video Capture SDK Blackmagic DeckLink SDI-Karten, jedoch keine AJA- oder Bluefish444-Hardware. Wenn Ihr Projekt Multi-Vendor-SDI-Unterstützung über AJA, Bluefish und Deltacast neben Blackmagic erfordert, ist MFormats die bessere Wahl für diese spezifische Anforderung.
Kann das Video Capture SDK auf macOS und Linux laufen?
Ja. Das Video Capture SDK unterstützt Windows, macOS (Apple Silicon und Intel), Linux x64, Linux ARM64, Android und iOS. MFormats ist aufgrund seiner COM-basierten Architektur nur für Windows verfügbar.
Wie vergleichen sich die Preismodelle für ein Team von 5 Entwicklern über 3 Jahre?
Für 5 Entwickler über 3 Jahre kostet MFormats ungefähr 67.620 $. Die Video Capture SDK Team-Dauerlizenz kostet 1.500 EUR als einmalige Dauerlizenz für bis zu 8 Entwickler. Das ist eine einmalige Zahlung gegenüber 67.620 $ — etwa 97 % weniger als MFormats.
Hat MFormats integrierte Bewegungs- oder Gesichtserkennung?
Nein. MFormats enthält keine integrierten Erkennungsfunktionen. Sie müssten Drittanbieter-Bibliotheken für Bewegungserkennung, Gesichtserkennung oder Barcode-Scanning integrieren. Das Video Capture SDK enthält all diese als integrierte Funktionen mit ereignisgesteuerten Callbacks.
Welches SDK ist besser für Broadcast-Playout-Anwendungen?
MFormats ist speziell für Broadcast-Playout-Workflows konzipiert. Es umfasst Playlist-Planung, HTML5-CG-Overlays, Genlock-Unterstützung und Multi-Vendor-SDI-Ausgabe. Wenn Ihr primärer Anwendungsfall Broadcast-Playout-Automatisierung ist, ist MFormats die stärkere Wahl.
Kann ich von MFormats zum Video Capture SDK migrieren?
Ja, aber die Programmiermodelle sind unterschiedlich. MFormats verwendet eine Frame-basierte Grab-Process-Output-Schleife, während das Video Capture SDK eine deklarative Pipeline verwendet. Die Migration umfasst typischerweise das Ersetzen der manuellen Frame-Schleife durch Pipeline-Konfiguration und Event-Handler. Die meisten Teams stellen fest, dass der SDK-Code deutlich kürzer und einfacher zu warten ist. Rechnen Sie je nach Projektkomplexität mit 1–3 Wochen für die Migration.

Jetzt starten

Related Comparisons