VisioForge

Media Blocks SDK .NETTwórz modularne potoki multimedialne w C#

Twórz potężne aplikacje multimedialne łatwo i elastycznie dzięki Media Blocks SDK .NET — modułowemu zestawowi narzędzi, który pozwala budować złożone przepływy pracy wideo jak wizualny konstruktor (kamera → kodek → wyjście). Obsługuje nagrywanie do MP4, MKV i AVI, a także przesyłanie strumieniowe przez HLS, RTMP i RTSP, oferując bogaty zestaw efektów, w tym korekcję kolorów, usuwanie przeplotu, znaki wodne, przechwytywanie ekranu i przetwarzanie dźwięku. Dzięki wbudowanemu widzeniu komputerowemu, rozpoznawaniu kodów QR, śledzeniu twarzy i pełnej obsłudze urządzeń Blackmagic i ONVIF, wnosi profesjonalne funkcje do każdego projektu. Pakiet SDK bezproblemowo współpracuje z WinForms, WPF, MAUI, Uno Platform, Xamarin i Avalonia, ułatwiając integrację zaawansowanych możliwości multimedialnych z aplikacjami desktopowymi i mobilnymi.

Instalacja

Szybka instalacja za pomocą NuGet

Zainstaluj pakiet SDK bezpośrednio w swoim projekcie za pomocą konsoli menedżera pakietów:

Install-Package VisioForge.DotNet.MediaBlocks

Lub wyszukaj VisioForge.DotNet.MediaBlocks w menedżerze pakietów NuGet w Visual Studio. Zobacz instrukcję instalacji →

Kluczowe korzyści

Architektura modułowa

Ponad 200 bloków przetwarzania, które łączą się jak klocki, tworząc niestandardowe potoki multimedialne

Wieloplatformowość

Działa na Windows, macOS, Linux, Android i iOS ze wszystkimi głównymi frameworkami UI .NET

Akceleracja sprzętowa

Kodowanie/dekodowanie akcelerowane przez GPU z obsługą NVIDIA, Intel i AMD dla maksymalnej wydajności

Przykłady potoków

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

PROSTY ODTWARZACZ

Potok prostego odtwarzacza wykorzystuje UniversalSourceBlock do odczytu i dekodowania pliku źródłowego, VideoRendererBlock do wyświetlania wideo i AudioRendererBlock do odtwarzania dźwięku.

Interaktywna wizualizacja potoku

Loading pipeline diagram...

ZAAWANSOWANY ODTWARZACZ

Potok zaawansowanego odtwarzacza zawiera UniversalSourceBlock do dekodowania plików lub strumieni, renderery wideo i audio oraz bloki przetwarzania efektów.

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

Potok zaawansowanego odtwarzacza z efektami

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

PODGLĄD KAMERY

Potok prostego podglądu kamery/mikrofonu zawiera bloki źródłowe urządzeń oraz bloki renderowania wideo/audio.

Zostaną użyte domyślne urządzenia.

Potok podglądu kamery

Loading pipeline diagram...

PODGLĄD RTSP

Potok podglądu RTSP, który zawiera blok źródłowy RTSP (z dekoderami wewnątrz), renderery wideo i 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();

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

PRZECHWYTYWANIE Z PODGLĄDEM

Potok przechwytywania ma dwa bloki rozgałęziające (tee), które służą do rozdzielania strumieni wideo i audio, umożliwiając podgląd wideo/audio wraz z przechwytywaniem wideo.

Potok przechwytywania z podglądem

Loading pipeline diagram...

Live Video Compositor

Twórz oprogramowanie do produkcji wideo na żywo w stylu OBS dzięki Live Video Compositor — silnikowi kompozycji wideo w czasie rzeczywistym z wieloma wejściami i wyjściami, zbudowanemu na bazie Media Blocks SDK .NET. Dynamicznie dodawaj i usuwaj kamery, przechwytywanie ekranu, pliki multimedialne, źródła RTSP/kamer IP oraz NDI jako warstwowe wejścia, miksuj je z wykorzystaniem renderowania akcelerowanego przez GPU i jednocześnie kieruj obraz do plików nagrań oraz platform streamingowych. Zaprojektowany do przełączania między wieloma kamerami, układów obraz-w-obrazie, nakładek na żywo oraz miksowania dźwięku o jakości broadcastowej — wszystko w pełni sterowane z poziomu kodu C# w czasie wykonywania.

