Media Blocks SDK .NET — Costruisci pipeline multimediali modulari in C#
Costruisci pipeline video con blocchi in C#: camera, codec, effetto, uscita, con registrazione in MP4, MKV o AVI e streaming via HLS, RTMP o RTSP.
Da €500/anno · licenza Lifetime da €1,500
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, Uno Platform, Xamarin, Avalonia e Unity, rendendo facile integrare capacità multimediali avanzate in app desktop, mobili e per motori di gioco.
Vuoi un componente già pronto invece di una pipeline da assemblare da solo? Video Capture SDK .NET · Media Player SDK .NET · Video Edit SDK .NET
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
Media Blocks SDK .NET è il livello di pipeline dello stack .NET di VisioForge: invece di configurare un componente già pronto, si assembla un'applicazione a partire da singoli blocchi — una sorgente, un numero qualsiasi di blocchi di elaborazione e uno o più sink — collegandoli con MediaBlocksPipeline.Connect. Gli oltre 200 blocchi coprono sorgenti da file e webcam, telecamere IP RTSP e ONVIF con PTZ, Blackmagic DeckLink, telecamere industriali Basler e FLIR, correzione del colore, deinterlacciamento, chroma key, sovrimpressioni ed elaborazione audio, inferenza AI, registrazione in MP4, MKV, MOV, WebM, MPEG-TS e MXF e streaming su HLS, RTMP, RTSP, SRT e NDI. Una sola pipeline può registrare, trasmettere e mostrare l'anteprima contemporaneamente dividendo il flusso con un TeeBlock. L'SDK si installa dal pacchetto NuGet VisioForge.DotNet.MediaBlocks e funziona su Windows, macOS, Linux, Android e iOS con WinForms, WPF, MAUI, Uno Platform, Avalonia e Unity.
Esempi di Pipeline
PLAYER SEMPLICE
C#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.
// 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 AVANZATO
C#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();ANTEPRIMA CAMERA
C#La pipeline di anteprima semplice camera/microfono contiene blocchi sorgente dispositivo e blocchi renderer video/audio. Verranno utilizzati i dispositivi predefiniti.
// 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[0]));
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 RTSP
C#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();CATTURA CON ANTEPRIMA
C#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.
// 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();Prezzi
Scegli tra abbonamento annuale o licenza a vita
Media Blocks SDK .NET è concesso in licenza per sviluppatore in due forme. La Regular License costa 500 € all'anno, si rinnova automaticamente, include ogni aggiornamento minore e maggiore pubblicato in quell'anno, e l'SDK continua a funzionare dopo la fine dell'abbonamento: semplicemente non si ricevono più nuove versioni. La Lifetime·Team License è un pagamento unico di 1.500 € e comprende aggiornamenti minori e maggiori, e ogni funzionalità futura, per tutta la vita del prodotto. Entrambe includono tutti gli oltre 200 blocchi di elaborazione, il supporto via e-mail e i diritti di distribuzione esenti da royalty, quindi non è dovuta alcuna quota di runtime per le applicazioni distribuite. L'uso non commerciale è gratuito su richiesta e una licenza del codice sorgente è disponibile su richiesta. La licenza annuale si può pagare con carta di credito oppure con bonifico bancario e SEPA; la licenza a vita si paga con carta. Se un progetto richiede più di un SDK VisioForge, i bundle .NET costano meno degli stessi prodotti acquistati separatamente.
Licenza Regolare
- Aggiornamenti minori e maggiori gratuiti per un anno
- L'SDK continua a funzionare dopo la fine dell'abbonamento
- Supporto via email
- Rinnovo automatico annuale (puoi cancellare in qualsiasi momento)
- Tutti i 200+ blocchi di elaborazione inclusi
Licenza Lifetime·Team
- Aggiornamenti minori e maggiori per la vita del prodotto
- Supporto via email
- 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.
💰 Risparmia di più con i pacchetti Bundle
Questo prodotto è incluso nei nostri pacchetti bundle convenienti. Ottieni più prodotti spendendo meno rispetto ad acquistarli separatamente.
.NET Bundle Professional
Include:
- •Video Capture SDK .NET (Professional)
- •Media Player SDK .NET (Professional)
- •Video Edit SDK .NET (Professional)
- •Video Edit SDK FFmpeg .NET (Professional)
- •Media Blocks SDK .NET
.NET Bundle Premium
Include:
- •Video Capture SDK .NET (Premium)
- •Media Player SDK .NET (Premium)
- •Video Edit SDK .NET (Premium)
- •Video Edit SDK FFmpeg .NET (Premium)
- •Media Blocks SDK .NET
Licenza codice sorgente
La licenza del codice sorgente è disponibile su richiesta per questo SDK. Contatta il nostro team commerciale per discutere prezzi e termini di licenza.
Richiedi licenza codice sorgenteAnalisi video AI e riconoscimento vocale
Aggiungi inferenza AI, anonimizzazione della privacy, rilevamento open-vocabulary, comprensione vision-language, ricerca semantica e riconoscimento vocale direttamente alle pipeline di Media Blocks SDK .NET.
Media Blocks SDK .NET aggiunge blocchi di elaborazione AI direttamente nelle pipeline multimediali C# tramite VisioForge.DotNet.Core.AI e VisioForge.DotNet.Core.AI.Whisper. Gli sviluppatori possono inserire OCR, riconoscimento delle targhe, rilevamento di oggetti YOLO/RT-DETR/open-vocabulary, analisi degli oggetti ByteTrack, riconoscimento facciale, anonimizzazione automatica delle informazioni personali (PII), rimozione dello sfondo, captioning vision-language, embedding video/ricerca semantica e inferenza ONNX personalizzata tra sorgenti, renderer, encoder e uscite di streaming esistenti. I blocchi basati su ONNX Runtime possono essere eseguiti su CPU o su provider hardware come CUDA, DirectML e CoreML quando è disponibile il runtime corrispondente, mentre il riconoscimento vocale Whisper viene eseguito localmente tramite GGML/whisper.cpp con il supporto opzionale di Silero VAD per segmenti puliti. I file dei modelli AI vengono forniti o scaricati dall'applicazione, così i team mantengono il controllo sulla scelta del modello e sulla licenza. Il risultato è un SDK AI video modulare per .NET pensato per creare video OCR ricercabili, sistemi ANPR, conteggio delle persone, analisi con tripwire, anonimizzazione conforme alla privacy, ricerca video in linguaggio naturale, sottotitoli dal vivo ed esportazione SRT/VTT senza abbandonare il modello di pipeline di Media Blocks.
Sfoglia i blocchi AI
OCR e ANPR
Riconosci testo e targhe in video dal vivo o file con blocchi ONNX basati su PaddleOCR ed eventi di rilevamento strutturati.
Rilevamento e analisi degli oggetti
Esegui modelli YOLOX, YOLOv8 o RT-DETR, quindi aggiungi ID ByteTrack, attraversamenti di linee, zone poligonali, contatori e overlay.
Riconoscimento facciale
Rileva volti, registra identità, confronta con una FaceGallery e disegna le persone riconosciute nel flusso video.
Rimozione dello sfondo
Usa modelli di matting ONNX per la sfocatura dello sfondo, la sostituzione con un colore pieno, la sostituzione con un'immagine o l'output RGBA trasparente.
Inferenza ONNX personalizzata
Collega il tuo modello ONNX ai fotogrammi video e ricevi output tensoriali grezzi per la post-elaborazione specifica della tua applicazione.
Sottotitoli Whisper offline
Trascrivi l'audio localmente con Whisper, segmenta il parlato con Silero VAD, renderizza sottotitoli dal vivo o scrivi file SRT/VTT.
Anonimizzazione PII
Sfoca, pixella o copri automaticamente volti, targhe e testo a schermo, con filtro regex opzionale per email e numeri di telefono.
Rilevamento open-vocabulary e comprensione vision-language
Rileva oggetti a partire da un prompt in testo libero con OWLv2 o Grounding DINO invece di un elenco di classi fisso, oppure usa un blocco vision-language Florence-2 per il captioning dei fotogrammi, l'OCR e il grounding di frasi — cambia prompt e soglie di confidenza a runtime.
Ricerca video semantica
Costruisci un indice di embedding basato su CLIP durante l'elaborazione del video, quindi cercalo con query in linguaggio naturale per trovare i fotogrammi corrispondenti.
Le stesse istanze di blocchi si collegano anche direttamente a VideoCaptureCoreX e MediaPlayerCoreX tramite Video_Processing_AddBlock/Audio_Processing_AddBlock — senza bisogno di una MediaBlocksPipeline manuale. Consulta le funzionalità AI nelle pagine di Video Capture SDK .NET e Media Player SDK .NET.
Live Video Compositor
Sviluppa software di produzione video dal vivo simile a OBS con il Live Video Compositor — un motore di composizione video in tempo reale con ingressi e uscite multipli, costruito su Media Blocks SDK .NET. Aggiungi e rimuovi dinamicamente telecamere, acquisizioni dello schermo, file multimediali, flussi RTSP/telecamere IP e sorgenti NDI come input stratificati, miscelandoli con rendering accelerato via GPU e trasmettendo simultaneamente su file di registrazione e piattaforme di streaming live. Progettato per la commutazione multicamera, layout picture-in-picture, overlay dal vivo e mixaggio audio di qualità broadcast — tutto completamente controllabile da codice C# a runtime.
Il Live Video Compositor è un motore di composizione multi-ingresso e multi-uscita costruito sullo stesso modello a pipeline. Lo si crea con una dimensione della tela e un frame rate — LiveVideoCompositorSettings(1920, 1080, new VideoFrameRate(25)) — e poi si aggiunge ogni sorgente come ingresso con il proprio rettangolo di destinazione e il proprio ordine Z: una telecamera a tutto schermo come sfondo, una cattura schermo come sovrimpressione picture-in-picture, un file multimediale, una telecamera RTSP o un feed NDI. Ingressi e uscite si aggiungono e si rimuovono con Input_AddAsync e Output_AddAsync mentre la composizione è in esecuzione, e ogni ingresso gira in una pipeline isolata, così una sorgente che si guasta non ferma le altre. I livelli vengono miscelati con rendering OpenGL accelerato da GPU e fallback su CPU, e il risultato può andare a più destinazioni insieme: una registrazione MP4 o WebM, una diretta YouTube o Facebook, una scheda DeckLink e un'anteprima a schermo.
Ingressi e uscite dinamici
Aggiungi o rimuovi sorgenti video e audio e destinazioni di uscita in qualsiasi momento — anche mentre il compositor è in esecuzione. Ogni ingresso opera nella propria pipeline isolata, così una sorgente con problemi non interrompe mai l'intera composizione.
Mixaggio accelerato via GPU
Componi più livelli video in tempo reale utilizzando il rendering multipiattaforma accelerato via GPU (OpenGL) o il fallback su CPU. Posiziona ogni sorgente con rettangoli precisi al pixel, controlla l'impilamento Z-order e scegli tra le modalità di ridimensionamento letterbox, stretch o fill.
Registrazione + Streaming + Anteprima
Trasmetti su più destinazioni contemporaneamente — registra in MP4 o WebM, trasmetti in diretta su YouTube e Facebook, invia il video a hardware Decklink e visualizza un'anteprima a schermo — il tutto da una singola istanza del compositor in tempo reale.
Overlay dal vivo ed effetti
Applica sovrapposizioni di testo, watermark di immagini ed effetti video post-composizione in modo dinamico — senza necessità di ricostruire la pipeline. Il metering audio VU in tempo reale fornisce un monitoraggio dei livelli di qualità professionale durante la produzione dal vivo.
Configurazione del Live Video Compositor in C#
C#// Create the Live Video Compositor (cross-platform, GPU-accelerated)
var settings = new LiveVideoCompositorSettings(1920, 1080, new VideoFrameRate(25));
var compositor = new LiveVideoCompositor(settings);
// Add a camera source (full-screen background layer)
var cameraInput = new LVCVideoAudioInput(
"Camera", compositor,
new SystemVideoSourceBlock(cameraSettings),
videoInfo, audioInfo, new Rect(0, 0, 1920, 1080),
autostart: true);
await compositor.Input_AddAsync(cameraInput);
// Start compositing — sources and outputs can be added/removed at any time
await compositor.StartAsync();
// Dynamically add screen capture as picture-in-picture overlay
var screenInput = new LVCVideoInput(
"Screen", compositor,
new ScreenSourceBlock(screenSettings), screenInfo,
new Rect(1400, 50, 500, 300), autostart: true);
screenInput.ZOrder = 1;
await compositor.Input_AddAsync(screenInput);
// Dynamically add MP4 recording output while compositing is running
var mp4Output = new LVCVideoAudioOutput(
"Recording", compositor,
new MP4OutputBlock(mp4Settings), autostart: true);
await compositor.Output_AddAsync(mp4Output);
// Dynamically remove the screen overlay
await compositor.Input_RemoveAsync(screenInput.ID);
// Dynamically remove the recording output
await compositor.Output_RemoveAsync(mp4Output.ID);Il Live Video Compositor funziona con tutte le sorgenti di ingresso e i formati di uscita supportati da Media Blocks SDK .NET, incluse telecamere, acquisizione schermo, file multimediali, telecamere RTSP/IP, NDI, Decklink e tutte le uscite di registrazione e streaming.
Supporto Unity
Media Blocks è distribuito come un unico .unitypackage cumulativo per Unity 6, con scene di esempio per un lettore di file multimediali e un visualizzatore RTSP dal vivo, e copre Windows, Android, macOS e iOS con una sola importazione.
Come si confronta Media Blocks
Confronti diretti con le librerie e gli SDK che i team valutano di solito in parallelo.
Riferimento completo di blocchi, codec e dispositivi
Ogni blocco, codec, contenitore e dispositivo supportato dall'SDK — sorgenti, encoder, decoder, filtri, sink e hardware — è elencato in una pagina di riferimento separata.
Apri il riferimento completo dei blocchi →Installazione
Installazione Rapida con NuGet
Installa l'SDK direttamente nel tuo progetto usando Package Manager Console:
Install-Package VisioForge.DotNet.MediaBlocksOppure cerca VisioForge.DotNet.MediaBlocks nel NuGet Package Manager di Visual Studio. Guarda la guida d'installazione →
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
Sviluppa con agenti di coding IA
Lavori con un agente IA — Claude Code, Cursor, GitHub Copilot, Gemini CLI, OpenAI Codex? VisioForge pubblica superfici leggibili dalle macchine per Media Blocks SDK .NET, così il tuo agente azzecca l’integrazione al primo colpo: i pacchetti NuGet giusti, la registrazione della licenza, la configurazione del progetto e i dettagli di deployment multipiattaforma che altrimenti dovrebbe indovinare.
Collega il server MCP
MCPAggiungi il server MCP di VisioForge al tuo agente per un aiuto contestuale: cercare nell’API, consultare classi e membri, recuperare esempi di codice funzionanti e ottenere guide al deployment, direttamente nell’editor.
Claude Code
claude mcp add --transport http visioforge-sdk https://mcp.visioforge.com/mcpVS Code (.vscode/mcp.json)
{
"servers": {
"visioforge-sdk": {
"type": "http",
"url": "https://mcp.visioforge.com/mcp"
}
}
}Carica un Agent Skill
Agent SkillsPubblichiamo uno skill scaricabile per ogni combinazione (SDK, piattaforma) — per Media Blocks SDK .NET, un SKILL.md pronto all’uso per piattaforma (quali pacchetti NuGet, codice di licenza, configurazione del csproj, errori comuni) più un progetto di esempio funzionante da cui il tuo agente può copiare. Compatibile con Claude Code, Cursor, OpenAI Codex, Gemini CLI e oltre 30 altri agenti (Cloudflare Agent Skills RFC).
Indirizza il tuo agente all’indice degli skill
https://www.visioforge.com/.well-known/agent-skills/index.jsonPreferisci passare tutta la documentazione al tuo agente? È disponibile anche come markdown semplice: /llms.txt · /llms-full.txt
Pronto per Iniziare?
Scarica la prova gratuita e inizia a costruire la tua pipeline multimediale oggi
Domande frequenti
Cos'è Media Blocks SDK e in cosa si differenzia dagli altri SDK di VisioForge?
Cos'è Media Blocks SDK e in cosa si differenzia dagli altri SDK di VisioForge?
Media Blocks SDK utilizza un'architettura di pipeline modulare in cui si collegano singoli blocchi di elaborazione (sorgenti, encoder, effetti, uscite) come blocchi da costruzione. A differenza degli SDK Video Capture o Media Player che forniscono flussi di lavoro predefiniti, Media Blocks offre il pieno controllo su ogni fase della pipeline multimediale, rendendolo ideale per scenari personalizzati o complessi.
Come si costruisce una pipeline multimediale in C#?
Come si costruisce una pipeline multimediale in C#?
Create un'istanza di MediaBlocksPipeline, aggiungete blocchi sorgente (file, telecamera, RTSP, cattura schermo), collegate blocchi di elaborazione (encoder, effetti, overlay) e associate blocchi di uscita (file, renderer, flusso di rete). Chiamate StartAsync() per avviare l'esecuzione. L'SDK gestisce automaticamente threading, sincronizzazione e accelerazione hardware.
Media Blocks SDK funziona su macOS, Linux e piattaforme mobili?
Media Blocks SDK funziona su macOS, Linux e piattaforme mobili?
Sì. Media Blocks SDK supporta Windows, macOS 12+, Ubuntu 22.04/24.04, Android 8+ e iOS 12+. Funziona con WinForms, WPF, MAUI, Uno Platform, Avalonia e Xamarin. Lo stesso codice della pipeline funziona su tutte le piattaforme con rendering e accelerazione hardware specifici per ogni piattaforma.
Posso trasmettere video in streaming tramite RTMP, RTSP o HLS?
Posso trasmettere video in streaming tramite RTMP, RTSP o HLS?
Sì. L'SDK include blocchi di uscita streaming dedicati per RTMP (YouTube Live, Facebook Live), server RTSP, HLS, SRT, NDI e Shoutcast. È possibile combinare lo streaming con la registrazione locale e l'anteprima utilizzando blocchi Tee per suddividere la pipeline in più uscite.
La codifica e la decodifica accelerate da GPU sono supportate?
La codifica e la decodifica accelerate da GPU sono supportate?
Sì. Media Blocks SDK supporta la codifica con accelerazione hardware tramite NVIDIA NVENC, Intel Quick Sync e AMD AMF, nonché la decodifica hardware. Sulle piattaforme mobili, i codec hardware di iOS e Android vengono utilizzati automaticamente. Questo consente l'elaborazione 4K in tempo reale con un utilizzo minimo della CPU.
Posso utilizzare telecamere industriali (GigE Vision, USB3 Vision) e Blackmagic Decklink?
Posso utilizzare telecamere industriali (GigE Vision, USB3 Vision) e Blackmagic Decklink?
Sì. L'SDK include blocchi sorgente per telecamere industriali compatibili con GenICam (Basler, Allied Vision, FLIR/Teledyne) tramite GigE Vision e USB3 Vision. I dispositivi Blackmagic Decklink sono supportati con blocchi sorgente e di uscita dedicati per l'acquisizione e l'output video professionale.
Cos'è il Live Video Compositor e in cosa si differenzia dalla costruzione manuale delle pipeline?
Cos'è il Live Video Compositor e in cosa si differenzia dalla costruzione manuale delle pipeline?
Il Live Video Compositor è un motore di composizione video in tempo reale di alto livello costruito su Media Blocks SDK. Mentre è possibile assemblare manualmente pipeline di mixaggio personalizzate con singoli blocchi, il compositor fornisce un'architettura completa per applicazioni simili a OBS pronta all'uso — includendo isolamento degli ingressi basato su bridge, compositing accelerato via GPU, gestione dinamica di sorgenti e uscite a runtime, controllo dei livelli Z-order, overlay di testo e immagini dal vivo, effetti post-composizione e metering audio VU. È ideale per costruire sistemi di commutazione multicamera, software di streaming dal vivo o strumenti di produzione broadcast in C# e .NET.
Posso usare Media Blocks SDK in Unity?
Posso usare Media Blocks SDK in Unity?
Sì. Media Blocks SDK .NET fornisce un unico .unitypackage multipiattaforma per Unity 6 che supporta Windows, Android, macOS e iOS da una singola importazione. Ottieni l'SDK completo — cattura, sorgenti, decoder ed encoder, effetti, mixaggio, registrazione e streaming — e renderizzi qualsiasi pipeline in un RawImage di Unity. Sono incluse due scene di esempio (un lettore di file multimediali e un visualizzatore live RTSP / camera IP) come punti di partenza. Consulta la documentazione Unity per la configurazione e le guide alla compilazione per piattaforma.
In cosa si differenzia dal Video Player integrato di Unity?
In cosa si differenzia dal Video Player integrato di Unity?
Il Video Player di Unity va bene per clip incorporate, ma non ha input RTSP / camera IP, un set di codec limitato e nessuna funzione di cattura o streaming. Media Blocks SDK aggiunge la riproduzione live RTSP e da camera IP, una gamma molto più ampia di formati e codec (H.264, H.265, AV1, VP8/VP9, ProRes, MJPEG e altri), cattura da dispositivi, registrazione e streaming in uscita — il tutto attraverso un'unica pipeline coerente che si comporta allo stesso modo su Windows, Android, macOS e iOS.
Posso registrare o trasmettere video da un'app Unity?
Posso registrare o trasmettere video da un'app Unity?
Sì. Dall'interno di una build Unity puoi registrare in MP4, MKV o WebM e trasmettere tramite RTMP, SRT, HLS o un server RTSP integrato, utilizzando encoder H.264 / H.265 con accelerazione hardware su mobile. Combina sorgenti, overlay e un mixer video per comporre esattamente ciò che registri o trasmetti — su desktop e mobile.
Posso costruire pipeline di analisi video AI in C#?
Posso costruire pipeline di analisi video AI in C#?
Sì. Media Blocks SDK .NET include i blocchi VisioForge.DotNet.Core.AI per OCR, ANPR, rilevamento di oggetti, analisi degli oggetti, riconoscimento facciale, rimozione dello sfondo e inferenza ONNX personalizzata. Colleghi questi blocchi all'interno della stessa MediaBlocksPipeline insieme a telecamere, flussi RTSP, renderer, encoder, uscite su file e uscite di streaming.
Il riconoscimento vocale Whisper funziona offline?
Il riconoscimento vocale Whisper funziona offline?
Sì. Il pacchetto VisioForge.DotNet.Core.AI.Whisper esegue Whisper localmente tramite il backend GGML/whisper.cpp e può utilizzare Silero VAD opzionale per la segmentazione del parlato. Può generare sottotitoli dal vivo, eventi di parlato riconosciuto e file di sottotitoli SRT o VTT separati senza inviare l'audio a un servizio cloud.
Posso usare modelli ONNX personalizzati?
Posso usare modelli ONNX personalizzati?
Sì. OnnxInferenceBlock ti consente di eseguire un modello ONNX Runtime personalizzato sui fotogrammi video e di ricevere output tensoriali grezzi per il tuo decoder o codice di post-elaborazione. Per le famiglie di rilevatori più comuni, YOLOObjectDetectorBlock gestisce già il preprocessing, la decodifica, la mappatura delle coordinate e gli overlay di YOLOX, YOLOv8 e RT-DETR.
Posso usare questi blocchi AI con VideoCaptureCoreX o MediaPlayerCoreX invece di una pipeline manuale?
Posso usare questi blocchi AI con VideoCaptureCoreX o MediaPlayerCoreX invece di una pipeline manuale?
Sì. Ogni blocco AI implementa anche le interfacce dei blocchi di elaborazione utilizzate da VideoCaptureCoreX e MediaPlayerCoreX, quindi registri le stesse istanze di blocchi con Video_Processing_AddBlock o Audio_Processing_AddBlock prima di StartAsync (cattura) oppure OpenAsync/PlayAsync (riproduzione) — senza bisogno di una MediaBlocksPipeline manuale.
