VisioForge

Media Blocks SDK .NETCréez des pipelines multimédia modulaires en C#

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.

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

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

LECTEUR SIMPLE

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.

Visualisation interactive du pipeline

Loading pipeline diagram...

LECTEUR AVANCÉ

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

Pipeline de lecteur avancé avec effets

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

APERÇU CAMÉRA

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.

Pipeline d'aperçu caméra

Loading pipeline diagram...

APERÇU RTSP

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

Pipeline de flux 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();

CAPTURE AVEC APERÇU

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.

Pipeline de capture avec aperçu

Loading pipeline diagram...

Analyse 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.

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.

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

Appliquez des incrustations de texte, des filigranes d'image et des effets vidéo post-composition de manière dynamique — aucune reconstruction du pipeline n'est nécessaire. La mesure audio VU en temps réel offre un monitoring de niveau professionnel pendant la production en direct.

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

Intégrez le Media Blocks SDK .NET complet dans Unity 6 avec un unique fichier .unitypackage prêt à importer. Construisez n'importe quel pipeline — capture, décodage et encodage, effets, mixage, enregistrement et streaming — et affichez le résultat dans un RawImage Unity. Le package fournit deux scènes d'exemple prêtes à l'emploi, un lecteur de fichiers médias et un visualiseur en direct RTSP / caméra IP, comme points de départ — et non comme limites de ce que vous pouvez construire. Un seul package cumulatif cible Windows, Android, macOS et iOS : importez une fois, changez le Build Target, et compilez.

Le SDK complet dans Unity

Il ne s'agit pas d'un simple wrapper de lecture. Vos scripts Unity ont accès à l'intégralité de l'API Media Blocks SDK .NET — capture de périphériques, types de sources multiples, décodeurs et encodeurs, effets audio et vidéo, mixage et compositing, enregistrement vers fichier et streaming réseau. Construisez le pipeline dont votre application a besoin.

Un seul package cumulatif

Les runtimes natifs Windows, Android, macOS et iOS sont fournis dans un unique fichier .unitypackage. Unity sélectionne automatiquement le bon runtime natif lorsque vous changez le Build Target.

Scènes d'exemple prêtes à l'emploi

Les scènes incluses SimplePlayer (fichier média) et RTSPViewer (caméra IP en direct) affichent un pipeline dans un RawImage via le composant réutilisable VisioForgeVideoView, avec les modes d'aspect Stretch, Letterbox et Crop — vous êtes donc opérationnel en quelques minutes.

Mobile accéléré matériellement

La lecture mobile utilise les codecs matériels de la plateforme — MediaCodec sur Android et VideoToolbox sur iOS. Les images sont chargées vers la texture GPU via un chemin à double tampon et sans allocation, pour une vidéo en direct fluide sans déchets par image.

Affichez n'importe où dans la scène

Chaque image est chargée dans une Texture2D Unity, de sorte que la vidéo n'est pas limitée à l'interface utilisateur. Affichez-la dans un RawImage, ou appliquez-la sur le matériau de n'importe quel objet 3D — écrans, panneaux d'affichage ou surfaces courbes — n'importe où dans votre scène.

Capturez, enregistrez et streamez depuis Unity

Allez au-delà de la lecture : intégrez des caméras de périphériques, des microphones et des flux IP / RTSP, enregistrez en MP4, MKV ou WebM, et diffusez via RTMP, SRT, HLS ou un serveur RTSP intégré — le tout depuis votre build Unity, sur desktop et mobile.

Plateformes prises en charge:WindowsAndroidmacOSiOS
Conçu pour:Vidéo VR / ARAffichage dynamiqueTableaux de bord et murs vidéo de caméras IPSimulation et formationVidéo intégrée au jeuStreaming et enregistrement en direct

Afficher un pipeline Media Blocks dans un RawImage Unity

C#
// In your MonoBehaviour (e.g. Start()) — the bundled native runtime
// is configured automatically before the first scene loads.
VisioForgeEnvironment.InitializeSdk();

// Build any Media Blocks pipeline. A file source is shown here;
// swap in RTSPSourceBlock, a camera, screen capture, etc.
_pipeline = new MediaBlocksPipeline();

// ignoreMediaInfoReader skips the gst-discoverer pre-probe (required under Unity).
var settings = await UniversalSourceSettings.CreateAsync(
    filePath, ignoreMediaInfoReader: true);
var source = new UniversalSourceBlock(settings);