Dynamiczne wejścia i wyjścia

Dodawaj lub usuwaj źródła wideo i audio oraz miejsca docelowe wyjścia w dowolnym momencie — nawet podczas pracy kompozytora. Każde wejście działa we własnym izolowanym potoku, więc awaria jednego źródła nigdy nie zakłóca całej kompozycji.

Miksowanie z akceleracją GPU

Kompozytuj wiele warstw wideo w czasie rzeczywistym, korzystając z wieloplatformowego renderowania z akceleracją GPU (OpenGL) lub trybu awaryjnego na CPU. Pozycjonuj każde źródło z dokładnością do piksela, kontroluj kolejność nakładania Z-order i wybieraj spośród trybów letterbox, rozciągania lub wypełnienia.

Nagrywanie + streaming + podgląd

Jednoczesne wyjście do wielu miejsc docelowych — nagrywanie do MP4 lub WebM, transmisja na żywo na YouTube i Facebook, wysyłanie obrazu do sprzętu Decklink oraz wyświetlanie podglądu na ekranie — wszystko z jednej instancji kompozytora działającej w czasie rzeczywistym.

Nakładki i efekty na żywo

Dynamicznie stosuj nakładki tekstowe, znaki wodne z obrazów oraz efekty wideo po kompozycji — bez konieczności przebudowy potoku. Pomiar VU audio w czasie rzeczywistym zapewnia profesjonalny monitoring poziomu sygnału podczas produkcji na żywo.

Konfiguracja Live Video Compositor w 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);

Live Video Compositor współpracuje ze wszystkimi źródłami wejściowymi i formatami wyjściowymi obsługiwanymi przez Media Blocks SDK .NET, w tym z kamerami, przechwytywaniem ekranu, plikami multimedialnymi, kamerami RTSP/IP, NDI, Decklink oraz wszystkimi wyjściami nagrywania i streamingu.

Główne funkcje VisioForge Media Blocks SDK .Net obejmują:

Podstawowe funkcje

  • Podgląd audio/wideo
  • Przechwytywanie wideo i audio do szerokiej gamy formatów
  • Przechwytywanie klatek do klasy Bitmap, plików BMP, JPEG i PNG
  • Przetwarzanie wideo i efekty (CPU/GPU)
  • Sterowanie urządzeniami do przechwytywania wideo
  • Strumieniowanie sieciowe
  • Wykrywanie ruchu
  • Obsługa niestandardowych interfejsów
  • API widzenia komputerowego
  • PIP (Obraz w obrazie)
  • Przechwytywanie ekranu/okna
  • Wykrywanie twarzy i śledzenie obiektów
  • Obsługa wielu ekranów wyjściowych
  • Przechwytywanie dźwięku z głośników
  • Obsługa odczytu i zapisu tagów plików audio/wideo

Obsługiwane urządzenia wejściowe

  • Kamery internetowe USB i urządzenia przechwytujące (w tym 4K)
  • Kamery/serwery IP JPEG/MJPEG, MPEG-4 i H.264 HTTP/RTSP/RTMP
  • Kamery DV i HDV MPEG-2
  • Karty przechwytujące PCI
  • Tunery TV (z/bez wewnętrznego enkodera MPEG)
  • Obsługa formatu HD dla kamer IP
  • Kamery IP ONVIF z obsługą PTZ
  • Urządzenia Blackmagic Decklink
  • Urządzenia do przechwytywania dźwięku i karty dźwiękowe
  • Urządzenia ASIO

