VisioForge

Media Blocks SDK .NET — C#でモジュラー型メディアパイプラインを構築

C# でブロックを組み合わせて映像パイプラインを構築 — カメラ、コーデック、エフェクト、出力。MP4、MKV、AVI への録画と HLS、RTMP、RTSP での配信に対応。

年間 €500 から · Lifetime ライセンス €1,500 から

Media Blocks SDK .NET を使用して、強力なマルチメディアアプリケーションを簡単かつ柔軟に作成します。これは、視覚的なコンストラクター (カメラ → コーデック → 出力) のように複雑なビデオワークフローを構築できるモジュラーツールキットです。MP4、MKV、および AVI への録画、HLS、RTMP、および RTSP 経由のストリーミングをサポートし、色補正、インターレース解除、透かし、画面キャプチャ、オーディオ処理などの豊富なエフェクトセットを提供します。組み込みのコンピュータービジョン、QR コード認識、顔追跡、および Blackmagic および ONVIF デバイスの完全なサポートにより、あらゆるプロジェクトにプロフェッショナルグレードの機能をもたらします。SDK は WinForms、WPF、MAUI、Xamarin、Avalonia、および Unity とシームレスに連携し、高度なメディア機能をデスクトップ、モバイル、ゲームエンジンアプリに簡単に統合できます。

自分で組み立てるパイプラインではなく、完成済みのコンポーネントをお探しですか? Video Capture SDK .NET · Media Player SDK .NET · Video Edit SDK .NET

主な利点

モジュラーアーキテクチャ

ビルディングブロックのように接続してカスタムメディアパイプラインを作成する 200 以上の処理ブロック

クロスプラットフォーム

すべての主要な .NET UI フレームワークを使用して、Windows、macOS、Linux、Android、および iOS で動作します

ハードウェアアクセラレーション

最大のパフォーマンスを実現する NVIDIA、Intel、および AMD サポートによる GPU アクセラレーションエンコード/デコード

Media Blocks SDK .NET は VisioForge の .NET スタックにおけるパイプライン層です。完成済みのコンポーネントを設定するのではなく、ソース、任意の数の処理ブロック、1 つ以上のシンクという個々のブロックからアプリケーションを組み立て、MediaBlocksPipeline.Connect で接続します。200 を超えるブロックは、ファイルおよび Web カメラのソース、PTZ 対応の RTSP・ONVIF IP カメラ、Blackmagic DeckLink、Basler および FLIR の産業用カメラ、色補正、インターレース解除、クロマキー、オーバーレイ、音声処理、AI 推論、MP4・MKV・MOV・WebM・MPEG-TS・MXF への録画、HLS・RTMP・RTSP・SRT・NDI での配信をカバーします。TeeBlock でフローを分岐すれば、1 本のパイプラインで録画・配信・プレビューを同時に実行できます。SDK は NuGet パッケージ VisioForge.DotNet.MediaBlocks からインストールでき、Windows、macOS、Linux、Android、iOS 上で WinForms、WPF、MAUI、Uno Platform、Avalonia、Unity と動作します。

パイプラインの例

シンプルプレーヤー

C#

シンプルプレーヤーパイプラインは、UniversalSourceBlock を使用してソースファイルを読み取ってデコードし、VideoRendererBlock を使用してビデオを表示し、AudioRendererBlock を使用してオーディオを再生します。

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

高度なプレーヤー

C#

高度なプレーヤーパイプラインには、ファイルまたはストリームをデコードするための UniversalSourceBlock、ビデオおよびオーディオレンダラー、およびエフェクト処理ブロックが含まれています。

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

カメラプレビュー

C#

カメラ/マイクのシンプルプレビューパイプラインには、デバイスソースブロックとビデオ/オーディオレンダラーブロックが含まれています。 デフォルトのデバイスが使用されます。

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

RTSP プレビュー

C#

RTSP ソースブロック (内部にデコーダーを含む)、ビデオおよびオーディオレンダラーを含む RTSP プレビューパイプライン。

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

プレビュー付きキャプチャ

C#

キャプチャパイプラインには、ビデオとオーディオストリームを分割するために使用される 2 つのティーブロックがあり、ビデオキャプチャとともにビデオ/オーディオプレビューが可能です。

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

