VisioForge

Media Blocks SDK .NET

Crear aplicaciones multimedia poderosas de manera fácil y flexible con Media Blocks SDK .NET — un conjunto de herramientas modulares que te permite construir flujos de trabajo de video complejos como un constructor visual (cámara → códec → salida). Soporta la grabación en MP4, MKV y AVI, así como la transmisión vía HLS, RTMP y RTSP, ofreciendo un rico conjunto de efectos que incluyen corrección de color, desentrelazado, marcas de agua, captura de pantalla y procesamiento de audio. Con visión por computadora incorporada, reconocimiento de códigos QR, seguimiento facial y soporte completo para dispositivos Blackmagic y ONVIF, proporciona características de nivel profesional a cualquier proyecto. El SDK funciona a la perfección con WinForms, WPF, MAUI, Xamarin y Avalonia, facilitando la integración de capacidades avanzadas de medios en aplicaciones de escritorio y móviles.

Instalación

Instalación Rápida con NuGet

Instale el SDK directamente en su proyecto usando la Consola del Administrador de Paquetes:

Install-Package VisioForge.DotNet.MediaBlocks

Or search for VisioForge.DotNet.MediaBlocks in Visual Studio's NuGet Package Manager. View installation guide →

Beneficios Clave

Arquitectura Modular

200+ bloques de procesamiento que se conectan como bloques de construcción para crear pipelines multimedia personalizados

Multiplataforma

Funciona en Windows, macOS, Linux, Android e iOS con todos los principales frameworks de UI de .NET

Aceleración por Hardware

Codificación/decodificación acelerada por GPU con soporte para NVIDIA, Intel y AMD para máximo rendimiento

Ejemplos de Pipeline

// Create MediaBlocks pipeline
_pipeline = new MediaBlocksPipeline();

// Add file source
var fileSourceSettings = await UniversalSourceSettings.CreateAsync("video.mp4");
var videoStreamAvailable = fileSourceSettings.GetInfo().VideoStreams.Count > 0;
var audioStreamAvailable = fileSourceSettings.GetInfo().AudioStreams.Count > 0;

var fileSource = new UniversalSourceBlock(fileSourceSettings);

// Add video renderer
if (videoStreamAvailable)
{
    var videoRenderer = new VideoRendererBlock(_pipeline, VideoView1);
    _pipeline.Connect(fileSource, videoRenderer);
}

// Add audio output
if (audioStreamAvailable)
{
    var audioOutputDevice = (await DeviceEnumerator.Shared.AudioOutputsAsync(
        AudioOutputDeviceAPI.DirectSound))[0];
    var audioOutput = new AudioRendererBlock(
        new AudioRendererSettings(audioOutputDevice));
    _pipeline.Connect(fileSource, audioOutput);
}

// Start playback
await _pipeline.StartAsync();

REPRODUCTOR SIMPLE

El pipeline del reproductor simple utiliza UniversalSourceBlock para leer y decodificar el archivo fuente, VideoRendererBlock para mostrar video y AudioRendererBlock para reproducir audio.

Visualización Interactiva del Pipeline

Loading pipeline diagram...

REPRODUCTOR AVANZADO

El pipeline del reproductor avanzado incluye UniversalSourceBlock para decodificar archivos o transmisiones, renderizadores de video y audio, y bloques de procesamiento de efectos.

// Create MediaBlocks pipeline
_pipeline = new MediaBlocksPipeline();

// Add file source
var fileSourceSettings = await UniversalSourceSettings.CreateAsync(edFilename.Text);
var videoStreamAvailable = fileSourceSettings.GetInfo().VideoStreams.Count > 0;
var audioStreamAvailable = fileSourceSettings.GetInfo().AudioStreams.Count > 0;

var fileSource = new UniversalSourceBlock(fileSourceSettings);

// Add video renderer, text overlay and image overlay
if (videoStreamAvailable)
{
    var videoRenderer = new VideoRendererBlock(_pipeline, VideoView1);
    var textOverlay = new TextOverlayBlock(new TextOverlaySettings("Hello world!"));
    var imageOverlay = new ImageOverlayBlock(new ImageOverlaySettings("logo.png"));

    _pipeline.Connect(fileSource, textOverlay);
    _pipeline.Connect(textOverlay, imageOverlay);
    _pipeline.Connect(imageOverlay, videoRenderer);
}

// Add audio output and equalizer
if (audioStreamAvailable)
{
    var audioOutputDevice = (await DeviceEnumerator.Shared.AudioOutputsAsync(AudioOutputDeviceAPI.DirectSound))[0];
    var audioOutput = new AudioRendererBlock(new AudioRendererSettings(audioOutputDevice));

    var equalizer = new EqualizerParametricBlock();
    // set some equalizer settings

    _pipeline.Connect(fileSource, equalizer);
    _pipeline.Connect(equalizer, audioOutput);
}