Profesjonalny sprzęt

  • Obsługa wejścia/wyjścia Blackmagic Decklink
  • Kamery FLIR/Teledyne (USB3Vision/GigE)
  • Kamery Basler (USB3Vision/GigE)
  • Kamery DV i HDV MPEG-2
  • Karty przechwytujące PCI
  • Tunery TV (z/bez enkodera MPEG)
  • Kamery IP ONVIF z obsługą PTZ
  • Urządzenia ASIO

Źródła

  • Kamery Allied Vision
  • Animowany GIF
  • Kamery Basler (USB3Vision/GigE)
  • Karaoke CDG
  • Przełącznik awaryjny
  • GenICam (Kamery przemysłowe)
  • HTTP
  • HTTP MJPEG
  • Sekwencja obrazów
  • Plik lokalny
  • Bufor pamięci
  • NDI
  • PulseAudio
  • Kamera Raspberry Pi
  • RTMP
  • RTSP
  • RTSP RAW
  • Przechwytywanie ekranu
  • SRT
  • Dźwięk systemowy
  • Wideo systemowe
  • Sygnał testowy
  • UDP/RTP
  • URI (Plik/Sieć)

Przetwarzanie audio

  • Wzmocnienie
  • Balans
  • Konwerter formatu próbek
  • Normalizator obciążenia
  • Mikser
  • Resampler
  • Sample Grabber
  • Korektor znaczników czasu
  • Filtr pasmowo-zaporowy Czebyszewa
  • Limit Czebyszewa
  • Kompresor/Ekspander
  • Filtr Csound
  • Poziom EBU R128
  • Echo
  • Korektor (10-pasmowy)
  • Korektor (parametryczny)
  • Renderowanie HRTF
  • Karaoke
  • Usuwanie ciszy
  • Pogłos
  • Skala/Tempo
  • Głośność
  • Miernik VU
  • Szerokie stereo

Czytnik kodów kreskowych

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

Enkodery audio

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

Enkodery wideo (CPU/GPU)

  • AV1
  • DV
  • GIF
  • H.264
  • H.265/HEVC
  • MJPEG
  • MPEG-2
  • MPEG-4
  • PNG
  • Theora
  • VP8/VP9 (VPX)
  • WMV (Windows Media Video)
  • Obsługa enkoderów sprzętowych NVENC, AMD, Intel
  • Obsługa enkoderów sprzętowych iOS/macOS/Android

Przetwarzanie wideo

  • Starzenie
  • Łączenie alfa
  • Automatyczne usuwanie przeplotu
  • Bayer do RGB
  • Kluczowanie kolorem
  • Demultipleksowanie alfa kodeka
  • Efekty kolorystyczne
  • Usuwanie przeplotu
  • Kostka
  • Wykrywanie krawędzi
  • Rybie oko
  • Odbicie/Obrót
  • Gamma
  • Rozmycie Gaussa
  • Skala szarości
  • Nakładka obrazu
  • Nakładka obrazu Cairo
  • Przeplot
  • Wykrywacz klatek kluczowych
  • Procesor LUT
  • Lustro
  • Ruchome rozmycie
  • Ruchome echo
  • Ruchome echo powiększenia
  • Animacja optyczna czarno-biała
  • Menedżer nakładek
  • Perspektywa
  • Uszczypnięcie
  • Pseudo 3D
  • Nakładka kodu QR
  • Zmiana rozmiaru
  • Sample Grabber
  • Krawędź Sobela
  • Kula
  • Kwadrat
  • Rozciąganie
  • Nakładka tekstowa
  • Tunel
  • Skręt
  • Balans wideo
  • Konwerter formatu pikseli
  • Mikser wideo
  • Zniekształcone lustro
  • Fala wodna
  • Pudełko powiększenia

Zapis do plików

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

Strumieniowanie sieciowe

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

Blackmagic Decklink

  • Wyjście audio
  • Wejście audio
  • Wyjście wideo
  • Wejście wideo

Wizualizatory audio

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

Dekodery wideo

  • Dekoder AV1
  • Dekoder H.264
  • Dekoder HEVC
  • Dekoder JPEG
  • Dekoder VP8
  • Dekoder VP9
  • Akcelerowane dekodery NVIDIA, Intel i AMD
  • Sprzętowe dekodery Android
  • Sprzętowe dekodery iOS