価格

年間サブスクリプションまたはライフタイムライセンスから選択

Media Blocks SDK .NET は開発者単位で 2 種類のライセンスが用意されています。Regular License は年額 500 ユーロで自動更新され、その 1 年間にリリースされたすべてのマイナー・メジャーアップグレードが含まれます。サブスクリプション終了後も SDK は動作し続け、新しいバージョンの提供が止まるだけです。Lifetime·Team License は 1,500 ユーロの一括払いで、製品の提供期間中のマイナー・メジャー更新と将来のすべての機能が含まれます。どちらも 200 を超えるすべての処理ブロック、メールサポート、ロイヤリティフリーの配布権を含むため、出荷するアプリケーションにランタイム料金は発生しません。非商用利用はご依頼により無償で、ソースコードライセンスもご依頼に応じて提供します。年額ライセンスはクレジットカードまたは銀行振込・SEPA で、ライフタイムライセンスはカードでお支払いいただけます。複数の VisioForge SDK が必要なプロジェクトでは、.NET バンドルのほうが同じ製品を個別に購入するより安価です。

通常ライセンス

€500年
  • 1 年間の無料マイナーおよびメジャーアップグレード
  • サブスクリプション終了後も SDK は機能し続けます
  • メールサポート
  • 毎年自動更新 (いつでもキャンセル可能)
  • 200 以上のすべての処理ブロックが含まれています
ベストバリュー

Lifetime·Teamライセンス

€1,500/ 1 回限り
  • 製品の存続期間中のメジャーおよびマイナーアップデート
  • メールサポート
  • 1 回限りの支払い
  • 将来のすべての機能が含まれています
  • 200 以上のすべての処理ブロックが含まれています

非商用利用は無料です。無料ライセンスを取得するにはお問い合わせください。

すべてのライセンスには、ロイヤリティフリーの配布権が含まれています。

💰 バンドルパッケージでさらに節約

この製品は、コスト効率の高いバンドルパッケージに含まれています。より多くの製品を、個別に購入するより安く入手できます。

.NET Bundle Professional

年間:€700
個別購入なら€1,900
生涯:€1,800
個別購入なら€5,500

含まれるもの:

.NET Bundle Premium

年間:€1,000
個別購入なら€2,500
生涯:€2,500
個別購入なら€7,500

含まれるもの:

ソースコードライセンス

このSDKのソースコードライセンスはリクエストに応じてご利用いただけます。価格やライセンス条件については、営業チームにお問い合わせください。

ソースコードライセンスを申請

AI ビデオ解析と音声認識

AI 推論、プライバシー匿名化、オープンボキャブラリー検出、視覚言語理解、セマンティック検索、音声認識を Media Blocks SDK .NET のパイプラインに直接組み込めます。

Media Blocks SDK .NET は、VisioForge.DotNet.Core.AI および VisioForge.DotNet.Core.AI.Whisper を通じて、AI 処理ブロックを C# のメディアパイプラインに直接追加します。開発者は、OCR、ナンバープレート認識、YOLO/RT-DETR/オープンボキャブラリーによる物体検出、ByteTrack による物体解析、顔認識、自動 PII 匿名化、背景除去、ビジョン言語キャプション生成、動画埋め込み/セマンティック検索、カスタム ONNX 推論を、既存のソース、レンダラー、エンコーダー、ストリーミング出力の間に挿入できます。ONNX Runtime ベースのブロックは、対応するランタイムが利用可能な場合、CPU または CUDA、DirectML、CoreML などのハードウェアプロバイダー上で実行でき、Whisper の音声テキスト変換は GGML/whisper.cpp を通じてローカルで実行され、クリーンなセグメントを得るためにオプションで Silero VAD を利用できます。AI モデルファイルはアプリケーションによって提供またはダウンロードされるため、チームはモデルの選択とライセンスを自分たちで管理できます。その結果として得られるのは、検索可能な OCR ビデオ、ANPR システム、人数カウント、トリップワイヤー解析、プライバシー準拠の匿名化、自然言語による動画検索、ライブ字幕、SRT/VTT エクスポートを、Media Blocks のパイプラインモデルから離れることなく構築するためのモジュラーな .NET AI ビデオ SDK です。