// Start playback
await _pipeline.StartAsync();

Pipeline de Reproductor Avanzado con Efectos

Loading pipeline diagram...

// Create MediaBlocksPipeline object
_pipeline = new MediaBlocksPipeline();

// Add default video and audio sources
var videoSources = (await DeviceEnumerator.Shared.VideoSourcesAsync()).ToList();
var videoSource = new SystemVideoSourceBlock(new VideoCaptureDeviceSourceSettings(
    videoSources.Find(x => x.Name.Contains("920"))));

var audioSources = (await DeviceEnumerator.Shared.AudioSourcesAsync()).ToList();
var audioSource = new SystemAudioSourceBlock(audioSources[0].CreateSourceSettings());

// Add video renderer
var videoRenderer = new VideoRendererBlock(_pipeline, videoView: VideoView1);

// Add audio renderer
var audioRenderers = (await DeviceEnumerator.Shared.AudioOutputsAsync()).ToList();
var audioRenderer = new AudioRendererBlock(new AudioRendererSettings(audioRenderers[0]));

// Connect everything
_pipeline.Connect(videoSource, videoRenderer);
_pipeline.Connect(audioSource, audioRenderer);

// Start preview
await _pipeline.StartAsync();

VISTA PREVIA DE CÁMARA

El pipeline de vista previa simple de cámara/micrófono contiene bloques de origen de dispositivo y bloques renderizadores de video/audio.

Se utilizarán dispositivos predeterminados.

Pipeline de Vista Previa de Cámara

Loading pipeline diagram...

VISTA PREVIA RTSP

El pipeline de vista previa RTSP, que incluye el bloque de origen RTSP (con decodificadores internos), renderizadores de video y audio.

// Create Media Blocks pipeline
_pipeline = new MediaBlocksPipeline();

// Create video renderer
var videoRenderer = new VideoRendererBlock(_pipeline, VideoView1);

// Add RTSP camera source
var rtsp = await RTSPSourceSettings.CreateAsync(new Uri(edURL.Text), 
    edLogin.Text, edPassword.Text, audioEnabled: cbAudioStream.Checked);
var rtspSource = new RTSPSourceBlock(rtsp);

_pipeline.Connect(rtspSource, videoRenderer);

// Add audio output (if required)
if (cbAudioStream.Checked && rtsp.IsAudioAvailable())
{
    var audioOutputDevice = (await DeviceEnumerator.Shared.AudioOutputsAsync(
        AudioOutputDeviceAPI.DirectSound))[0];
    var audioOutput = new AudioRendererBlock(new AudioRendererSettings(audioOutputDevice));
    _pipeline.Connect(rtspSource, audioOutput);
}

// Start IP camera preview
await _pipeline.StartAsync();

Pipeline de Transmisión RTSP

Loading pipeline diagram...

// Create the pipeline
_pipeline = new MediaBlocksPipeline();

// Add video and audio sources
var videoSources = (await DeviceEnumerator.Shared.VideoSourcesAsync()).ToList();
var videoSource = new SystemVideoSourceBlock(new VideoCaptureDeviceSourceSettings(videoSources[0]));

var audioSources = (await DeviceEnumerator.Shared.AudioSourcesAsync()).ToList();
var audioSource = new SystemAudioSourceBlock(audioSources[0].CreateSourceSettings());

// Add video renderer and specify VideoView control
var videoRenderer = new VideoRendererBlock(_pipeline, videoView: VideoView1);

// Add audio renderer
var audioRenderers = (await DeviceEnumerator.Shared.AudioOutputsAsync()).ToList();
var audioRenderer = new AudioRendererBlock(new AudioRendererSettings(audioRenderers[0]));

// Configure MP4 output
var output = new MP4OutputBlock(Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.MyVideos), "output.mp4"));

// Add video and audio tees
var videoTee = new TeeBlock(2, MediaBlockPadMediaType.Video);
var audioTee = new TeeBlock(2, MediaBlockPadMediaType.Audio);

// Connect everything
_pipeline.Connect(videoSource, videoTee);
_pipeline.Connect(audioSource, audioTee);

_pipeline.Connect(videoTee, videoRenderer);
_pipeline.Connect(audioTee, audioRenderer);

_pipeline.Connect(videoTee, output);
_pipeline.Connect(audioTee, output);

// Start MP4 recording
await _pipeline.StartAsync();

CAPTURA CON VISTA PREVIA

El pipeline de captura tiene dos bloques tee que se utilizan para dividir flujos de video y audio, permitiendo vista previa de video/audio junto con captura de video.

Pipeline de Captura con Vista Previa