Bloki specjalne

  • Wykrywacz kodów kreskowych
  • Przetwarzanie danych
  • Pobieranie próbek danych
  • Znacznik czasu debugowania
  • Deszyfrator
  • Szyfrator
  • Wielokolejka
  • Pusty renderer
  • Kolejka
  • Deszyfrator SRTP
  • Szyfrator SRTP
  • Tee (Rozdzielacz)

Cennik

Wybierz między subskrypcją roczną a licencją dożywotną

Regular License

€500/ rok
  • Darmowe drobne i główne aktualizacje przez rok
  • SDK działa po zakończeniu subskrypcji
  • Priorytetowe wsparcie
  • Automatyczne odnawianie co rok (można anulować w dowolnym momencie)
  • Wszystkie ponad 200 bloków przetwarzania w zestawie
NAJLEPSZA WARTOŚĆ

Lifetime License

€1,500/ jednorazowo
Kup licencję dożywotnią
  • Nieograniczone aktualizacje na zawsze
  • Priorytetowe wsparcie i poprawki
  • Płatność jednorazowa
  • Wszystkie przyszłe funkcje w zestawie
  • Wszystkie ponad 200 bloków przetwarzania w zestawie

Bezpłatne do użytku niekomercyjnego. Skontaktuj się z nami, aby uzyskać bezpłatną licencję.

Wszystkie licencje obejmują prawa do dystrybucji bez opłat licencyjnych.

Licencja na kod źródłowy

Licencja na kod źródłowy jest dostępna na życzenie dla tego SDK. Skontaktuj się z naszym zespołem sprzedaży, aby omówić ceny i warunki licencji.

Zapytaj o licencję na kod źródłowy

💰 Zaoszczędź więcej z pakietami Bundle

Ten produkt jest zawarty w naszych opłacalnych pakietach bundle. Zdobądź więcej produktów i zaoszczędź do 71%!

.NET Bundle Professional

Roczny:€700.00
Dożywotni:€1800.00

Oszczędzaj do 71%

Zawiera:

  • 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

Roczny:€1000.00
Dożywotni:€2500.00

Oszczędzaj do 70%

Zawiera:

  • 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

Wymagania systemowe

Minimalne wymagania dotyczące rozwoju i wdrażania na różnych platformach

Systemy operacyjne
  • Windows 10 / 11 (32-bitowy i 64-bitowy)
  • Windows 8/8.1, Windows 7 SP1
  • Windows Server 2016 i nowsze
  • macOS 12 lub nowszy
  • Ubuntu 22.04 / 24.04
  • Android 8 i nowsze
  • iOS 12 i nowsze
.NET Framework
  • .NET Framework 4.6.1 lub nowszy
  • .NET Core 3.1
  • .NET 5/6/7/8/9/10
Sprzęt
  • Minimum 2 GB RAM (zalecane 4 GB)
  • Procesor Intel Core i5 lub odpowiednik AMD
  • Opcjonalna obsługa akceleracji GPU (NVIDIA/Intel/AMD)
Frameworki UI
  • WinForms
  • WPF
  • WinUI 3 dla Desktop
  • Avalonia
  • GTK#
  • MAUI
  • Xamarin.Android/iOS/Mac

Dokumentacja i zasoby

Wszystko, czego potrzebujesz, aby zacząć korzystać z Media Blocks SDK

Buduj pipeline'y multimedialne szybciej z AI i MCP

Pozwól swojemu asystentowi kodowania AI zrozumieć architekturę pipeline'ów Media Blocks. Połącz się z serwerem MCP VisioForge i uzyskaj kontekstową pomoc przy wyborze bloków, łączeniu pipeline'ów, konfiguracji źródeł/ujść i wdrażaniu wieloplatformowym — bezpośrednio w Claude Code, VS Code lub Cursor.

Referencje API bloków i pipeline'ów
Przepisy na wdrożenie wieloplatformowe
Dokładne rozwiązywanie pakietów NuGet
Przykłady kodu i wzorce pipeline'ów

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" } } }
Przeczytaj pełny przewodnik integracji MCP

