VisioForge

Media Blocks SDK .NET — Twórz modularne potoki multimedialne w C#

Buduj potoki wideo z bloków w C# — kamera, kodek, efekt, wyjście — z nagrywaniem do MP4, MKV lub AVI i streamingiem przez HLS, RTMP lub RTSP.

Od €500/rok · licencja Lifetime od €1,500

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 Unity, WinForms, WPF, MAUI, Uno Platform, Xamarin i Avalonia, ułatwiając integrację zaawansowanych możliwości multimedialnych z aplikacjami desktopowymi, mobilnymi oraz aplikacjami opartymi na silnikach gier.

Potrzebujesz gotowego komponentu zamiast potoku, który składasz samodzielnie? Video Capture SDK .NET · Media Player SDK .NET · Video Edit SDK .NET

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

Media Blocks SDK .NET to warstwa potoków w stosie .NET firmy VisioForge: zamiast konfigurować gotowy komponent, budujesz aplikację z pojedynczych bloków — źródła, dowolnej liczby bloków przetwarzających oraz jednego lub kilku wyjść — i łączysz je wywołaniem MediaBlocksPipeline.Connect. Ponad 200 bloków obejmuje źródła plikowe i kamery internetowe, kamery IP RTSP i ONVIF z PTZ, Blackmagic DeckLink, kamery przemysłowe Basler i FLIR, korekcję kolorów, usuwanie przeplotu, klucz chrominancji, nakładki i przetwarzanie dźwięku, wnioskowanie AI, nagrywanie do MP4, MKV, MOV, WebM, MPEG-TS i MXF oraz strumieniowanie przez HLS, RTMP, RTSP, SRT i NDI. Jeden potok może jednocześnie nagrywać, strumieniować i wyświetlać podgląd, dzieląc strumień blokiem TeeBlock. SDK instaluje się z pakietu NuGet VisioForge.DotNet.MediaBlocks i działa w systemach Windows, macOS, Linux, Android oraz iOS z WinForms, WPF, MAUI, Uno Platform, Avalonia i Unity.

Przykłady potoków

PROSTY ODTWARZACZ

C#

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.

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

ZAAWANSOWANY ODTWARZACZ

C#

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

PODGLĄD KAMERY

C#

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.

// 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[0]));

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 RTSP

C#

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

PRZECHWYTYWANIE Z PODGLĄDEM

C#

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.

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

Cennik

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

Media Blocks SDK .NET jest licencjonowany na programistę w dwóch wariantach. Regular License kosztuje 500 € rocznie, odnawia się automatycznie, obejmuje każdą mniejszą i większą aktualizację wydaną w danym roku, a SDK działa dalej po zakończeniu subskrypcji — przestajesz jedynie otrzymywać nowe wersje. Lifetime·Team License to jednorazowa płatność 1500 € obejmująca mniejsze i większe aktualizacje oraz wszystkie przyszłe funkcje przez cały okres życia produktu. Obie zawierają wszystkie ponad 200 bloków przetwarzających, wsparcie e-mailowe i prawa do dystrybucji bez opłat licencyjnych, więc za wydawane aplikacje nie ma opłaty runtime. Użycie niekomercyjne jest bezpłatne na życzenie, a licencja na kod źródłowy jest dostępna na życzenie. Licencję roczną można opłacić kartą albo przelewem bankowym i SEPA; licencję dożywotnią opłaca się kartą. Jeśli projekt wymaga więcej niż jednego SDK VisioForge, pakiety .NET kosztują mniej niż te same produkty kupowane osobno.

Regular License

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

Licencja Lifetime·Team

€1,500/ jednorazowo
  • Mniejsze i większe aktualizacje przez okres życia produktu
  • Wsparcie e-mail
  • 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.

💰 Zaoszczędź więcej z pakietami Bundle

Ten produkt jest zawarty w naszych opłacalnych pakietach bundle. Zdobądź więcej produktów taniej, niż kupując je osobno.

.NET Bundle Professional

Roczny:€700
vs €1,900 przy zakupie osobno
Dożywotni:€1,800
vs €5,500 przy zakupie osobno

Zawiera:

.NET Bundle Premium

Roczny:€1,000
vs €2,500 przy zakupie osobno
Dożywotni:€2,500
vs €7,500 przy zakupie osobno