AI ブロックを見る

OCR とナンバープレート認識(ANPR)

PaddleOCR ベースの ONNX ブロックと構造化された検出イベントにより、ライブビデオやファイル内のテキストとナンバープレートを認識します。

物体検出と解析

YOLOX、YOLOv8、または RT-DETR モデルを実行し、ByteTrack の ID、ライン横断、ポリゴンゾーン、カウンター、オーバーレイを追加します。

顔認識

顔を検出し、人物を登録し、FaceGallery と照合して、認識した人物をビデオストリームに描画します。

背景除去

ONNX マッティングモデルを使用して、背景ぼかし、単色への置き換え、画像への置き換え、または透明な RGBA 出力を行います。

カスタム ONNX 推論

独自の ONNX モデルをビデオフレームにアタッチし、アプリケーション固有の後処理のために生のテンソル出力を受け取ります。

オフライン Whisper 字幕

Whisper でオーディオをローカルに文字起こしし、Silero VAD で発話をセグメント化し、ライブ字幕をレンダリングしたり、SRT/VTT ファイルを書き出したりします。

PII 匿名化

メールアドレスや電話番号のオプションの正規表現フィルタリングを備え、顔、ナンバープレート、画面上のテキストを自動的にぼかし、ピクセル化、または単色で塗りつぶします。

オープンボキャブラリー検出と視覚言語理解

固定のクラスリストではなく、OWLv2 または Grounding DINO による自由なテキストプロンプトから物体を検出するか、Florence-2 ビジョン言語ブロックでフレームキャプション生成、OCR、フレーズグラウンディングを行います — 実行時にプロンプトと信頼度しきい値を切り替えられます。

セマンティック動画検索

動画処理中に CLIP ベースの埋め込みインデックスを構築し、自然言語クエリで検索して一致するフレームを見つけます。

同じブロックインスタンスは、Video_Processing_AddBlock / Audio_Processing_AddBlock を通じて VideoCaptureCoreX および MediaPlayerCoreX にも直接組み込むことができます — 手動での MediaBlocksPipeline の構築は不要です。Video Capture SDK .NET と Media Player SDK .NET の各ページの AI 機能もご覧ください。

Live Video Compositor

Live Video Compositor を使って、OBS のようなライブ映像制作ソフトウェアを構築できます。Media Blocks SDK .NET 上に構築されたリアルタイムのマルチ入力・マルチ出力映像合成エンジンです。カメラ、画面キャプチャ、メディアファイル、RTSP/IPカメラフィード、NDI ソースをレイヤー入力として動的に追加・削除し、GPU アクセラレーションによるレンダリングでミキシングを行い、録画ファイルやライブ配信プラットフォームへ同時に出力します。マルチカメラ切替、ピクチャー・イン・ピクチャーレイアウト、ライブオーバーレイ、放送品質のオーディオミキシングに対応し、すべて C# コードから実行時に完全制御可能です。

Live Video Compositor は、同じパイプラインモデルの上に構築された多入力・多出力の合成エンジンです。キャンバスサイズとフレームレートを指定して作成し — LiveVideoCompositorSettings(1920, 1080, new VideoFrameRate(25)) — 各ソースを独自の配置矩形と Z オーダーを持つ入力として追加します。背景いっぱいのカメラ、ピクチャーインピクチャーのオーバーレイとしての画面キャプチャ、メディアファイル、RTSP カメラ、NDI フィードなどです。入力と出力は合成の実行中に Input_AddAsync と Output_AddAsync で追加・削除でき、各入力は独立したパイプラインで動作するため、1 つのソースが停止しても他は止まりません。レイヤーは GPU アクセラレーションによる OpenGL レンダリング(CPU フォールバックあり)で合成され、結果は MP4 や WebM の録画、YouTube や Facebook へのライブ配信、DeckLink カード、画面上のプレビューなど複数の出力先へ同時に送れます。

動的な入出力管理

コンポジターの動作中であっても、映像・音声ソースや出力先をいつでも追加・削除できます。各入力は独立したパイプラインで動作するため、1つのソースに障害が発生しても合成全体に影響を与えることはありません。

GPU アクセラレーション・ミキシング