Gotowy, aby zacząć?

Pobierz darmową wersję próbną i zacznij budować swój potok multimedialny już dziś

Często zadawane pytania

Czym jest Media Blocks SDK i czym różni się od innych SDK VisioForge?

Media Blocks SDK wykorzystuje modułową architekturę potoków, w której łączysz poszczególne bloki przetwarzania (źródła, enkodery, efekty, wyjścia) jak klocki. W przeciwieństwie do SDK Video Capture lub Media Player, które oferują gotowe przepływy pracy, Media Blocks daje pełną kontrolę nad każdym etapem potoku multimedialnego, co czyni go idealnym do niestandardowych lub złożonych scenariuszy.

Jak zbudować potok multimedialny w C#?

Utwórz instancję MediaBlocksPipeline, dodaj bloki źródłowe (plik, kamera, RTSP, przechwytywanie ekranu), połącz bloki przetwarzania (enkodery, efekty, nakładki) i dołącz bloki wyjściowe (plik, renderer, strumień sieciowy). Wywołaj StartAsync(), aby uruchomić. SDK automatycznie obsługuje wątkowanie, synchronizację i akcelerację sprzętową.

Czy Media Blocks SDK działa na macOS, Linux i platformach mobilnych?

Tak. Media Blocks SDK obsługuje Windows, macOS 12+, Ubuntu 22.04/24.04, Android 8+ i iOS 12+. Działa z WinForms, WPF, MAUI, Uno Platform, Avalonia i Xamarin. Ten sam kod potoku działa na wszystkich platformach z renderowaniem i akceleracją sprzętową specyficzną dla każdej platformy.

Czy mogę przesyłać strumieniowo wideo przez RTMP, RTSP lub HLS?

Tak. SDK zawiera dedykowane bloki wyjściowe do streamingu dla RTMP (YouTube Live, Facebook Live), serwera RTSP, HLS, SRT, NDI i Shoutcast. Możesz łączyć streaming z lokalnym nagrywaniem i podglądem, używając bloków Tee do podziału potoku na wiele wyjść.

Czy obsługiwane jest kodowanie i dekodowanie z akceleracją GPU?

Tak. Media Blocks SDK obsługuje kodowanie z akceleracją sprzętową przez NVIDIA NVENC, Intel Quick Sync i AMD AMF, a także dekodowanie sprzętowe. Na platformach mobilnych kodeki sprzętowe iOS i Android są używane automatycznie. Umożliwia to przetwarzanie 4K w czasie rzeczywistym przy minimalnym użyciu CPU.

Czy mogę używać kamer przemysłowych (GigE Vision, USB3 Vision) i Blackmagic Decklink?

Tak. SDK zawiera bloki źródłowe dla kamer przemysłowych kompatybilnych z GenICam (Basler, Allied Vision, FLIR/Teledyne) przez GigE Vision i USB3 Vision. Urządzenia Blackmagic Decklink są obsługiwane za pomocą dedykowanych bloków źródłowych i wyjściowych do profesjonalnego przechwytywania i wyjścia wideo.

Czym jest Live Video Compositor i czym różni się od ręcznego budowania potoków?

Live Video Compositor to wysokopoziomowy silnik kompozycji wideo w czasie rzeczywistym, zbudowany na bazie Media Blocks SDK. O ile możliwe jest ręczne tworzenie niestandardowych potoków miksujących z pojedynczych bloków, kompozytor dostarcza gotową, kompletną architekturę do budowy aplikacji w stylu OBS — obejmującą izolację wejść opartą na mostach, kompozycję z akceleracją GPU, dynamiczne zarządzanie źródłami i wyjściami w czasie wykonywania, kontrolę warstw Z-order, nakładki tekstowe i graficzne na żywo, efekty po kompozycji oraz pomiar VU audio. Jest idealny do tworzenia systemów przełączania wielu kamer, oprogramowania do transmisji na żywo oraz narzędzi produkcji broadcastowej w C# i .NET.