VisioForge

Media Blocks SDK .NET

Crea applicazioni multimediali potenti facilmente e in modo flessibile con Media Blocks SDK .NET, un kit di strumenti modulare che ti consente di costruire flussi di lavoro video complessi come un costruttore visivo (telecamera → codec → output). Supporta la registrazione in MP4, MKV e AVI, nonché lo streaming tramite HLS, RTMP e RTSP, offrendo un ricco set di effetti tra cui correzione del colore, deinterlacciamento, watermark, cattura dello schermo e elaborazione audio. Con visione artificiale integrata, riconoscimento dei codici QR, tracciamento facciale e pieno supporto per dispositivi Blackmagic e ONVIF, porta funzionalità di livello professionale a qualsiasi progetto. L'SDK funziona perfettamente con WinForms, WPF, MAUI, Xamarin e Avalonia, rendendo facile integrare capacità multimediali avanzate in app desktop e mobili.

Installazione

Installazione Rapida con NuGet

Installa l'SDK direttamente nel tuo progetto usando Package Manager Console:

Install-Package VisioForge.DotNet.MediaBlocks

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

Vantaggi Chiave

Architettura Modulare

200+ blocchi di elaborazione che si collegano come mattoncini per creare pipeline multimediali personalizzate

Cross-Platform

Funziona su Windows, macOS, Linux, Android e iOS con tutti i principali framework UI .NET

Accelerazione Hardware

Codifica/decodifica accelerata da GPU con supporto NVIDIA, Intel e AMD per prestazioni massime

Esempi di 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();

PLAYER SEMPLICE

La pipeline del player semplice utilizza UniversalSourceBlock per leggere e decodificare il file sorgente, VideoRendererBlock per visualizzare il video e AudioRendererBlock per riprodurre l'audio.

Visualizzazione Pipeline Interattiva

Loading pipeline diagram...

PLAYER AVANZATO

La pipeline del player avanzato include UniversalSourceBlock per decodificare file o stream, renderer video e audio e blocchi di elaborazione effetti.

// 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 Player Avanzato con Effetti

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();

ANTEPRIMA CAMERA

La pipeline di anteprima semplice camera/microfono contiene blocchi sorgente dispositivo e blocchi renderer video/audio.

Verranno utilizzati i dispositivi predefiniti.

Pipeline Anteprima Camera

Loading pipeline diagram...

ANTEPRIMA RTSP

La pipeline di anteprima RTSP include il blocco sorgente RTSP (con decodificatori interni), renderer video e 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 Stream 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();

CATTURA CON ANTEPRIMA

La pipeline di cattura ha due blocchi tee utilizzati per dividere i flussi video e audio, permettendo l'anteprima video/audio insieme alla cattura video.

Pipeline Cattura con Anteprima

Loading pipeline diagram...

Le principali funzionalità di VisioForge Media Blocks SDK .Net includono:

Funzionalità Principali

  • Anteprima Audio/Video
  • Cattura Video e Audio in un'Ampia Gamma di Formati
  • Cattura Frame in Classe Bitmap, File BMP, JPEG e PNG
  • Elaborazione Video ed Effetti (CPU/GPU)
  • Controllo Dispositivo di Cattura Video
  • Streaming di Rete
  • Rilevamento Movimento
  • Supporto Interfacce Personalizzate
  • API Computer Vision
  • PIP (Picture-In-Picture)
  • Cattura Schermo/Cattura Finestra
  • Rilevamento Volti e Tracking Oggetti
  • Supporto Schermi di Output Multipli
  • Cattura Audio dagli Altoparlanti
  • Supporto Lettura e Scrittura Tag File Audio/Video

Dispositivi di Input Supportati

  • Webcam USB e Dispositivi di Cattura (Incluso 4K)
  • Telecamere/Server IP JPEG/MJPEG, MPEG-4 e H.264 HTTP/RTSP/RTMP
  • Videocamere DV e HDV MPEG-2
  • Schede di Cattura PCI
  • Sintonizzatori TV (Con/Senza Encoder MPEG Interno)
  • Formato HD Supportato per Telecamere IP
  • Telecamere IP ONVIF con Supporto PTZ
  • Dispositivi Blackmagic Decklink
  • Dispositivi di Cattura Audio e Schede Audio
  • Dispositivi ASIO

Hardware Professionale

  • Supporto Input/Output Blackmagic Decklink
  • Telecamere FLIR/Teledyne (USB3Vision/GigE)
  • Telecamere Basler (USB3Vision/GigE)
  • Videocamere DV e HDV MPEG-2
  • Schede di Cattura PCI
  • Sintonizzatori TV (Con/Senza Encoder MPEG)
  • Telecamere IP ONVIF con Supporto PTZ
  • Dispositivi ASIO

Sorgenti

  • Telecamere Allied Vision
  • GIF Animato
  • Telecamere Basler (USB3Vision/GigE)
  • Karaoke CDG
  • Interruttore di Fallback
  • GenICam (Telecamere Industriali)
  • HTTP
  • HTTP MJPEG
  • Sequenza Immagini
  • File Locale
  • Buffer Memoria
  • NDI
  • PulseAudio
  • Telecamera Raspberry Pi
  • RTMP
  • RTSP
  • RTSP RAW
  • Cattura Schermo
  • SRT
  • Audio di Sistema
  • Video di Sistema
  • Segnale di Test
  • UDP/RTP
  • URI (File/Rete)