Zawiera:

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

Analityka wideo AI i mowa

Dodaj wnioskowanie AI, anonimizację prywatności, wykrywanie w otwartym słowniku, rozumienie wizualno-językowe, wyszukiwanie semantyczne i rozpoznawanie mowy bezpośrednio do potoków Media Blocks SDK .NET.

Media Blocks SDK .NET dodaje bloki przetwarzania AI bezpośrednio do potoków multimedialnych w C# za pomocą VisioForge.DotNet.Core.AI oraz VisioForge.DotNet.Core.AI.Whisper. Programiści mogą wstawiać OCR, rozpoznawanie tablic rejestracyjnych, wykrywanie obiektów YOLO/RT-DETR oraz w otwartym słowniku, analitykę obiektów ByteTrack, rozpoznawanie twarzy, automatyczną anonimizację danych osobowych (PII), usuwanie tła, opisywanie obrazu wizualno-językowe, osadzanie wideo/wyszukiwanie semantyczne oraz niestandardowe wnioskowanie ONNX pomiędzy istniejącymi źródłami, rendererami, enkoderami i wyjściami strumieniowymi. Bloki oparte na ONNX Runtime mogą działać na CPU lub na dostawcach sprzętowych, takich jak CUDA, DirectML i CoreML, gdy dostępne jest odpowiednie środowisko uruchomieniowe, natomiast rozpoznawanie mowy Whisper działa lokalnie poprzez GGML/whisper.cpp z opcjonalnym Silero VAD dla czystych segmentów. Pliki modeli AI są dostarczane lub pobierane przez aplikację, dzięki czemu zespoły zachowują kontrolę nad wyborem modelu i licencjonowaniem. Rezultatem jest modułowy SDK do analityki wideo AI w .NET, służący do budowania przeszukiwalnego wideo z OCR, systemów ANPR, zliczania osób, analityki linii alarmowych, anonimizacji zgodnej z przepisami prywatności, wyszukiwania wideo w języku naturalnym, napisów na żywo oraz eksportu SRT/VTT bez opuszczania modelu potoku Media Blocks.

Przejrzyj bloki AI

OCR i ANPR

Rozpoznawaj tekst i tablice rejestracyjne w wideo na żywo lub w plikach za pomocą bloków ONNX opartych na PaddleOCR oraz ustrukturyzowanych zdarzeń wykrywania.

Wykrywanie obiektów i analityka

Uruchamiaj modele YOLOX, YOLOv8 lub RT-DETR, a następnie dodawaj identyfikatory ByteTrack, przekroczenia linii, strefy wielokątne, liczniki i nakładki.

Rozpoznawanie twarzy

Wykrywaj twarze, rejestruj tożsamości, dopasowuj je do FaceGallery i nanoś rozpoznane osoby na strumień wideo.

Usuwanie tła

Wykorzystaj modele matowania ONNX do rozmycia tła, zamiany na jednolity kolor, zamiany na obraz lub przezroczystego wyjścia RGBA.

Niestandardowe wnioskowanie ONNX

Podłącz własny model ONNX do klatek wideo i otrzymuj surowe wyniki tensorowe do przetwarzania końcowego specyficznego dla aplikacji.

Napisy Whisper offline

Transkrybuj dźwięk lokalnie za pomocą Whisper, segmentuj mowę za pomocą Silero VAD, renderuj napisy na żywo lub zapisuj pliki SRT/VTT.

Anonimizacja danych osobowych (PII)

Automatycznie rozmywaj, pikselizuj lub wypełniaj jednolitym kolorem twarze, tablice rejestracyjne i tekst na ekranie, z opcjonalnym filtrowaniem regex dla adresów e-mail i numerów telefonów.

Wykrywanie obiektów w otwartym słowniku i rozumienie wizualno-językowe

Wykrywaj obiekty na podstawie dowolnego opisu tekstowego za pomocą OWLv2 lub Grounding DINO zamiast stałej listy klas, albo wykorzystaj blok wizualno-językowy Florence-2 do opisywania klatek, OCR i lokalizowania fraz — zmieniaj podpowiedzi i progi pewności w czasie działania.

Wyszukiwanie semantyczne wideo

