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.MediaBlocksOr 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
- 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
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 |
|
| Framework .NET |
|
| Hardware |
|
| Framework UI |
|
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