クロスプラットフォーム対応の GPU アクセラレーションレンダリング(OpenGL)または CPU フォールバックを使用して、複数の映像レイヤーをリアルタイムに合成します。ピクセル精度の矩形で各ソースを配置し、Z-order の重ね順を制御し、レターボックス、ストレッチ、フィルのリサイズポリシーから選択できます。

録画 + 配信 + プレビュー

複数の出力先に同時出力が可能です。MP4 や WebM への録画、YouTube や Facebook へのライブ配信、Decklink ハードウェアへの映像送出、画面上のプレビュー表示を、単一のコンポジターインスタンスでリアルタイムに実行できます。

ライブオーバーレイ&エフェクト

テキストオーバーレイ、画像ウォーターマーク、合成後の映像エフェクトを動的に適用でき、パイプラインの再構築は不要です。リアルタイムのオーディオ VU メーターにより、ライブ制作中にプロフェッショナルグレードのレベルモニタリングが可能です。

C# による Live Video Compositor のセットアップ

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 は、Media Blocks SDK .NET がサポートするすべての入力ソースと出力フォーマットに対応しています。カメラ、画面キャプチャ、メディアファイル、RTSP/IPカメラ、NDI、Decklink、およびすべての録画・配信出力を含みます。

Unity サポート

Media Blocks は Unity 6 向けの単一の累積 .unitypackage として提供され、メディアファイルプレーヤーとライブ RTSP ビューアのサンプルシーンを同梱し、1 回のインポートで Windows、Android、macOS、iOS に対応します。

Media Blocks の比較

開発チームが並行して検討することの多いライブラリや SDK との一対一の比較です。

ブロック・コーデック・デバイスの完全リファレンス

SDK が対応するすべてのブロック、コーデック、コンテナ、デバイス — ソース、エンコーダー、デコーダー、フィルター、シンク、ハードウェア — は専用のリファレンスページに掲載しています。

ブロックリファレンス全体を開く →

インストール

NuGet によるクイックインストール

パッケージマネージャーコンソールを使用して、SDK をプロジェクトに直接インストールします:

Install-Package VisioForge.DotNet.MediaBlocks

または、Visual Studio の NuGet パッケージマネージャーで VisioForge.DotNet.MediaBlocks を検索してください。 インストールガイドを見る →

システム要件

プラットフォーム間での開発と展開のための最小要件

オペレーティングシステム
  • Windows 10 / 11 (32 ビットおよび 64 ビット)
  • Windows 8/8.1、Windows 7 SP1
  • Windows Server 2016 以降
  • macOS 12 以降
  • Ubuntu 22.04 / 24.04
  • Android 8 以降
  • iOS 12 以降
.NET Framework
  • .NET Framework 4.6.1 以降
  • .NET Core 3.1
  • .NET 5/6/7/8/9/10
ハードウェア
  • 最小 2 GB RAM (4 GB 推奨)
  • Intel Core i5 または AMD 同等のプロセッサ
  • GPU アクセラレーションサポートはオプション (NVIDIA/Intel/AMD)
UI フレームワーク
  • WinForms
  • WPF
  • WinUI 3 for Desktop
  • Avalonia
  • GTK#
  • MAUI
  • Xamarin.Android/iOS/Mac
  • Unity

ドキュメントとリソース

Media Blocks SDK を使い始めるために必要なすべて

AIコーディングエージェントで開発する

Claude Code、Cursor、GitHub Copilot、Gemini CLI、OpenAI Codex などの AI エージェントと開発していますか?VisioForge は Media Blocks SDK .NET 向けに機械可読なインターフェースを公開しているので、エージェントは最初から正しく統合できます。適切な NuGet パッケージ、ライセンス登録、プロジェクト設定、そして本来なら推測するしかないクロスプラットフォームのデプロイ詳細まで。

ライブ API クエリとクラス検索
プラットフォーム別の統合プレイブック
クロスプラットフォームのデプロイレシピ
ドキュメント全体を llms.txt として

MCP サーバーに接続

MCP

VisioForge の MCP サーバーをエージェントに追加すると、コンテキストに応じたヘルプが得られます。API の検索、クラスとメンバーの参照、動作するコード例の取得、デプロイガイドの取得をエディター内で直接行えます。

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" } } }
MCP サーバー利用ガイド