Twórz indeks osadzeń (embeddings) oparty na CLIP podczas przetwarzania wideo, a następnie przeszukuj go zapytaniami w języku naturalnym, aby znaleźć pasujące klatki.

Te same instancje bloków podłączają się również bezpośrednio do VideoCaptureCoreX i MediaPlayerCoreX za pomocą Video_Processing_AddBlock/Audio_Processing_AddBlock — bez konieczności ręcznego tworzenia MediaBlocksPipeline. Zobacz funkcje AI na stronach Video Capture SDK .NET i Media Player SDK .NET.

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.

Live Video Compositor to silnik kompozycji o wielu wejściach i wielu wyjściach, zbudowany na tym samym modelu potoku. Tworzysz go z rozmiarem kanwy i liczbą klatek — LiveVideoCompositorSettings(1920, 1080, new VideoFrameRate(25)) — a następnie dodajesz każde źródło jako wejście z własnym prostokątem docelowym i kolejnością Z: kamerę wypełniającą tło, przechwytywanie ekranu jako nakładkę obraz w obrazie, plik multimedialny, kamerę RTSP albo sygnał NDI. Wejścia i wyjścia dodaje się i usuwa metodami Input_AddAsync oraz Output_AddAsync w trakcie działania kompozycji, a każde wejście pracuje we własnym odizolowanym potoku, więc awaria jednego źródła nie zatrzymuje pozostałych. Warstwy są miksowane renderowaniem OpenGL z akceleracją GPU i zapasowym trybem CPU, a wynik może trafiać jednocześnie do kilku miejsc — nagrania MP4 lub WebM, transmisji na żywo w YouTube lub Facebooku, karty DeckLink i podglądu na ekranie.

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.

Obsługa Unity

Media Blocks dostarczany jest jako jeden zbiorczy plik .unitypackage dla Unity 6, ze scenami przykładowymi odtwarzacza plików multimedialnych i podglądu RTSP na żywo, obsługując Windows, Android, macOS i iOS z jednego importu.

Jak Media Blocks wypada na tle innych

Bezpośrednie porównania z bibliotekami i SDK, które zespoły zwykle rozważają równolegle.

Pełny przegląd bloków, kodeków i urządzeń

Każdy blok, kodek, kontener i urządzenie obsługiwane przez SDK — źródła, kodery, dekodery, filtry, wyjścia i sprzęt — znajduje się na osobnej stronie referencyjnej.

Otwórz pełną referencję bloków →

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 →

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
  • Unity

Dokumentacja i zasoby

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

Twórz z agentami AI do kodowania

Pracujesz z agentem AI — Claude Code, Cursor, GitHub Copilot, Gemini CLI, OpenAI Codex? VisioForge udostępnia maszynowo czytelne interfejsy dla Media Blocks SDK .NET, dzięki czemu Twój agent od razu poprawnie wykona integrację: właściwe pakiety NuGet, rejestrację licencji, konfigurację projektu oraz szczegóły wdrożenia wieloplatformowego, których inaczej musiałby się domyślać.

Zapytania API na żywo i wyszukiwanie klas
Przewodniki integracji dla każdej platformy
Przepisy na wdrożenie wieloplatformowe
Pełna dokumentacja jako llms.txt

Podłącz serwer MCP

MCP

Dodaj serwer MCP VisioForge do swojego agenta, aby uzyskać pomoc kontekstową: przeszukiwanie API, sprawdzanie klas i składowych, pobieranie działających przykładów kodu i przewodników wdrożeniowych — bezpośrednio w edytorze.

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" } } }
Przewodnik korzystania z serwera MCP

Wczytaj Agent Skill

Agent Skills

Publikujemy gotowy do pobrania skill dla każdej kombinacji (SDK, platforma) — dla Media Blocks SDK .NET gotowy plik SKILL.md dla każdej platformy (jakie pakiety NuGet, kod licencji, konfiguracja csproj, typowe pułapki) oraz działający projekt przykładowy, z którego Twój agent może skopiować. Zgodny z Claude Code, Cursor, OpenAI Codex, Gemini CLI i ponad 30 innymi agentami (Cloudflare Agent Skills RFC).

Wskaż agentowi indeks skilli

https://www.visioforge.com/.well-known/agent-skills/index.json
Przeglądaj skille i konfigurację dla każdego narzędzia

