Media Blocks SDK .NET
Erstellen Sie leistungsstarke Multimedia-Anwendungen einfach und flexibel mit Media Blocks SDK .NET — ein modularer Werkzeugkasten, der es Ihnen ermöglicht, komplexe Video-Workflows wie einen visuellen Konstruktor (Kamera → Codec → Ausgang) zu erstellen. Es unterstützt das Aufzeichnen in MP4, MKV und AVI sowie das Streaming über HLS, RTMP und RTSP und bietet eine reiche Auswahl an Effekten, einschließlich Farbkorrektur, Deinterlacing, Wasserzeichen, Bildschirmaufnahme und Audiobearbeitung. Mit eingebauten Funktionen für Computer Vision, QR-Code-Erkennung, Gesichtserkennung und voller Unterstützung für Blackmagic- und ONVIF-Geräte bringt es professionelle Funktionen in jedes Projekt. Das SDK arbeitet nahtlos mit WinForms, WPF, MAUI, Xamarin und Avalonia und macht es einfach, fortschrittliche Medienfunktionen in Desktop- und mobilen Apps zu integrieren.
Installation
Schnelle Installation mit NuGet
Installieren Sie das SDK direkt in Ihrem Projekt über die Package Manager-Konsole:
Install-Package VisioForge.DotNet.MediaBlocks
Or search for VisioForge.DotNet.MediaBlocks in Visual Studio's NuGet Package Manager. View installation guide →
Hauptvorteile
Modulare Architektur
200+ Verarbeitungsblöcke, die sich wie Bausteine verbinden lassen, um individuelle Medien-Pipelines zu erstellen
Plattformübergreifend
Funktioniert unter Windows, macOS, Linux, Android und iOS mit allen wichtigen .NET UI-Frameworks
Hardware-Beschleunigung
GPU-beschleunigtes Encoding/Decoding mit NVIDIA-, Intel- und AMD-Unterstützung für maximale Leistung
Pipeline-Beispiele
// 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();
EINFACHER PLAYER
Die einfache Player-Pipeline verwendet den UniversalSourceBlock zum Lesen und Dekodieren der Quelldatei, den VideoRendererBlock zur Anzeige von Video und den AudioRendererBlock zur Wiedergabe von Audio.
Interaktive Pipeline-Visualisierung
Loading pipeline diagram...
ERWEITERTER PLAYER
Die erweiterte Player-Pipeline umfasst den UniversalSourceBlock zum Dekodieren von Dateien oder Streams, Video- und Audio-Renderer sowie Effektverarbeitungsblöcke.
// 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();
Erweiterte Player-Pipeline mit Effekten
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();
KAMERA-VORSCHAU
Die einfache Kamera-/Mikrofon-Vorschau-Pipeline enthält Gerätequellenblöcke und Video-/Audio-Renderer-Blöcke.
Standardgeräte werden verwendet.
Kamera-Vorschau-Pipeline
Loading pipeline diagram...
RTSP-VORSCHAU
Die RTSP-Vorschau-Pipeline, die den RTSP-Quellblock (mit internen Decodern), Video- und Audio-Renderer umfasst.
// 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();
RTSP-Stream-Pipeline
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();
AUFNAHME MIT VORSCHAU
Die Aufnahme-Pipeline hat zwei Tee-Blöcke, die verwendet werden, um Video- und Audioströme zu teilen, wodurch Video-/Audio-Vorschau zusammen mit Videoaufnahme ermöglicht wird.
Aufnahme mit Vorschau-Pipeline
Loading pipeline diagram...
Die wichtigsten Funktionen von VisioForge Media Blocks SDK .Net umfassen:
Kernfunktionen
- • Audio-/Video-Vorschau
- • Video- und Audioaufnahme in einer Vielzahl von Formaten
- • Frame-Erfassung in Bitmap-Klasse, BMP-, JPEG- und PNG-Dateien
- • Videoverarbeitung und Effekte (CPU/GPU)
- • Steuerung von Videoaufnahmegeräten
- • Netzwerk-Streaming
- • Bewegungserkennung
- • Unterstützung benutzerdefinierter Schnittstellen
- • Computer Vision API
- • PIP (Bild-in-Bild)
- • Bildschirmaufnahme/Fensteraufnahme
- • Gesichtserkennung und Objektverfolgung
- • Unterstützung mehrerer Ausgabebildschirme
- • Audioaufnahme von Lautsprechern
- • Unterstützung für das Lesen und Schreiben von Audio-/Video-Datei-Tags
Unterstützte Eingabegeräte
- • USB-Webcams und Capture-Geräte (inkl. 4K)
- • JPEG/MJPEG, MPEG-4 und H.264 HTTP/RTSP/RTMP IP-Kameras/Server
- • DV und HDV MPEG-2 Camcorder
- • PCI Capture-Karten
- • TV-Tuner (mit/ohne internem MPEG-Encoder)
- • HD-Format unterstützt für IP-Kameras
- • ONVIF IP-Kameras mit PTZ-Unterstützung
- • Blackmagic Decklink Geräte
- • Audioaufnahmegeräte und Soundkarten
- • ASIO-Geräte
Professionelle Hardware
- • Blackmagic Decklink Ein-/Ausgabe-Unterstützung
- • FLIR/Teledyne Kameras (USB3Vision/GigE)
- • Basler Kameras (USB3Vision/GigE)
- • DV und HDV MPEG-2 Camcorder
- • PCI Capture-Karten
- • TV-Tuner (mit/ohne MPEG-Encoder)
- • ONVIF IP-Kameras mit PTZ-Unterstützung
- • ASIO-Geräte
Quellen
- • Allied Vision Kameras
- • Animiertes GIF
- • Basler Kameras (USB3Vision/GigE)
- • CDG Karaoke
- • Fallback-Schalter
- • GenICam (Industriekameras)
- • HTTP
- • HTTP MJPEG
- • Bildsequenz
- • Lokale Datei
- • Speicherpuffer
- • NDI
- • PulseAudio
- • Raspberry Pi Kamera
- • RTMP
- • RTSP
- • RTSP RAW
- • Bildschirmaufnahme
- • SRT
- • System-Audio
- • System-Video
- • Testsignal
- • UDP/RTP
- • URI (Datei/Netzwerk)
Audio-Verarbeitung
- • Verstärken
- • Balance
- • Sample-Format-Konverter
- • Last-Normalisierer
- • Mixer
- • Resampler
- • Sample Grabber
- • Zeitstempel-Korrektur
- • Chebyshev Band Pass Reject
- • Chebyshev Limit
- • Kompressor/Expander
- • Csound Filter
- • EBU R128 Level
- • Echo
- • Equalizer (10-Band)
- • Equalizer (Parametrisch)
- • HRTF Render
- • Karaoke
- • Stille Entfernen
- • Hall
- • Skalierung/Tempo
- • Lautstärke
- • VU Meter
- • Breites Stereo
Barcode-Leser
- • QR Code
- • UPC-A, UPC-E
- • EAN-8, EAN-13
- • Code 39
- • Code 93
- • Code 128
- • Codabar
- • ITF
- • RSS-14
- • Data Matrix
- • Aztec
- • PDF-417
Audio-Encoder
- • AAC
- • ADPCM
- • ALAW
- • AptX
- • FLAC
- • MP2
- • MP3
- • OPUS
- • Speex
- • Vorbis
- • WAV
- • Wavpack
- • WMA (Windows Media Audio)
Video-Encoder (CPU/GPU)
- • AV1
- • DV
- • GIF
- • H.264
- • H.265/HEVC
- • MJPEG
- • MPEG-2
- • MPEG-4
- • PNG
- • Theora
- • VP8/VP9 (VPX)
- • WMV (Windows Media Video)
- • NVENC, AMD, Intel Hardware-Encoder-Unterstützung
- • iOS/macOS/Android Hardware-Encoder-Unterstützung
Video-Verarbeitung
- • Alterung
- • Alpha-Kombination
- • Auto-Deinterlace
- • Bayer zu RGB
- • Chroma Key
- • Codec Alpha Demux
- • Farbeffekte
- • Deinterlace
- • Würfel
- • Kantenerkennung
- • Fischauge
- • Spiegeln/Drehen
- • Gamma
- • Gaußsche Unschärfe
- • Graustufen
- • Bildüberlagerung
- • Bildüberlagerung Cairo
- • Interlace
- • Keyframe-Detektor
- • LUT-Prozessor
- • Spiegel
- • Bewegungsunschärfe
- • Bewegungs-Echo
- • Bewegungs-Zoom-Echo
- • Optische Animation S/W
- • Overlay-Manager
- • Perspektive
- • Kneifen
- • Pseudo-3D
- • QR-Code-Overlay
- • Größe Ändern
- • Sample Grabber
- • Sobel-Kante
- • Kugel
- • Quadrat
- • Dehnen
- • Textüberlagerung
- • Tunnel
- • Wirbel
- • Video-Balance
- • Pixelformat-Konverter
- • Video-Mixer
- • Gewellter Spiegel
- • Wasserwellen
- • Zoom-Box
Datei-Ausgaben
- • ASF
- • AVI
- • DASH
- • HLS
- • HTTP MJPEG Live
- • MKV (Matroska)
- • MOV (QuickTime)
- • MP4
- • MPEG-PS
- • MPEG-TS
- • MXF
- • OGG
- • WAV
- • WebM
Netzwerk-Streaming
- • Facebook Live
- • HLS
- • NDI
- • RTMP
- • RTSP
- • Shoutcast
- • SRT
- • YouTube Live
Blackmagic Decklink
- • Audio-Senke
- • Audio-Quelle
- • Video-Senke
- • Video-Quelle
Audio-Visualisierer
- • Bumpscope
- • Corona
- • Infinite
- • Jakdaw
- • Jess
- • LV Analyzer
- • LV Scope
- • Oinksie
- • Spacescope
- • Spectrascope
- • Synaescope
- • Wavescope
Video-Decoder
- • AV1 Decoder
- • H.264 Decoder
- • HEVC Decoder
- • JPEG Decoder
- • VP8 Decoder
- • VP9 Decoder
- • NVIDIA, Intel und AMD beschleunigte Decoder
- • Android Hardware-Decoder
- • iOS Hardware-Decoder
Spezielle Blöcke
- • Barcode-Detektor
- • Datenprozessor
- • Daten-Sample-Grabber
- • Debug-Zeitstempel
- • Entschlüsseler
- • Verschlüsseler
- • Multi-Queue
- • Null-Renderer
- • Queue
- • SRTP-Entschlüsseler
- • SRTP-Verschlüsseler
- • Tee (Splitter)
Preise
Wählen Sie zwischen Jahresabonnement oder lebenslanger Lizenz
Reguläre Lizenz
- Kostenlose kleinere und größere Updates für ein Jahr
- SDK funktioniert weiter nach Ablauf des Abonnements
- Prioritäts-Support
- Automatische jährliche Verlängerung (jederzeit kündbar)
- Alle 200+ Verarbeitungsblöcke enthalten
Lebenslange Lizenz
- Unbegrenzte Updates für immer
- Prioritäts-Support und Fehlerbehebungen
- Einmalzahlung
- Alle zukünftigen Funktionen enthalten
- Alle 200+ Verarbeitungsblöcke enthalten
Kostenlos für nicht-kommerzielle Nutzung. Bitte kontaktieren Sie uns für eine kostenlose Lizenz.
Alle Lizenzen beinhalten lizenzfreie Vertriebsrechte.
Systemanforderungen
Mindestanforderungen für Entwicklung und Bereitstellung auf allen Plattformen
Betriebssysteme |
|
.NET Framework |
|
Hardware |
|
UI-Frameworks |
|
Dokumentation & Ressourcen
Alles, was Sie zum Einstieg in Media Blocks SDK benötigen
Bereit loszulegen?
Laden Sie die kostenlose Testversion herunter und beginnen Sie noch heute mit dem Aufbau Ihrer Medien-Pipeline