// RGBA frames are delivered to a BufferSinkBlock...
var videoSink = new BufferSinkBlock(VideoFormatX.RGBA);
_pipeline.Connect(source.VideoOutput, videoSink.Input);
_pipeline.Connect(source.AudioOutput, new AudioRendererBlock().Input);

// ...and uploaded into a Unity Texture2D by VisioForgeVideoView,
// which handles the aspect mode and vertical flip for you.
videoSink.OnVideoFrameBuffer += _videoView.OnFrameBuffer;

await _pipeline.StartAsync();

Vérifié sur Unity 6 (6000.x). Nécessite le niveau de compatibilité d'API .NET Standard 2.1.

Voir la documentation Unity →

Référence complète des blocs, codecs et périphériques

Fonctionnalités générales

  • Aperçu Audio/Vidéo
  • Capture Vidéo et Audio vers une large gamme de formats
  • Capture d'image vers la classe Bitmap, fichiers BMP, JPEG et PNG
  • Contrôle du périphérique de capture vidéo
  • Détection de mouvement
  • Prise en charge des interfaces personnalisées
  • PIP (Picture-In-Picture)
  • Prise en charge de plusieurs écrans de sortie
  • Capture audio à partir des haut-parleurs
  • Prise en charge de la lecture et de l'écriture des balises de fichiers Audio/Vidéo

Périphériques d'entrée pris en charge

  • Webcams USB et périphériques de capture (y compris 4K)
  • Caméras/Serveurs IP JPEG/MJPEG, MPEG-4 et H.264 HTTP/RTSP/RTMP
  • Caméscopes MPEG-2 DV et HDV
  • Cartes de capture PCI
  • Tuners TV (avec/sans encodeur MPEG interne)
  • Format HD pris en charge pour les caméras IP
  • Caméras IP ONVIF avec prise en charge PTZ
  • Périphériques Blackmagic Decklink
  • Périphériques de capture audio et cartes son
  • Périphériques ASIO

Matériel professionnel

  • Prise en charge des entrées/sorties Blackmagic Decklink
  • Caméras FLIR/Teledyne (USB3Vision/GigE)
  • Caméras Basler (USB3Vision/GigE)
  • Caméscopes MPEG-2 DV et HDV
  • Cartes de capture PCI
  • Tuners TV (avec/sans encodeur MPEG intégré)
  • Caméras IP ONVIF avec prise en charge PTZ
  • Périphériques ASIO

Sources

  • Caméras Allied Vision
  • GIF animé
  • Caméras Basler (USB3Vision/GigE)
  • Karaoké CDG
  • Commutateur de repli
  • GenICam (Caméras industrielles)
  • HTTP
  • HTTP MJPEG
  • Séquence d'images
  • Fichier local
  • Tampon mémoire
  • NDI
  • PulseAudio
  • Caméra Raspberry Pi
  • RTMP
  • RTSP
  • RTSP RAW
  • Capture d'écran
  • SRT
  • Audio système
  • Vidéo système
  • Signal de test
  • UDP/RTP
  • URI (Fichier/Réseau)

Traitement Audio

  • Amplifier
  • Balance
  • Convertisseur de format d'échantillon
  • Normaliseur de charge
  • Mixeur
  • Rééchantillonneur
  • Captureur d'échantillons
  • Correcteur d'horodatage
  • Rejet de bande passante Chebyshev
  • Limite Chebyshev
  • Compresseur/Expanseur
  • Filtre Csound
  • Niveau EBU R128
  • Écho
  • Égaliseur (10 bandes)
  • Égaliseur (Paramétrique)
  • Rendu HRTF
  • Karaoké
  • Supprimer le silence
  • Réverbération
  • Échelle/Tempo
  • Volume
  • VU-mètre
  • Stéréo large

Lecteur de codes-barres

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

Encodeurs Audio

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

Encodeurs Vidéo (CPU/GPU)

  • AV1
  • DV
  • GIF
  • H.264
  • H.265/HEVC
  • MJPEG
  • MPEG-2
  • MPEG-4
  • PNG
  • Theora
  • VP8/VP9 (VPX)
  • WMV (Windows Media Video)
  • Prise en charge des encodeurs matériels NVENC, AMD, Intel
  • Prise en charge des encodeurs matériels iOS/macOS/Android

