VisioForge

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

€500/ Jahr
  • 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
BESTES ANGEBOT

Lebenslange Lizenz

€1,500/ Einmalzahlung
Lebenslange Lizenz kaufen
  • 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
  • Windows 10 / 11 (32-Bit und 64-Bit)
  • Windows 8/8.1, Windows 7 SP1
  • Windows Server 2016 und später
  • macOS 12 oder später
  • Ubuntu 22.04 / 24.04
  • Android 8 und später
  • iOS 12 und später
.NET Framework
  • .NET Framework 4.6.1 oder später
  • .NET Core 3.1
  • .NET 5/6/7/8/9/10
Hardware
  • Mindestens 2 GB RAM (4 GB empfohlen)
  • Intel Core i5 oder AMD-äquivalenter Prozessor
  • GPU-Beschleunigungsunterstützung optional (NVIDIA/Intel/AMD)
UI-Frameworks
  • WinForms
  • WPF
  • WinUI 3 für Desktop
  • Avalonia
  • GTK#
  • MAUI
  • Xamarin.Android/iOS/Mac

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