Wolisz przekazać całą dokumentację swojemu agentowi? Jest też dostępna jako zwykły markdown: /llms.txt · /llms-full.txt

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.

Czy mogę używać Media Blocks SDK w Unity?

Tak. Media Blocks SDK .NET dostarcza pojedynczy, wieloplatformowy pakiet .unitypackage dla Unity 6, który z jednego importu obsługuje Windows, Android, macOS i iOS. Otrzymujesz kompletny SDK — przechwytywanie, źródła, dekodery i enkodery, efekty, miksowanie, nagrywanie oraz streaming — i renderujesz dowolny potok do komponentu Unity RawImage. Dołączone są dwie sceny przykładowe (odtwarzacz plików multimedialnych oraz podgląd RTSP / kamery IP na żywo) jako punkty wyjścia. Szczegóły konfiguracji oraz przewodniki budowania dla poszczególnych platform znajdziesz w dokumentacji Unity.

Czym to się różni od wbudowanego komponentu Video Player w Unity?

Video Player w Unity sprawdza się przy dołączonych klipach, ale nie obsługuje wejścia RTSP / kamer IP, ma ograniczony zestaw kodeków oraz nie umożliwia przechwytywania ani streamingu. Media Blocks SDK dodaje odtwarzanie na żywo z RTSP i kamer IP, znacznie szerszy zakres formatów i kodeków (H.264, H.265, AV1, VP8/VP9, ProRes, MJPEG i więcej), przechwytywanie z urządzeń, nagrywanie oraz streaming wychodzący — wszystko za pomocą jednego spójnego potoku, który zachowuje się tak samo na Windows, Android, macOS i iOS.

Czy mogę nagrywać lub streamować wideo z aplikacji Unity?

Tak. Z wnętrza kompilacji Unity możesz nagrywać do MP4, MKV lub WebM i transmitować przez RTMP, SRT, HLS lub wbudowany serwer RTSP, korzystając z enkoderów H.264 / H.265 z akceleracją sprzętową na urządzeniach mobilnych. Łącz źródła, nakładki i mikser wideo, aby skomponować dokładnie to, co nagrywasz lub streamujesz — na komputerach i urządzeniach mobilnych.

Czy mogę budować potoki analityki wideo AI w C#?

Tak. Media Blocks SDK .NET zawiera bloki VisioForge.DotNet.Core.AI do OCR, ANPR, wykrywania obiektów, analityki obiektów, rozpoznawania twarzy, usuwania tła oraz niestandardowego wnioskowania ONNX. Łączysz te bloki wewnątrz tego samego MediaBlocksPipeline, co kamery, strumienie RTSP, renderery, enkodery, wyjścia do plików oraz wyjścia strumieniowe.

Czy rozpoznawanie mowy Whisper działa offline?

Tak. Pakiet VisioForge.DotNet.Core.AI.Whisper uruchamia Whisper lokalnie poprzez backend GGML/whisper.cpp i może korzystać z opcjonalnego Silero VAD do segmentacji mowy. Potrafi generować napisy na żywo, zdarzenia rozpoznanej mowy oraz towarzyszące pliki napisów SRT lub VTT bez wysyłania dźwięku do usługi w chmurze.

Czy mogę używać niestandardowych modeli ONNX?

Tak. OnnxInferenceBlock pozwala uruchomić niestandardowy model ONNX Runtime na klatkach wideo i otrzymać surowe wyniki tensorowe dla własnego dekodera lub kodu przetwarzania końcowego. W przypadku popularnych rodzin detektorów YOLOObjectDetectorBlock obsługuje już przetwarzanie wstępne, dekodowanie, mapowanie współrzędnych oraz nakładki dla YOLOX, YOLOv8 i RT-DETR.

Czy mogę używać tych bloków AI z VideoCaptureCoreX lub MediaPlayerCoreX zamiast ręcznego potoku?

Tak. Każdy blok AI implementuje również interfejsy bloków przetwarzania używane przez VideoCaptureCoreX i MediaPlayerCoreX, więc rejestrujesz te same instancje bloków za pomocą Video_Processing_AddBlock lub Audio_Processing_AddBlock przed StartAsync (przechwytywanie) lub OpenAsync/PlayAsync (odtwarzanie) — bez konieczności ręcznego tworzenia MediaBlocksPipeline.