Loading pipeline diagram...

Las características principales de VisioForge Media Blocks SDK .Net incluyen:

Características Principales

  • Vista Previa de Audio/Video
  • Captura de Video y Audio en una Amplia Gama de Formatos
  • Captura de Fotogramas a Clase Bitmap, Archivos BMP, JPEG y PNG
  • Procesamiento de Video y Efectos (CPU/GPU)
  • Control de Dispositivos de Captura de Video
  • Transmisión en Red
  • Detección de Movimiento
  • Soporte de Interfaces Personalizadas
  • API de Visión por Computadora
  • PIP (Picture-In-Picture)
  • Captura de Pantalla/Ventana
  • Detección Facial y Seguimiento de Objetos
  • Soporte para Múltiples Pantallas de Salida
  • Captura de Audio desde Altavoces
  • Soporte para Lectura y Escritura de Etiquetas de Archivos de Audio/Video

Dispositivos de Entrada Soportados

  • Cámaras Web USB y Dispositivos de Captura (Incluyendo 4K)
  • Cámaras/Servidores IP JPEG/MJPEG, MPEG-4 y H.264 HTTP/RTSP/RTMP
  • Videocámaras DV y HDV MPEG-2
  • Tarjetas de Captura PCI
  • Sintonizadores de TV (Con/Sin Codificador MPEG Interno)
  • Formato HD Compatible con Cámaras IP
  • Cámaras IP ONVIF con Soporte PTZ
  • Dispositivos Blackmagic Decklink
  • Dispositivos de Captura de Audio y Tarjetas de Sonido
  • Dispositivos ASIO

Hardware Profesional

  • Soporte de Entrada/Salida Blackmagic Decklink
  • Cámaras FLIR/Teledyne (USB3Vision/GigE)
  • Cámaras Basler (USB3Vision/GigE)
  • Videocámaras DV y HDV MPEG-2
  • Tarjetas de Captura PCI
  • Sintonizadores de TV (Con/Sin Codificador MPEG)
  • Cámaras IP ONVIF con Soporte PTZ
  • Dispositivos ASIO

Fuentes

  • Cámaras Allied Vision
  • GIF Animado
  • Cámaras Basler (USB3Vision/GigE)
  • Karaoke CDG
  • Conmutador de Respaldo
  • GenICam (Cámaras Industriales)
  • HTTP
  • HTTP MJPEG
  • Secuencia de Imágenes
  • Archivo Local
  • Búfer de Memoria
  • NDI
  • PulseAudio
  • Cámara Raspberry Pi
  • RTMP
  • RTSP
  • RTSP RAW
  • Captura de Pantalla
  • SRT
  • Audio del Sistema
  • Video del Sistema
  • Señal de Prueba
  • UDP/RTP
  • URI (Archivo/Red)

Procesamiento de Audio

  • Amplificar
  • Balance
  • Convertidor de Formato de Muestra
  • Normalizador de Carga
  • Mezclador
  • Remuestreador
  • Capturador de Muestras
  • Corrector de Marca de Tiempo
  • Rechazo de Paso de Banda Chebyshev
  • Límite Chebyshev
  • Compresor/Expansor
  • Filtro Csound
  • Nivel EBU R128
  • Eco
  • Ecualizador (10 Bandas)
  • Ecualizador (Paramétrico)
  • Renderizado HRTF
  • Karaoke
  • Eliminar Silencio
  • Reverberación
  • Escala/Tempo
  • Volumen
  • Medidor VU
  • Estéreo Amplio

Lector de Códigos de Barras

  • Código QR
  • UPC-A, UPC-E
  • EAN-8, EAN-13
  • Code 39
  • Code 93
  • Code 128
  • Codabar
  • ITF
  • RSS-14
  • Data Matrix
  • Aztec
  • PDF-417

Codificadores de Audio

  • AAC
  • ADPCM
  • ALAW
  • AptX
  • FLAC
  • MP2
  • MP3
  • OPUS
  • Speex
  • Vorbis
  • WAV
  • Wavpack
  • WMA (Windows Media Audio)

Codificadores de Video (CPU/GPU)

  • AV1
  • DV
  • GIF
  • H.264
  • H.265/HEVC
  • MJPEG
  • MPEG-2
  • MPEG-4
  • PNG
  • Theora
  • VP8/VP9 (VPX)
  • WMV (Windows Media Video)
  • Soporte de Codificadores de Hardware NVENC, AMD, Intel
  • Soporte de Codificadores de Hardware iOS/macOS/Android