Elaborazione Audio

  • Amplificazione
  • Bilanciamento
  • Convertitore Formato Campione
  • Normalizzatore di Carico
  • Mixer
  • Ricampionatore
  • Cattura Campioni
  • Correttore Timestamp
  • Reiezione Passa Banda Chebyshev
  • Limite Chebyshev
  • Compressore/Espansore
  • Filtro Csound
  • Livello EBU R128
  • Eco
  • Equalizzatore (10 Bande)
  • Equalizzatore (Parametrico)
  • Rendering HRTF
  • Karaoke
  • Rimuovi Silenzio
  • Riverbero
  • Scala/Tempo
  • Volume
  • Misuratore VU
  • Stereo Ampio

Lettore Codici a Barre

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

Codificatori Audio

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

Codificatori 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)
  • Supporto Codificatori Hardware NVENC, AMD, Intel
  • Supporto Codificatori Hardware iOS/macOS/Android

Elaborazione Video

  • Invecchiamento
  • Combinazione Alfa
  • Auto Deinterlacciamento
  • Bayer a RGB
  • Chiave Croma
  • Demux Alfa Codec
  • Effetti Colore
  • Deinterlacciamento
  • Dadi
  • Rilevamento Bordi
  • Occhio di Pesce
  • Capovolgimento/Rotazione
  • Gamma
  • Sfocatura Gaussiana
  • Scala di Grigi
  • Sovrapposizione Immagine
  • Sovrapposizione Immagine Cairo
  • Interlacciamento
  • Rilevatore Fotogramma Chiave
  • Processore LUT
  • Specchio
  • Sfocatura in Movimento
  • Eco in Movimento
  • Eco Zoom in Movimento
  • Animazione Ottica B/N
  • Gestore Sovrapposizione
  • Prospettiva
  • Pizzico
  • Pseudo 3D
  • Sovrapposizione Codice QR
  • Ridimensionamento
  • Cattura Campioni
  • Bordo Sobel
  • Sfera
  • Quadrato
  • Allungamento
  • Sovrapposizione Testo
  • Tunnel
  • Vortice
  • Bilanciamento Video
  • Convertitore Formato Pixel
  • Mixer Video
  • Specchio Deformato
  • Increspatura Acqua
  • Casella Zoom

File di Destinazione

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

Streaming di Rete

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

Blackmagic Decklink

  • Destinazione Audio
  • Sorgente Audio
  • Destinazione Video
  • Sorgente Video

Visualizzatori Audio

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

Decodificatori Video

  • Decodificatore AV1
  • Decodificatore H.264
  • Decodificatore HEVC
  • Decodificatore JPEG
  • Decodificatore VP8
  • Decodificatore VP9
  • Decodificatori Accelerati NVIDIA, Intel e AMD
  • Decodificatori Hardware Android
  • Decodificatori Hardware iOS

Blocchi Speciali

  • Rilevatore Codici a Barre
  • Processore Dati
  • Cattura Campioni Dati
  • Timestamp Debug
  • Decifratore
  • Cifratore
  • Coda Multipla
  • Renderer Null
  • Coda
  • Decifratore SRTP
  • Cifratore SRTP
  • Tee (Splitter)

Prezzi

Scegli tra abbonamento annuale o licenza a vita

Licenza Regolare

€500/ anno
  • Aggiornamenti minori e maggiori gratuiti per un anno
  • L'SDK continua a funzionare dopo la fine dell'abbonamento
  • Supporto prioritario
  • Rinnovo automatico annuale (puoi cancellare in qualsiasi momento)
  • Tutti i 200+ blocchi di elaborazione inclusi
MIGLIOR VALORE

Licenza a Vita

€1,500/ pagamento unico
Acquista Licenza a Vita
  • Aggiornamenti illimitati per sempre
  • Supporto prioritario e correzioni
  • Pagamento unico
  • Tutte le funzionalità future incluse
  • Tutti i 200+ blocchi di elaborazione inclusi

Gratuito per uso non commerciale. Contattaci per ottenere una licenza gratuita.

Tutte le licenze includono diritti di distribuzione royalty-free.

Requisiti di Sistema

Requisiti minimi per sviluppo e distribuzione su diverse piattaforme

Sistemi Operativi
  • Windows 10 / 11 (32-bit e 64-bit)
  • Windows 8/8.1, Windows 7 SP1
  • Windows Server 2016 e successivi
  • macOS 12 o successivo
  • Ubuntu 22.04 / 24.04
  • Android 8 e successivo
  • iOS 12 e successivo
Framework .NET
  • .NET Framework 4.6.1 o successivo
  • .NET Core 3.1
  • .NET 5/6/7/8/9/10
Hardware
  • Minimo 2 GB RAM (4 GB consigliati)
  • Processore Intel Core i5 o equivalente AMD
  • Supporto accelerazione GPU opzionale (NVIDIA/Intel/AMD)
Framework UI
  • WinForms
  • WPF
  • WinUI 3 per Desktop
  • Avalonia
  • GTK#
  • MAUI
  • Xamarin.Android/iOS/Mac

Documentazione e Risorse

Tutto ciò che ti serve per iniziare con Media Blocks SDK

Pronto per Iniziare?

Scarica la prova gratuita e inizia a costruire la tua pipeline multimediale oggi