Agent Skill を読み込む

Agent Skills

SDK とプラットフォームの組み合わせごとにダウンロード可能なスキルを公開しています。Media Blocks SDK .NET の場合、プラットフォームごとにすぐ使える SKILL.md(必要な NuGet パッケージ、ライセンスコード、csproj 設定、よくある落とし穴)と、エージェントがコピーできる動作するサンプルプロジェクトがセットになっています。Claude Code、Cursor、OpenAI Codex、Gemini CLI ほか 30 以上のエージェントに対応(Cloudflare Agent Skills RFC)。

エージェントにスキルインデックスを指定

https://www.visioforge.com/.well-known/agent-skills/index.json
スキル一覧とツール別セットアップを見る

ドキュメント全体をエージェントに渡したいですか?プレーンな Markdown としても利用できます: /llms.txt · /llms-full.txt

始める準備はできましたか?

無料トライアルをダウンロードして、今すぐメディアパイプラインの構築を開始してください

よくある質問

Media Blocks SDKとは何ですか?他のVisioForge SDKとの違いは?

Media Blocks SDKは、個々の処理ブロック(ソース、エンコーダー、エフェクト、出力)をビルディングブロックのように接続するモジュラーパイプラインアーキテクチャを採用しています。既製のワークフローを提供するVideo CaptureやMedia Player SDKとは異なり、Media Blocksはメディアパイプラインのすべての段階を完全に制御でき、カスタムや複雑なシナリオに最適です。

C#でメディアパイプラインを構築するにはどうすればよいですか?

MediaBlocksPipelineインスタンスを作成し、ソースブロック(ファイル、カメラ、RTSP、画面キャプチャ)を追加し、処理ブロック(エンコーダー、エフェクト、オーバーレイ)を接続し、出力ブロック(ファイル出力、レンダラー、ネットワークストリーム)をアタッチします。StartAsync()を呼び出して実行します。SDKがスレッド管理、同期、ハードウェアアクセラレーションを自動的に処理します。

Media Blocks SDKはmacOS、Linux、モバイルプラットフォームで動作しますか?

はい。Media Blocks SDKはWindows、macOS 12以降、Ubuntu 22.04/24.04、Android 8以降、iOS 12以降に対応しています。WinForms、WPF、MAUI、Uno Platform、Avalonia、Xamarinで動作します。同じパイプラインコードがすべてのプラットフォームで実行され、プラットフォーム固有のレンダリングとハードウェアアクセラレーションが適用されます。

RTMP、RTSP、HLSでビデオをストリーミングできますか?

はい。SDKにはRTMP(YouTube Live、Facebook Live)、RTSPサーバー、HLS、SRT、NDI、Shoutcast用の専用ストリーミング出力ブロックが含まれています。Teeブロックを使用してパイプラインを複数の出力に分割することで、ストリーミングとローカル録画およびプレビューを組み合わせることができます。

GPU高速化によるエンコードとデコードに対応していますか?

はい。Media Blocks SDKはNVIDIA NVENC、Intel Quick Sync、AMD AMFによるハードウェアアクセラレーションエンコーディング、およびハードウェアデコーディングに対応しています。モバイルプラットフォームでは、iOSおよびAndroidのハードウェアコーデックが自動的に使用されます。これにより、最小限のCPU使用率でリアルタイム4K処理が可能になります。

産業用カメラ(GigE Vision、USB3 Vision)やBlackmagic Decklinkを使用できますか?

はい。SDKにはGigE VisionおよびUSB3 Visionを介したGenICam対応産業用カメラ(Basler、Allied Vision、FLIR/Teledyne)用のソースブロックが含まれています。Blackmagic Decklinkデバイスは、プロフェッショナルなビデオキャプチャと出力用の専用ソースブロックとシンクブロックでサポートされています。

Live Video Compositor とは何ですか?手動でパイプラインを構築する場合とどう違いますか?