Procesamiento de Video

  • Envejecimiento
  • Combinación Alfa
  • Auto Desentrelazado
  • Bayer a RGB
  • Clave de Croma
  • Demux Alfa de Códec
  • Efectos de Color
  • Desentrelazar
  • Dados
  • Detección de Bordes
  • Ojo de Pez
  • Voltear/Rotar
  • Gamma
  • Desenfoque Gaussiano
  • Escala de Grises
  • Superposición de Imagen
  • Superposición de Imagen Cairo
  • Entrelazar
  • Detector de Fotograma Clave
  • Procesador LUT
  • Espejo
  • Desenfoque en Movimiento
  • Eco en Movimiento
  • Eco de Zoom en Movimiento
  • Animación Óptica B/N
  • Gestor de Superposición
  • Perspectiva
  • Pellizcar
  • Pseudo 3D
  • Superposición de Código QR
  • Redimensionar
  • Capturador de Muestras
  • Borde Sobel
  • Esfera
  • Cuadrado
  • Estirar
  • Superposición de Texto
  • Túnel
  • Remolino
  • Balance de Video
  • Convertidor de Formato de Píxel
  • Mezclador de Video
  • Espejo Deformado
  • Ondulación de Agua
  • Caja de Zoom

Destinos de Archivo

  • ASF
  • AVI
  • DASH
  • HLS
  • HTTP MJPEG Live
  • MKV (Matroska)
  • MOV (QuickTime)
  • MP4
  • MPEG-PS
  • MPEG-TS
  • MXF
  • OGG
  • WAV
  • WebM

Transmisión en Red

  • Facebook Live
  • HLS
  • NDI
  • RTMP
  • RTSP
  • Shoutcast
  • SRT
  • YouTube Live

Blackmagic Decklink

  • Receptor de Audio
  • Fuente de Audio
  • Receptor de Video
  • Fuente de Video

Visualizadores de Audio

  • Bumpscope
  • Corona
  • Infinite
  • Jakdaw
  • Jess
  • LV Analyzer
  • LV Scope
  • Oinksie
  • Spacescope
  • Spectrascope
  • Synaescope
  • Wavescope

Decodificadores de Video

  • Decodificador AV1
  • Decodificador H.264
  • Decodificador HEVC
  • Decodificador JPEG
  • Decodificador VP8
  • Decodificador VP9
  • Decodificadores Acelerados NVIDIA, Intel y AMD
  • Decodificadores de Hardware Android
  • Decodificadores de Hardware iOS

Bloques Especiales

  • Detector de Códigos de Barras
  • Procesador de Datos
  • Capturador de Muestras de Datos
  • Marca de Tiempo de Depuración
  • Descifrador
  • Cifrador
  • Cola Múltiple
  • Renderizador Nulo
  • Cola
  • Descifrador SRTP
  • Cifrador SRTP
  • Tee (Divisor)

Precios

Elija entre suscripción anual o licencia de por vida

Licencia Regular

€500/ año
  • Actualizaciones menores y mayores gratuitas durante un año
  • El SDK continúa funcionando después de que finaliza la suscripción
  • Soporte prioritario
  • Se renueva automáticamente cada año (puede cancelar en cualquier momento)
  • Todos los 200+ bloques de procesamiento incluidos
MEJOR VALOR

Licencia de Por Vida

€1,500/ único pago
Comprar Licencia de Por Vida
  • Actualizaciones ilimitadas para siempre
  • Soporte y correcciones prioritarios
  • Pago único
  • Todas las funciones futuras incluidas
  • Todos los 200+ bloques de procesamiento incluidos

Gratis para uso no comercial. Por favor contáctenos para obtener una licencia gratuita.

Todas las licencias incluyen derechos de distribución libres de regalías.

Requisitos del Sistema

Requisitos mínimos para desarrollo e implementación en todas las plataformas

Sistemas Operativos
  • Windows 10 / 11 (32-bit y 64-bit)
  • Windows 8/8.1, Windows 7 SP1
  • Windows Server 2016 y posterior
  • macOS 12 o posterior
  • Ubuntu 22.04 / 24.04
  • Android 8 y posterior
  • iOS 12 y posterior
.NET Framework
  • .NET Framework 4.6.1 o posterior
  • .NET Core 3.1
  • .NET 5/6/7/8/9/10
Hardware
  • Mínimo 2 GB RAM (4 GB recomendado)
  • Procesador Intel Core i5 o equivalente AMD
  • Soporte de aceleración GPU opcional (NVIDIA/Intel/AMD)
Frameworks de UI
  • WinForms
  • WPF
  • WinUI 3 para Desktop
  • Avalonia
  • GTK#
  • MAUI
  • Xamarin.Android/iOS/Mac

Documentación y Recursos

Todo lo que necesitas para empezar con Media Blocks SDK

¿Listo para Empezar?

Descarga la prueba gratuita y comienza a construir tu pipeline multimedia hoy