Media Blocks SDK .NET
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 WinForms, WPF, MAUI, Xamarin et Avalonia, facilitant l'intégration de capacités multimédias avancées dans les applications de bureau et mobiles.
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.MediaBlocksOr search for VisioForge.DotNet.MediaBlocks in Visual Studio's NuGet Package Manager. View installation guide →
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...
Les fonctionnalités principales de VisioForge Media Blocks SDK .Net incluent :
Fonctionnalités principales
- • 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
- • Traitement vidéo et effets (CPU/GPU)
- • Contrôle du périphérique de capture vidéo
- • Streaming réseau
- • Détection de mouvement
- • Prise en charge des interfaces personnalisées
- • API de vision par ordinateur
- • PIP (Picture-In-Picture)
- • Capture d'écran/Capture de fenêtre
- • Détection de visage et suivi d'objets
- • 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)
Tarification
Choisissez entre un abonnement annuel ou une licence à vie
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 prioritaire
- Renouvellement automatique annuel (annulable à tout moment)
- Tous les 200+ blocs de traitement inclus
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.
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
Prêt à Commencer ?
Téléchargez l'essai gratuit et commencez à construire votre pipeline multimédia dès aujourd'hui