Traitement Vidéo

  • Vieillissement
  • Combinaison Alpha
  • Désentrelacement automatique
  • Bayer vers RGB
  • Incrustation chromatique
  • Démultiplexage Alpha Codec
  • Effets de couleur
  • Désentrelacement
  • Dés
  • Détection de contour
  • Fish Eye
  • Retourner/Pivoter
  • Gamma
  • Flou gaussien
  • Niveaux de gris
  • Superposition d'image
  • Superposition d'image Cairo
  • Entrelacement
  • Détecteur d'image clé
  • Processeur LUT
  • Miroir
  • Flou de mouvement
  • Écho de mouvement
  • Écho de zoom de mouvement
  • Animation optique N&B
  • Gestionnaire de superposition
  • Perspective
  • Pincement
  • Pseudo 3D
  • Superposition de code QR
  • Redimensionner
  • Captureur d'échantillons
  • Contour Sobel
  • Sphère
  • Carré
  • Étirement
  • Superposition de texte
  • Tunnel
  • Tourbillon
  • Balance vidéo
  • Convertisseur de format de pixel
  • Mixeur vidéo
  • Miroir déformé
  • Ondulation de l'eau
  • Boîte de zoom

Destinations de fichiers

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

Streaming réseau

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

Blackmagic Decklink

  • Destination Audio
  • Source Audio
  • Destination Vidéo
  • Source Vidéo

Visualiseurs Audio

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

Décodeurs Vidéo

  • Décodeur AV1
  • Décodeur H.264
  • Décodeur HEVC
  • Décodeur JPEG
  • Décodeur VP8
  • Décodeur VP9
  • Décodeurs accélérés NVIDIA, Intel et AMD
  • Décodeurs matériels Android
  • Décodeurs matériels iOS

Blocs Spéciaux

  • Détecteur de codes-barres
  • Processeur de données
  • Captureur d'échantillons de données
  • Horodatage de débogage
  • Déchiffreur
  • Chiffreur
  • File d'attente multiple
  • Rendu nul
  • File d'attente
  • Déchiffreur SRTP
  • Chiffreur SRTP
  • Tee (Séparateur)

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.MediaBlocks

Ou recherchez VisioForge.DotNet.MediaBlocks dans le gestionnaire de packages NuGet de Visual Studio. Voir le guide d'installation →

Tarification

Choisissez entre un abonnement annuel ou une licence à vie

Licence Régulière

€500an
  • Mises à jour mineures et majeures gratuites pendant un an
  • Le SDK continue de fonctionner après la fin de l'abonnement
  • Support prioritaire
  • Renouvellement automatique annuel (annulable à tout moment)
  • Tous les 200+ blocs de traitement inclus
MEILLEURE VALEUR

Licence à Vie

€1,500/ unique
Acheter la Licence à Vie
  • Mises à jour illimitées pour toujours
  • Support prioritaire et correctifs
  • 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.

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 source

💰 Économisez plus avec les packs Bundle

Ce produit est inclus dans nos packs bundle économiques. Obtenez plus de produits et économisez jusqu'à 71% !

.NET Bundle Professional

Annuel:€700.00
À vie:€1800.00

Économisez jusqu'à 71%

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

Annuel:€1000.00
À vie:€2500.00

Économisez jusqu'à 70%

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

Configuration Requise

Exigences minimales pour le développement et le déploiement sur les plateformes

Systèmes d'Exploitation
  • Windows 10 / 11 (32 bits et 64 bits)
  • Windows 8/8.1, Windows 7 SP1
  • Windows Server 2016 et ultérieur
  • macOS 12 ou ultérieur
  • Ubuntu 22.04 / 24.04
  • Android 8 et ultérieur
  • iOS 12 et ultérieur
.NET Framework
  • .NET Framework 4.6.1 ou ultérieur
  • .NET Core 3.1
  • .NET 5/6/7/8/9/10
Matériel
  • Minimum 2 Go de RAM (4 Go recommandés)
  • Processeur Intel Core i5 ou équivalent AMD
  • Prise en charge de l'accélération GPU facultative (NVIDIA/Intel/AMD)
Frameworks UI
  • WinForms
  • WPF
  • WinUI 3 pour Desktop
  • Avalonia
  • GTK#
  • MAUI
  • Xamarin.Android/iOS/Mac
  • Unity

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.

Requêtes API en direct et recherche de classes
Guides d’intégration par plateforme
Recettes de déploiement multiplateforme
Documentation complète au format llms.txt

Connectez le serveur MCP

MCP

Ajoutez 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/mcp

VS Code (.vscode/mcp.json)

{ "servers": { "visioforge-sdk": { "type": "http", "url": "https://mcp.visioforge.com/mcp" } } }
Guide d’utilisation du serveur MCP

Chargez un Agent Skill

Agent Skills

Nous 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.json
Parcourez les skills et la configuration par outil

Vous 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 ?

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# ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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# ?

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 ?

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 ?

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 ?

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.