Last updated: Enero 2026
Media Player SDK .NET vs Medialooks MFormats SDK
Framework de reproducción dedicado vs SDK basado en frames para broadcast
Elegir entre VisioForge Media Player SDK .NET y Medialooks MFormats SDK es una decisión entre un framework de reproducción multimedia dedicado y un motor basado en frames orientado al broadcast. Media Player SDK ofrece reproducción con doble motor, navegación DVD/Blu-ray, más de 40 efectos de audio, medición VU y salida de cámara virtual. MFormats obtiene frames de fuentes y los envía a hardware SDI según un horario. Esta guía compara arquitectura, características, soporte de plataformas, precios y código real para que pueda elegir el SDK adecuado para su proyecto de reproductor de vídeo .NET o playout de broadcast.
Resumen ejecutivo
| Aspecto | Media Player SDK .NET | MFormats SDK |
|---|---|---|
| Propósito principal | Reproducción multimedia profesional | Playout de broadcast |
| Arquitectura | Doble motor (DirectShow + GStreamer) | Basado en frames (capturar → renderizar) |
| Soporte de plataformas | Windows, macOS, Linux, iOS, Android (5 plataformas) | Solo Windows |
| Precios | €250–€500/año o €750–€1.500 de por vida | ~$4.508/desarrollador/año |
| Ideal para | Apps de reproductores, kioscos, visores de vigilancia | Automatización de playout de broadcast |
Análisis profundo de la arquitectura
Arquitectura de Media Player SDK .NET
Media Player SDK utiliza un diseño de pipeline con doble motor. El motor DirectShow proporciona navegación DVD/Blu-ray, efectos de audio y soporte de formatos heredados en Windows. El motor multiplataforma basado en GStreamer (MediaPlayerCoreX) ofrece reproducción en Windows, macOS, Linux, Android e iOS con renderizado acelerado por GPU, detección de movimiento y salida de cámara virtual.
- ▶Doble motor: DirectShow para DVD/heredado + GStreamer para multiplataforma
- ▶Más de 40 efectos de audio en tiempo real con medición VU y espectro FFT
- ▶Navegación de menús DVD/Blu-ray con selección de capítulos y ángulos
- ▶Salida de cámara virtual para integración con Zoom, Teams y OBS
- ▶API async/await basada en eventos con gestión automática de hilos
- ▶PiP, superposiciones OSD y visualización multipantalla
Arquitectura de MFormats SDK
MFormats utiliza un modelo basado en frames de captura-proceso-salida construido sobre objetos COM. Se crea un MFReader para capturar frames, aplicar transformaciones y enviarlos a MFRenderer para vista previa o MFWriter para grabación. Este modelo está optimizado para playout de broadcast donde los frames fluyen al hardware SDI según un horario fijo.
- ▶Bucle basado en frames: capturar frame de MFReader, procesar, enviar a salida
- ▶Arquitectura basada en COM con wrappers de interoperabilidad .NET
- ▶Gestión manual de hilos y temporización de frames requerida
- ▶Salida SDI multivendor a hardware AJA, BlueFish y DELTACAST
- ▶Generador de caracteres HTML5 para gráficos en antena
- ▶Playout integrado y programación de listas de reproducción para flujos de trabajo de broadcast
Diferencias arquitectónicas clave
| Aspecto | Media Player SDK | MFormats SDK |
|---|---|---|
| Modelo de programación | Alto nivel: configurar propiedades, llamar a PlayAsync() | Bajo nivel: capturar, procesar, renderizar por frame |
| Hilos | Gestión automática interna de hilos | El desarrollador gestiona el hilo del bucle de captura |
| Pipeline de audio | Más de 40 efectos, medidor VU, FFT, mapeo de canales | Solo normalización básica |
| Reproducción de discos | DVD/Blu-ray completo con navegación de menús | Sin soporte de discos |
| Plataforma | Multiplataforma (.NET 6-10, 5 sistemas operativos) | Solo Windows (basado en COM) |
| Modelo de objetos | API .NET gestionada pura | Interoperabilidad COM con wrappers .NET |
Comparación característica por característica
Reproducción
| Característica | Media Player SDK | MFormats SDK |
|---|---|---|
| Reproducción de archivos (MP4, MKV, AVI...) | ✅ | ✅(Vía MFReaderClass) |
| Streams de red (RTSP, RTMP, HLS) | ✅ | ✅ |
| Reproducción de DVD con navegación de menús | ✅ | ❌ |
| Reproducción de Blu-ray | ✅ | ❌ |
| Reproducción a velocidad variable | ✅ | ⚠️(Control de tasa de frames) |
| Avance por frames | ✅ | ✅ |
| Renderizado de subtítulos | ✅ | ❌ |
| Múltiples pistas de audio | ✅ | ✅ |
| Bucle / repetición A-B | ✅ | ⚠️(Vía lista de reproducción) |
| Gestión de listas de reproducción | ✅ | ✅(Lista de reproducción de broadcast) |
Procesamiento de audio
| Característica | Media Player SDK | MFormats SDK |
|---|---|---|
| Efectos de audio (40+) | ✅ | ❌(Solo normalización) |
| Medidor VU + espectro FFT | ✅ | ❌ |
| Mejorador de audio (normalización, ganancia, puerta de ruido) | ✅ | ⚠️(Normalización básica) |
| Mapeador de canales | ✅ | ❌ |
Procesamiento de vídeo
| Característica | Media Player SDK | MFormats SDK |
|---|---|---|
| Efectos de vídeo en tiempo real | ✅ | ⚠️(Básico (escalar, convertir)) |
| PiP (Imagen en imagen) | ✅ | ⚠️(Vía mezclador GPU) |
| Superposiciones OSD | ✅ | ✅ |
| Superposición HTML5 CG | ❌ | ✅ |
| Chroma key | ✅ | ❌ |
Salida
| Característica | Media Player SDK | MFormats SDK |
|---|---|---|
| Salida de cámara virtual | ✅ | ❌ |
| Salida NDI | ✅ | ✅ |
| Visualización multipantalla | ✅ | ⚠️(Vía múltiples renderizadores) |
| Captura de pantalla | ✅ | ✅ |
Detección
| Característica | Media Player SDK | MFormats SDK |
|---|---|---|
| Detección de movimiento | ✅ | ❌ |
| Detección de rostros | ✅ | ❌ |
| Escaneo de códigos de barras/QR | ✅ | ❌ |
Funciones de broadcast
| Característica | Media Player SDK | MFormats SDK |
|---|---|---|
| Salida SDI (AJA, BlueFish, DELTACAST) | ❌ | ✅ |
| Generador de caracteres HTML5 | ❌ | ✅ |
| Automatización de lista de reproducción de broadcast | ❌ | ✅ |
Soporte de plataformas
Sistemas operativos
| Plataforma | Media Player SDK | MFormats SDK |
|---|---|---|
| Windows | ✅ | ✅ |
| macOS | ✅ | ❌ |
| Linux | ✅ | ❌ |
| Android | ✅ | ❌ |
| iOS | ✅ | ❌ |
Frameworks de UI
| Framework | Media Player SDK | MFormats SDK |
|---|---|---|
| WinForms | ✅ | ✅ |
| WPF | ✅ | ✅ |
| WinUI 3 | ✅ | ❌ |
| .NET MAUI | ✅ | ❌ |
| Avalonia | ✅ | ❌ |
| Uno Platform | ✅ | ❌ |
Comparación de precios
Media Player SDK .NET
1 desarrollador — reproducción de archivos/streams, subtítulos, efectos en tiempo real
1 desarrollador — + RTSP/RTMP/HLS/NDI, detección de movimiento, decodificación GPU
1 desarrollador — + vídeo VR/360°, suite completa de efectos
Desarrolladores ilimitados, perpetua, equipo completo
Desarrolladores ilimitados, perpetua, equipo completo
Desarrolladores ilimitados, perpetua, equipo completo
All licenses include:
- ✓ Distribución libre de regalías
- ✓ Acceso completo al código fuente (niveles de por vida)
- ✓ Todas las actualizaciones futuras durante el período de licencia
- ✓ Soporte técnico prioritario
- ✓ Funciona después de la expiración (licencias de por vida)
MFormats SDK
Suscripción anual, renovación obligatoria
Suscripción anual
Suscripción anual por puesto
Advertencia de caducidad de suscripción de MFormats
MFormats utiliza un modelo de suscripción anual obligatoria. Si su suscripción caduca:
- ⚠Se añade marca de agua a todas las salidas — su aplicación de producción se ve afectada
- ⚠No hay opción perpetua/de por vida disponible — debe seguir pagando
- ⚠Los precios por puesto se multiplican con el crecimiento del equipo — 5 desarrolladores = 5x el costo
- ⚠Sin período de gracia — la marca de agua aparece inmediatamente al caducar
Las licencias de por vida de Media Player SDK siguen funcionando indefinidamente después de la compra — sin marcas de agua, sin expiración.
Comparación de código
Reproducción de stream RTSP con detección de movimiento
Media Player SDK
C#var player = new MediaPlayerCoreX(videoView);
// Open an RTSP network stream
var source = await UniversalSourceSettingsV2.CreateAsync(
new Uri("rtsp://camera.local:554/live"));
await player.OpenAsync(source);
// Enable motion detection on the live stream
player.Motion_Detection_Enabled = true;
player.OnMotionDetected += (s, e) =>
LogAlert($"Motion in zone {e.ZoneIndex}, level: {e.Level:P0}");
await player.PlayAsync();MFormats SDK
C#var reader = new MFReaderClass();
reader.ReaderOpen("rtsp://camera.local:554/live", "");
var renderer = new MFRendererClass();
renderer.RendererSet("", 0, panelHandle);
MFFrame frame;
while (playing)
{
reader.SourceFrameGet(-1, out frame, "");
renderer.RenderPut(frame, -1, "");
Marshal.ReleaseComObject(frame);
}
// No motion detection — requires external CV libraryEfectos de audio durante la reproducción
Media Player SDK
C#var player = new MediaPlayerCoreX(videoView);
var source = await UniversalSourceSettingsV2.CreateAsync(new Uri("podcast.mp4"));
await player.OpenAsync(source);
// 10-band graphic equalizer — boost voice clarity
var eq = new Equalizer10AudioEffect(new double[]
{ 0, 0, 0, 0, 4.5, 0, 3.0, 0, 0, 0 });
player.Audio_Effects_AddOrUpdate(eq);
// Reverb for spatial depth
var reverb = new ReverberationAudioEffect();
reverb.RoomSize = 0.25f;
reverb.Level = 0.1f;
player.Audio_Effects_AddOrUpdate(reverb);
// Enable VU meter for real-time level monitoring
player.Audio_VU_Meter_Enabled = true;
player.OnAudioVUMeter += (s, e) =>
UpdateMeter(e.MeterData);
await player.PlayAsync();MFormats SDK
C#// No audio effects pipeline — normalization only
// No VU meter or FFT spectrum analysis
// No equalizer, reverb, or any real-time audio processingNavegación DVD (solo Media Player SDK)
Media Player SDK
C#var player = new MediaPlayerCore(videoView);
// Configure for DVD playback
player.Source_Mode = MediaPlayerSourceMode.DVD_DS;
await player.PlayAsync();
// Navigate chapters and menus during playback
await player.DVD_Chapter_NextAsync();
await player.DVD_Menu_ShowAsync(DVDMenu.Title);
await player.DVD_Menu_ResumePlaybackAsync();
// Select audio language and subtitles
await player.DVD_Select_AudioStreamAsync(1); // e.g., French
await player.DVD_Select_SubpictureStreamAsync(0); // e.g., English subtitles
// Control playback speed and direction
await player.DVD_SetSpeedAsync(2.0, false); // 2x forwardMFormats SDK
C#// No DVD playback capability
// No menu navigation, chapter control, or disc support
// MFormats is designed for file/stream playout, not disc mediaCasos de uso ideales
Elija Media Player SDK
- ✓Aplicaciones de reproductor multimedia interactivo con controles de usuario
- ✓Reproducción de DVD y Blu-ray con navegación de menús
- ✓Apps de procesamiento de audio con EQ, reverb y medición VU
- ✓Visores de vigilancia con detección de movimiento y rostros
- ✓Reproducción multiplataforma en Windows, macOS, Linux, Android, iOS
- ✓Salida de cámara virtual para Zoom, Teams y OBS
- ✓Kioscos y señalización digital con soporte de subtítulos
- ✓Equipos con presupuesto limitado que necesitan licencias de por vida
Elija MFormats SDK
- ✓Playout de broadcast automatizado con programación 24/7
- ✓Salida SDI multivendor a hardware AJA, BlueFish y DELTACAST
- ✓Superposiciones de generador de caracteres HTML5 para gráficos en antena
- ✓Flujos de trabajo de ingesta y playout de broadcast centrados en MXF
Matriz de decisión
| Requisito | Media Player SDK | MFormats SDK | Ganador |
|---|---|---|---|
| Aplicación de reproductor multimedia | Media Player SDK | ||
| Reproducción DVD / Blu-ray | Media Player SDK | ||
| Efectos de audio durante la reproducción | Media Player SDK | ||
| Medidor VU / FFT profesional | Media Player SDK | ||
| Reproducción multiplataforma | Media Player SDK | ||
| Salida de cámara virtual | Media Player SDK | ||
| Detección de movimiento / rostros / códigos de barras | Media Player SDK | ||
| Presupuesto inferior a €2.000 | Media Player SDK | ||
| Automatización de playout de broadcast | MFormats SDK | ||
| Salida SDI (AJA, BlueFish, DELTACAST) | MFormats SDK | ||
| Superposiciones HTML5 CG | MFormats SDK |
Conclusión
Elija Media Player SDK .NET si necesita
Reproducción multimedia interactiva con navegación DVD/Blu-ray, despliegue multiplataforma en 5 sistemas operativos, más de 40 efectos de audio en tiempo real con medición VU, salida de cámara virtual para herramientas de conferencia, detección de movimiento/rostros/códigos de barras durante la reproducción y licencias perpetuas para equipos a una fracción del costo por puesto de MFormats.
Elija MFormats SDK si necesita
Playout de broadcast automatizado con programación y operación 24/7, salida SDI multivendor a hardware AJA, BlueFish y DELTACAST, y superposiciones de generador de caracteres HTML5 para gráficos en antena.
The Reality
La distinción es clara: Media Player SDK es para construir visores interactivos — aplicaciones donde un usuario ve, navega y controla medios. MFormats es para construir motores de playout automatizados — sistemas que envían frames a hardware SDI según un horario sin necesidad de interacción del visor. Si su proyecto coloca una ventana de vídeo frente a una persona, Media Player SDK es la herramienta adecuada. Si su proyecto alimenta un transmisor de broadcast, es MFormats.