Live Video Compositor は、Media Blocks SDK 上に構築されたハイレベルなリアルタイム映像合成エンジンです。個々のブロックを使ってカスタムミキシングパイプラインを手動で組み立てることも可能ですが、コンポジターは OBS のようなアプリケーションに必要な完全なアーキテクチャをすぐに利用できる形で提供します。ブリッジベースの入力分離、GPU アクセラレーションによる合成、実行時の動的なソース・出力管理、Z-order レイヤー制御、ライブテキスト・画像オーバーレイ、合成後のエフェクト、オーディオ VU メーターなどが含まれます。C# と .NET でマルチカメラ切替システム、ライブ配信ソフトウェア、放送制作ツールを構築するのに最適です。

Media Blocks SDK を Unity で使用できますか?

はい。Media Blocks SDK .NET は、Windows、Android、macOS、iOS を 1 回のインポートで対象とする、Unity 6 向けの単一のクロスプラットフォーム .unitypackage を提供します。キャプチャ、ソース、デコーダーとエンコーダー、エフェクト、ミキシング、録画、ストリーミングまで完全な SDK を利用でき、あらゆるパイプラインを Unity の RawImage にレンダリングできます。2 つのサンプルシーン(メディアファイルプレーヤーとライブ RTSP / IP カメラビューアー)が出発点として付属しています。セットアップとプラットフォーム別ビルドガイドについては Unity ドキュメントを参照してください。

Unity 標準の Video Player とはどう違いますか?

Unity の Video Player はバンドルされたクリップの再生には適していますが、RTSP / IP カメラ入力に対応しておらず、コーデックも限られ、キャプチャや配信の機能はありません。Media Blocks SDK は、ライブ RTSP および IP カメラ再生、はるかに幅広いフォーマットとコーデック(H.264、H.265、AV1、VP8/VP9、ProRes、MJPEG など)、デバイスキャプチャ、録画、外部への配信を追加します。これらはすべて、Windows、Android、macOS、iOS で同じ挙動を示す一貫した 1 つのパイプラインを通じて提供されます。

Unity アプリから映像を録画したり配信したりできますか?

はい。Unity ビルドの内部から、MP4、MKV、WebM に録画し、RTMP、SRT、HLS、または内蔵 RTSP サーバー経由で配信できます。モバイルではハードウェアアクセラレーションされた H.264 / H.265 エンコーダーを使用します。ソース、オーバーレイ、ビデオミキサーを組み合わせることで、録画・配信する内容を正確に構成できます。デスクトップとモバイルの両方で利用可能です。

C# で AI ビデオ解析パイプラインを構築できますか?

はい。Media Blocks SDK .NET には、OCR、ANPR、物体検出、物体解析、顔認識、背景除去、カスタム ONNX 推論のための VisioForge.DotNet.Core.AI ブロックが含まれています。これらのブロックは、カメラ、RTSP ストリーム、レンダラー、エンコーダー、ファイル出力、ストリーミング出力と同じ MediaBlocksPipeline 内で接続します。

Whisper の音声テキスト変換はオフラインで動作しますか?

はい。VisioForge.DotNet.Core.AI.Whisper パッケージは、GGML/whisper.cpp バックエンドを通じて Whisper をローカルで実行し、発話のセグメント化のためにオプションで Silero VAD を利用できます。オーディオをクラウドサービスに送信することなく、ライブ字幕、認識された発話イベント、そしてサイドカーの SRT または VTT 字幕ファイルを生成できます。

カスタム ONNX モデルを使用できますか?

はい。OnnxInferenceBlock を使用すると、カスタムの ONNX Runtime モデルをビデオフレームに対して実行し、独自のデコーダーや後処理コードのために生のテンソル出力を受け取ることができます。一般的な検出器ファミリーについては、YOLOObjectDetectorBlock がすでに YOLOX、YOLOv8、RT-DETR の前処理、デコード、座標マッピング、オーバーレイを処理します。

これらの AI ブロックを、手動のパイプラインの代わりに VideoCaptureCoreX や MediaPlayerCoreX で使用できますか?

はい。すべての AI ブロックは、VideoCaptureCoreX および MediaPlayerCoreX が使用する処理ブロックインターフェイスも実装しているため、StartAsync(キャプチャ)や OpenAsync/PlayAsync(再生)を呼び出す前に、同じブロックインスタンスを Video_Processing_AddBlock または Audio_Processing_AddBlock に登録するだけで利用できます — 手動での MediaBlocksPipeline の構築は不要です。