Media Blocks SDK .NET — Créez des pipelines multimédia modulaires en C#
Construisez des pipelines vidéo à partir de blocs en C# — caméra, codec, effet, sortie — avec enregistrement en MP4, MKV ou AVI et diffusion via HLS, RTMP ou RTSP.
À partir de €500/an · licence Lifetime à partir de €1,500
Créez des applications multimédias puissantes facilement et de manière flexible avec Media Blocks SDK .NET — une boîte à outils modulaire qui vous permet de construire des flux de travail vidéo complexes comme un constructeur visuel (caméra → codec → sortie). Il prend en charge l'enregistrement en MP4, MKV et AVI, ainsi que le streaming via HLS, RTMP et RTSP, offrant un riche ensemble d'effets incluant la correction des couleurs, le désentrelacement, les filigranes, la capture d'écran et le traitement audio. Avec la vision par ordinateur intégrée, la reconnaissance de code QR, le suivi de visage et la prise en charge complète des périphériques Blackmagic et ONVIF, il apporte des fonctionnalités de qualité professionnelle à tout projet. Le SDK fonctionne de manière transparente avec Unity, WinForms, WPF, MAUI, Uno Platform, Xamarin et Avalonia, facilitant l'intégration de capacités multimédias avancées dans les applications de bureau, mobiles et pour moteurs de jeu.
Vous voulez un composant prêt à l'emploi plutôt qu'un pipeline à assembler vous-même ? Video Capture SDK .NET · Media Player SDK .NET · Video Edit SDK .NET
Avantages Clés
Architecture modulaire
Plus de 200 blocs de traitement qui se connectent comme des briques pour créer des pipelines multimédias personnalisés
Multiplateforme
Fonctionne sur Windows, macOS, Linux, Android et iOS avec tous les principaux frameworks d'interface utilisateur .NET
Accélération matérielle
Encodage/décodage accéléré par GPU avec prise en charge NVIDIA, Intel et AMD pour des performances maximales
Media Blocks SDK .NET est la couche pipeline de la pile .NET de VisioForge : au lieu de configurer un composant prêt à l'emploi, vous assemblez une application à partir de blocs individuels — une source, autant de blocs de traitement que nécessaire et un ou plusieurs sinks — que vous reliez avec MediaBlocksPipeline.Connect. Les plus de 200 blocs couvrent les sources fichier et webcam, les caméras IP RTSP et ONVIF avec PTZ, Blackmagic DeckLink, les caméras industrielles Basler et FLIR, la correction colorimétrique, le désentrelacement, l'incrustation chroma, les superpositions et le traitement audio, l'inférence IA, l'enregistrement en MP4, MKV, MOV, WebM, MPEG-TS et MXF, ainsi que la diffusion en HLS, RTMP, RTSP, SRT et NDI. Un seul pipeline peut enregistrer, diffuser et afficher un aperçu en même temps en divisant le flux via un TeeBlock. Le SDK s'installe depuis le paquet NuGet VisioForge.DotNet.MediaBlocks et fonctionne sous Windows, macOS, Linux, Android et iOS avec WinForms, WPF, MAUI, Uno Platform, Avalonia et Unity.
Exemples de Pipeline
LECTEUR SIMPLE
C#Le pipeline de lecteur simple utilise le UniversalSourceBlock pour lire et décoder le fichier source, le VideoRendererBlock pour afficher la vidéo et le AudioRendererBlock pour lire 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();LECTEUR AVANCÉ
C#Le pipeline de lecteur avancé comprend le UniversalSourceBlock pour décoder les fichiers ou les flux, les rendus vidéo et audio, et les blocs de traitement d'effets.
// 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();APERÇU CAMÉRA
C#Le pipeline d'aperçu simple caméra/microphone contient des blocs source de périphérique et des blocs de rendu vidéo/audio. Les périphériques par défaut seront utilisés.
// 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();APERÇU RTSP
C#Le pipeline d'aperçu RTSP, qui comprend le bloc source RTSP (avec décodeurs à l'intérieur), les rendus vidéo et 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();CAPTURE AVEC APERÇU
C#Le pipeline de capture a deux blocs tee qui sont utilisés pour diviser les flux vidéo et audio, permettant l'aperçu vidéo/audio avec la capture vidéo.
// 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();Tarification
Choisissez entre un abonnement annuel ou une licence à vie
Media Blocks SDK .NET est sous licence par développeur, sous deux formes. La Regular License coûte 500 € par an, se renouvelle automatiquement, inclut toutes les mises à niveau mineures et majeures publiées pendant l'année, et le SDK continue de fonctionner après la fin de l'abonnement — vous cessez simplement de recevoir de nouvelles versions. La Lifetime·Team License est un paiement unique de 1 500 € et comprend les mises à jour mineures et majeures, ainsi que toutes les fonctionnalités futures, pendant toute la durée de vie du produit. Les deux incluent l'ensemble des plus de 200 blocs de traitement, le support par e-mail et des droits de distribution libres de redevances : aucune redevance d'exécution n'est due pour les applications que vous livrez. L'usage non commercial est gratuit sur demande, et une licence de code source est disponible sur demande. La licence annuelle se règle par carte bancaire ou par virement et SEPA ; la licence à vie se règle par carte. Si un projet nécessite plus d'un SDK VisioForge, les offres groupées .NET coûtent moins cher que les mêmes produits achetés séparément.
Licence Régulière
- Mises à jour mineures et majeures gratuites pendant un an
- Le SDK continue de fonctionner après la fin de l'abonnement
- Support par e-mail
- Renouvellement automatique annuel (annulable à tout moment)
- Tous les 200+ blocs de traitement inclus
Licence Lifetime·Team
- Mises à jour mineures et majeures pendant la vie du produit
- Support par e-mail
- Paiement unique
- Toutes les fonctionnalités futures incluses
- Tous les 200+ blocs de traitement inclus
Gratuit pour une utilisation non commerciale. Veuillez nous contacter pour obtenir une licence gratuite.
Toutes les licences incluent des droits de distribution libres de droits.
💰 Économisez plus avec les packs Bundle
Ce produit est inclus dans nos packs bundle économiques. Obtenez plus de produits pour moins cher qu'en les achetant séparément.
.NET Bundle Professional
Comprend:
- •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
Comprend:
- •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
Licence de code source
La licence de code source est disponible sur demande pour ce SDK. Contactez notre équipe commerciale pour discuter des tarifs et des conditions de licence.
Demander une licence de code sourceAnalyse Vidéo par IA et Reconnaissance Vocale
Ajoutez l'inférence par IA, l'anonymisation de la confidentialité, la détection à vocabulaire ouvert, la compréhension vision-langage, la recherche sémantique et la reconnaissance vocale directement dans les pipelines Media Blocks SDK .NET.
Media Blocks SDK .NET ajoute des blocs de traitement par IA directement dans les pipelines multimédias C# grâce à VisioForge.DotNet.Core.AI et VisioForge.DotNet.Core.AI.Whisper. Les développeurs peuvent insérer l'OCR, la reconnaissance de plaques d'immatriculation, la détection d'objets YOLO/RT-DETR/à vocabulaire ouvert, l'analyse d'objets ByteTrack, la reconnaissance faciale, l'anonymisation automatique des informations personnelles, la suppression d'arrière-plan, le sous-titrage vision-langage, l'indexation vidéo/la recherche sémantique et l'inférence ONNX personnalisée entre les sources, rendus, encodeurs et sorties de streaming existants. Les blocs basés sur ONNX Runtime peuvent s'exécuter sur le CPU ou sur des fournisseurs matériels tels que CUDA, DirectML et CoreML lorsque le runtime correspondant est disponible, tandis que la transcription vocale Whisper s'exécute localement via GGML/whisper.cpp avec un Silero VAD optionnel pour obtenir des segments nets. Les fichiers de modèles d'IA sont fournis ou téléchargés par l'application, de sorte que les équipes gardent le contrôle sur le choix du modèle et la licence. Le résultat est un SDK vidéo IA .NET modulaire permettant de créer de la vidéo OCR consultable, des systèmes ANPR, du comptage de personnes, de l'analyse par lignes de franchissement, de l'anonymisation respectueuse de la confidentialité, de la recherche vidéo en langage naturel, des sous-titres en direct et l'export SRT/VTT sans quitter le modèle de pipeline Media Blocks.
Parcourir les blocs IA
OCR et ANPR
Reconnaissez du texte et des plaques d'immatriculation dans la vidéo en direct ou les fichiers grâce aux blocs ONNX basés sur PaddleOCR et à des événements de détection structurés.
Détection et Analyse d'Objets
Exécutez des modèles YOLOX, YOLOv8 ou RT-DETR, puis ajoutez des identifiants ByteTrack, des franchissements de lignes, des zones polygonales, des compteurs et des overlays.
Reconnaissance Faciale
Détectez des visages, enregistrez des identités, comparez-les à une FaceGallery et dessinez les personnes reconnues dans le flux vidéo.
Suppression d'Arrière-plan
Utilisez des modèles de matting ONNX pour le flou d'arrière-plan, le remplacement par couleur unie, le remplacement par image ou une sortie RGBA transparente.
Inférence ONNX Personnalisée
Attachez votre propre modèle ONNX aux images vidéo et recevez des sorties de tenseurs brutes pour un post-traitement spécifique à votre application.
Sous-titres Whisper Hors-ligne
Transcrivez l'audio localement avec Whisper, segmentez la parole avec Silero VAD, affichez des sous-titres en direct ou écrivez des fichiers SRT/VTT.
Anonymisation des Informations Personnelles
Floutez, pixellisez ou masquez automatiquement par un aplat les visages, les plaques d'immatriculation et le texte à l'écran, avec un filtrage regex optionnel pour les emails et les numéros de téléphone.
Détection à Vocabulaire Ouvert et Compréhension Vision-Langage
Détectez des objets à partir d'une invite en texte libre avec OWLv2 ou Grounding DINO au lieu d'une liste de classes fixe, ou utilisez un bloc vision-langage Florence-2 pour le sous-titrage d'images, l'OCR et l'ancrage de phrases — modifiez les invites et les seuils de confiance à l'exécution.
Recherche Vidéo Sémantique
Construisez un index d'embeddings basé sur CLIP pendant le traitement vidéo, puis interrogez-le avec des requêtes en langage naturel pour trouver les images correspondantes.
Les mêmes instances de blocs se branchent aussi directement sur VideoCaptureCoreX et MediaPlayerCoreX via Video_Processing_AddBlock/Audio_Processing_AddBlock — aucun MediaBlocksPipeline manuel n'est nécessaire. Consultez les fonctionnalités IA sur les pages Video Capture SDK .NET et Media Player SDK .NET.
Live Video Compositor
Développez un logiciel de production vidéo en direct similaire à OBS avec le Live Video Compositor — un moteur de composition vidéo en temps réel à entrées et sorties multiples, construit sur Media Blocks SDK .NET. Ajoutez et supprimez dynamiquement des caméras, des captures d'écran, des fichiers médias, des flux RTSP/caméras IP et des sources NDI en tant qu'entrées superposées, mixez-les avec un rendu accéléré par GPU et diffusez simultanément vers des fichiers d'enregistrement et des plateformes de streaming en direct. Conçu pour la commutation multicaméra, les dispositions picture-in-picture, les overlays en direct et le mixage audio de qualité broadcast — le tout entièrement contrôlable depuis du code C# à l'exécution.
Le Live Video Compositor est un moteur de composition multi-entrées et multi-sorties bâti sur le même modèle de pipeline. Vous le créez avec une taille de canevas et une cadence — LiveVideoCompositorSettings(1920, 1080, new VideoFrameRate(25)) — puis vous ajoutez chaque source comme entrée avec son propre rectangle de destination et son ordre de superposition : une caméra en arrière-plan plein écran, une capture d'écran en incrustation, un fichier média, une caméra RTSP ou un flux NDI. Les entrées et les sorties s'ajoutent et se retirent avec Input_AddAsync et Output_AddAsync pendant que la composition tourne, et chaque entrée s'exécute dans son propre pipeline isolé, de sorte qu'une source défaillante n'arrête pas les autres. Les couches sont mixées par un rendu OpenGL accéléré par GPU avec repli CPU, et le résultat peut partir vers plusieurs destinations à la fois — un enregistrement MP4 ou WebM, un direct YouTube ou Facebook, une carte DeckLink et un aperçu à l'écran.
Entrées et sorties dynamiques
Ajoutez ou supprimez des sources vidéo et audio ainsi que des destinations de sortie à tout moment — même lorsque le compositeur est en cours d'exécution. Chaque entrée fonctionne dans son propre pipeline isolé, de sorte qu'une source défaillante ne perturbe jamais l'ensemble de la composition.
Mixage accéléré par GPU
Composez plusieurs couches vidéo en temps réel grâce au rendu multiplateforme accéléré par GPU (OpenGL) ou au repli CPU. Positionnez chaque source avec des rectangles au pixel près, contrôlez l'empilement Z-order et choisissez parmi les modes de redimensionnement letterbox, stretch ou fill.
Enregistrement + Streaming + Aperçu
Diffusez vers plusieurs destinations simultanément — enregistrez en MP4 ou WebM, streamez en direct sur YouTube et Facebook, envoyez la vidéo vers du matériel Decklink et affichez un aperçu à l'écran — le tout depuis une seule instance du compositeur fonctionnant en temps réel.
Overlays en direct et effets
La version d’essai entièrement fonctionnelle dure 30 jours. Selon le moteur du SDK et la sortie, elle peut afficher un filigrane ou un avis de produit non enregistré.
Configuration du Live Video Compositor en 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);Le Live Video Compositor fonctionne avec toutes les sources d'entrée et formats de sortie pris en charge par Media Blocks SDK .NET, y compris les caméras, la capture d'écran, les fichiers médias, les caméras RTSP/IP, NDI, Decklink ainsi que toutes les sorties d'enregistrement et de streaming.
Prise en charge d'Unity
Media Blocks est livré sous la forme d'un unique .unitypackage cumulatif pour Unity 6, avec des scènes d'exemple pour un lecteur de fichier média et un visualiseur RTSP en direct, et cible Windows, Android, macOS et iOS depuis un seul import.
Media Blocks face aux alternatives
Comparaisons côte à côte avec les bibliothèques et SDK que les équipes évaluent généralement en parallèle.
Référence complète des blocs, codecs et périphériques
Chaque bloc, codec, conteneur et périphérique pris en charge par le SDK — sources, encodeurs, décodeurs, filtres, sinks et matériel — figure sur une page de référence distincte.
Ouvrir la référence complète des blocs →Installation
Installation rapide avec NuGet
Installez le SDK directement dans votre projet à l'aide de la console du gestionnaire de packages :
Install-Package VisioForge.DotNet.MediaBlocksOu recherchez VisioForge.DotNet.MediaBlocks dans le gestionnaire de packages NuGet de Visual Studio. Voir le guide d'installation →
Configuration Requise
Exigences minimales pour le développement et le déploiement sur les plateformes
| Systèmes d'Exploitation |
|
| .NET Framework |
|
| Matériel |
|
| Frameworks UI |
|
Documentation et Ressources
Tout ce dont vous avez besoin pour commencer avec Media Blocks SDK
Développez avec des agents de codage IA
Vous codez avec un agent IA — Claude Code, Cursor, GitHub Copilot, Gemini CLI, OpenAI Codex ? VisioForge publie des surfaces lisibles par machine pour Media Blocks SDK .NET afin que votre agent réussisse l’intégration du premier coup : les bons paquets NuGet, l’enregistrement de licence, la configuration du projet et les détails de déploiement multiplateforme qu’il devrait sinon deviner.
Connectez le serveur MCP
MCPAjoutez le serveur MCP de VisioForge à votre agent pour une aide contextuelle : rechercher dans l’API, consulter les classes et les membres, récupérer des exemples de code fonctionnels et obtenir des guides de déploiement, directement dans votre éditeur.
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"
}
}
}Chargez un Agent Skill
Agent SkillsNous publions un skill téléchargeable pour chaque combinaison (SDK, plateforme) — pour Media Blocks SDK .NET, un SKILL.md prêt à l’emploi par plateforme (quels paquets NuGet, code de licence, configuration du csproj, pièges courants) ainsi qu’un projet d’exemple fonctionnel que votre agent peut copier. Compatible avec Claude Code, Cursor, OpenAI Codex, Gemini CLI et plus de 30 autres agents (Cloudflare Agent Skills RFC).
Pointez votre agent vers l’index des skills
https://www.visioforge.com/.well-known/agent-skills/index.jsonVous préférez fournir toute la documentation à votre agent ? Elle est aussi disponible en markdown brut : /llms.txt · /llms-full.txt
Prêt à Commencer ?
Téléchargez l'essai gratuit et commencez à construire votre pipeline multimédia dès aujourd'hui
Questions fréquemment posées
Qu'est-ce que Media Blocks SDK et en quoi diffère-t-il des autres SDKs VisioForge ?
Qu'est-ce que Media Blocks SDK et en quoi diffère-t-il des autres SDKs VisioForge ?
Media Blocks SDK utilise une architecture de pipeline modulaire où vous connectez des blocs de traitement individuels (sources, encodeurs, effets, sorties) comme des blocs de construction. Contrairement aux SDKs Video Capture ou Media Player qui fournissent des flux de travail prêts à l'emploi, Media Blocks vous donne un contrôle total sur chaque étape du pipeline multimédia, ce qui le rend idéal pour les scénarios personnalisés ou complexes.
Comment construire un pipeline multimédia en C# ?
Comment construire un pipeline multimédia en C# ?
Créez une instance de MediaBlocksPipeline, ajoutez des blocs source (fichier, caméra, RTSP, capture d'écran), connectez des blocs de traitement (encodeurs, effets, overlays) et attachez des blocs de sortie (fichier, rendu, flux réseau). Appelez StartAsync() pour lancer l'exécution. Le SDK gère automatiquement le threading, la synchronisation et l'accélération matérielle.
Media Blocks SDK fonctionne-t-il sur macOS, Linux et les plateformes mobiles ?
Media Blocks SDK fonctionne-t-il sur macOS, Linux et les plateformes mobiles ?
Oui. Media Blocks SDK prend en charge Windows, macOS 12+, Ubuntu 22.04/24.04, Android 8+ et iOS 12+. Il fonctionne avec WinForms, WPF, MAUI, Uno Platform, Avalonia et Xamarin. Le même code de pipeline s'exécute sur toutes les plateformes avec un rendu et une accélération matérielle spécifiques à chaque plateforme.
Puis-je diffuser de la vidéo via RTMP, RTSP ou HLS ?
Puis-je diffuser de la vidéo via RTMP, RTSP ou HLS ?
Oui. Le SDK inclut des blocs de sortie de streaming dédiés pour RTMP (YouTube Live, Facebook Live), serveur RTSP, HLS, SRT, NDI et Shoutcast. Vous pouvez combiner le streaming avec l'enregistrement local et la prévisualisation en utilisant des blocs Tee pour diviser le pipeline en plusieurs sorties.
L'encodage et le décodage accélérés par GPU sont-ils pris en charge ?
L'encodage et le décodage accélérés par GPU sont-ils pris en charge ?
Oui. Media Blocks SDK prend en charge l'encodage accéléré par matériel via NVIDIA NVENC, Intel Quick Sync et AMD AMF, ainsi que le décodage matériel. Sur les plateformes mobiles, les codecs matériels iOS et Android sont utilisés automatiquement. Cela permet le traitement 4K en temps réel avec une utilisation minimale du CPU.
Puis-je utiliser des caméras industrielles (GigE Vision, USB3 Vision) et Blackmagic Decklink ?
Puis-je utiliser des caméras industrielles (GigE Vision, USB3 Vision) et Blackmagic Decklink ?
Oui. Le SDK inclut des blocs source pour les caméras industrielles compatibles GenICam (Basler, Allied Vision, FLIR/Teledyne) via GigE Vision et USB3 Vision. Les appareils Blackmagic Decklink sont pris en charge avec des blocs source et de sortie dédiés pour la capture et la sortie vidéo professionnelles.
Qu'est-ce que le Live Video Compositor et en quoi diffère-t-il de la construction manuelle de pipelines ?
Qu'est-ce que le Live Video Compositor et en quoi diffère-t-il de la construction manuelle de pipelines ?
Le Live Video Compositor est un moteur de composition vidéo en temps réel de haut niveau construit sur Media Blocks SDK. Alors que vous pouvez assembler manuellement des pipelines de mixage personnalisés avec des blocs individuels, le compositeur fournit une architecture complète pour les applications de type OBS clé en main — incluant l'isolation des entrées par bridges, le compositing accéléré par GPU, la gestion dynamique des sources et sorties à l'exécution, le contrôle des couches Z-order, les overlays de texte et d'image en direct, les effets post-composition et la mesure audio VU. Il est idéal pour créer des systèmes de commutation multicaméra, des logiciels de streaming en direct ou des outils de production broadcast en C# et .NET.
Puis-je utiliser Media Blocks SDK dans Unity ?
Puis-je utiliser Media Blocks SDK dans Unity ?
Oui. Media Blocks SDK .NET fournit un unique fichier .unitypackage multiplateforme pour Unity 6 qui cible Windows, Android, macOS et iOS à partir d'un seul import. Vous obtenez le SDK complet — capture, sources, décodeurs et encodeurs, effets, mixage, enregistrement et streaming — et affichez n'importe quel pipeline dans un RawImage Unity. Deux scènes d'exemple (un lecteur de fichiers médias et un visualiseur en direct RTSP / caméra IP) sont incluses comme points de départ. Consultez la documentation Unity pour la configuration et les guides de compilation par plateforme.
En quoi cela diffère-t-il du Video Player intégré à Unity ?
En quoi cela diffère-t-il du Video Player intégré à Unity ?
Le Video Player d'Unity convient aux clips intégrés, mais il n'offre pas d'entrée RTSP / caméra IP, dispose d'un ensemble de codecs limité et ne permet ni capture ni streaming. Media Blocks SDK ajoute la lecture RTSP et caméra IP en direct, une gamme bien plus large de formats et de codecs (H.264, H.265, AV1, VP8/VP9, ProRes, MJPEG et plus), la capture de périphériques, l'enregistrement et le streaming sortant — le tout via un pipeline cohérent qui se comporte de la même manière sur Windows, Android, macOS et iOS.
Puis-je enregistrer ou streamer de la vidéo depuis une application Unity ?
Puis-je enregistrer ou streamer de la vidéo depuis une application Unity ?
Oui. Depuis un build Unity, vous pouvez enregistrer en MP4, MKV ou WebM et diffuser via RTMP, SRT, HLS ou un serveur RTSP intégré, en utilisant les encodeurs H.264 / H.265 accélérés matériellement sur mobile. Combinez sources, overlays et un mixeur vidéo pour composer exactement ce que vous enregistrez ou streamez — sur desktop et mobile.
Puis-je créer des pipelines d'analyse vidéo par IA en C# ?
Puis-je créer des pipelines d'analyse vidéo par IA en C# ?
Oui. Media Blocks SDK .NET inclut des blocs VisioForge.DotNet.Core.AI pour l'OCR, l'ANPR, la détection d'objets, l'analyse d'objets, la reconnaissance faciale, la suppression d'arrière-plan et l'inférence ONNX personnalisée. Vous connectez ces blocs au sein du même MediaBlocksPipeline que les caméras, les flux RTSP, les rendus, les encodeurs, les sorties fichier et les sorties de streaming.
La transcription vocale Whisper fonctionne-t-elle hors-ligne ?
La transcription vocale Whisper fonctionne-t-elle hors-ligne ?
Oui. Le package VisioForge.DotNet.Core.AI.Whisper exécute Whisper localement via le backend GGML/whisper.cpp et peut utiliser un Silero VAD optionnel pour la segmentation de la parole. Il peut générer des sous-titres en direct, des événements de parole reconnue et des fichiers de sous-titres SRT ou VTT annexes sans envoyer l'audio vers un service cloud.
Puis-je utiliser des modèles ONNX personnalisés ?
Puis-je utiliser des modèles ONNX personnalisés ?
Oui. OnnxInferenceBlock vous permet d'exécuter un modèle ONNX Runtime personnalisé sur les images vidéo et de recevoir des sorties de tenseurs brutes pour votre propre décodeur ou code de post-traitement. Pour les familles de détecteurs courantes, YOLOObjectDetectorBlock gère déjà le prétraitement, le décodage, le mappage des coordonnées et les overlays pour YOLOX, YOLOv8 et RT-DETR.
Puis-je utiliser ces blocs IA avec VideoCaptureCoreX ou MediaPlayerCoreX au lieu d'un pipeline manuel ?
Puis-je utiliser ces blocs IA avec VideoCaptureCoreX ou MediaPlayerCoreX au lieu d'un pipeline manuel ?
Oui. Chaque bloc IA implémente également les interfaces de bloc de traitement utilisées par VideoCaptureCoreX et MediaPlayerCoreX, de sorte que vous enregistrez les mêmes instances de blocs avec Video_Processing_AddBlock ou Audio_Processing_AddBlock avant StartAsync (capture) ou OpenAsync/PlayAsync (lecture) — aucun MediaBlocksPipeline manuel n'est nécessaire.
