VisioForge

Last updated: 2026年9月

Video Capture SDK .NET vs Medialooks MFormats SDK

パイプラインエンジン vs フレームベースキャプチャの比較

VisioForge Video Capture SDK .NETとMedialooks MFormats SDKの選択は、根本的に異なる2つのアーキテクチャモデル間の決定です。Video Capture SDKはソース、処理、出力を宣言的に構成するパイプラインベースのエンジンを使用し、MFormatsは各フレームを手動で取得してルーティングするフレームベースのグラブ-プロセス-出力ループに従います。このガイドでは、アーキテクチャ、機能、プラットフォームサポート、価格、実際のコードを比較し、プロジェクトに最適な選択ができるようにします。

年間 €250 から · Lifetime ライセンス €750 から

エグゼクティブサマリー

側面Video Capture SDK .NETMFormats SDK
アーキテクチャデュアルエンジン:ネイティブDirectShow/Media Foundation + 組み込みFFmpegパイプラインCOMオブジェクトによるフレームベースのグラブ-プロセス-出力ループ
プラットフォームサポートWindows、macOS、Linux、Android、iOS(5プラットフォーム)Windowsのみ
価格250〜500 EUR·年(サブスクリプション)または1,500 EUR Lifetime·Teamライセンス個別に見積り提供(サブスクリプション必須)
最適な用途クロスプラットフォームキャプチャアプリ、マルチ出力パイプライン、ビデオエフェクト、検出マルチベンダーSDIブロードキャスト、HTML5 CGオーバーレイ、プレイリスト/プレイアウトワークフロー
SDIハードウェアBlackmagic DeckLinkサポートBlackmagic、AJA、Bluefish444、DeltacastマルチベンダーSDI
UIフレームワークWinForms、WPF、MAUI、Avalonia、Uno、Console、BlazorWinForms、WPF、Console
ライセンスモデル永久ライセンスまたは年間サブスクリプション;期限切れ後も動作年間サブスクリプションのみ;サブスクリプション失効時にウォーターマーク追加
サポートメールサポートとチケットシステムメールサポート、フォーラム

アーキテクチャの詳細分析

Video Capture SDK .NETアーキテクチャ

Video Capture SDKはパイプラインベースの設計を使用します。ソース、処理ステージ、出力を宣言的に構成します。エンジンは内部フィルターグラフを自動的に組み立て、スレッディング、同期、バッファ管理を処理します。デュアルエンジンはネイティブデバイスアクセス用のDirectShow/Media Foundationと、高度なコーデックおよびIPカメラ取り込み用の組み込みFFmpegパイプラインをラップします。

  • ▶宣言的パイプライン構成:プロパティを設定し、StartAsync()を呼び出す
  • ▶デュアルエンジン:ネイティブOSキャプチャAPI + 組み込みFFmpeg
  • ▶Direct3D / OpenGLレンダラーによるGPUアクセラレーテッドプレビュー
  • ▶.NET async/awaitサポートによるイベント駆動アーキテクチャ
  • ▶自動スレッド管理によるシングルプロセスモデル
  • ▶1つのパイプラインからのマルチ出力:録画 + ストリーミング + スナップショットを同時に

MFormats SDKアーキテクチャ

MFormatsはCOMオブジェクト上に構築されたフレームベースのグラブ-プロセス-出力モデルを使用します。MFReaderを作成してフレームを取得し、各フレームをMFTransformオブジェクトで処理し、MFWriterまたはMFRenderer出力に送信します。これによりフレームごとの細かい制御が可能になりますが、キャプチャループの記述、スレッディングの管理、フレームタイミングの手動処理が必要です。

  • ▶フレームベースループ:MFReaderからフレームを取得、処理、MFWriterに送信
  • ▶.NETインターオプラッパーを備えたCOMベースアーキテクチャ
  • ▶手動スレッディングとフレームタイミング管理が必要
  • ▶フレームごとの制御によりカスタムルーティングロジックが可能
  • ▶パイプラインの各ステージ用の個別オブジェクト(Reader、Transform、Writer、Renderer)
  • ▶ブロードキャストワークフロー用の組み込みプレイアウトおよびプレイリストスケジューリング

主要なアーキテクチャの違い

側面Video Capture SDKMFormats SDK
プログラミングモデル宣言的パイプライン:構成して開始命令型ループ:フレームごとに取得、処理、出力
スレッディング自動内部スレッド管理開発者がキャプチャループのスレッディングを管理
フレームルーティングパイプライン構成による自動コード内でフレームごとに手動ルーティング
マルチ出力1つのパイプラインからの組み込み同時出力開発者がフレームを複製して複数のwriterにルーティング
プラットフォームクロスプラットフォーム(.NET 6-10、MAUI)Windowsのみ(COMベース)
オブジェクトモデル純粋な.NETマネージドAPI.NETラッパーによるCOMインターオプ

機能ごとの比較

キャプチャソース

機能Video Capture SDKMFormats SDK
USBウェブカメラ✅✅
スクリーン/デスクトップキャプチャ✅✅
IPカメラ(RTSP/ONVIF)✅✅
Blackmagic DeckLink SDI✅✅
AJA SDIカード❌✅
Bluefish444 SDIカード❌✅
Deltacast SDIカード❌✅
TVチューナー(BDA/DVB)✅❌
NDIソース✅✅
産業用カメラ(GenICam/GigE Vision)✅❌
仮想カメラ(OBS Virtual Cam)✅⚠️(DirectShow経由)

録画と出力

機能Video Capture SDKMFormats SDK
MP4(H.264 / H.265)✅✅
MXFコンテナ⚠️✅(MFormatsはブロードキャストMXFに強い)
MKVコンテナ✅❌
WebM(VP8 / VP9 / AV1)✅❌
AVI✅✅
MOV(ProRes)✅✅
WMV / ASF✅✅
MPEG-TS✅✅
アニメーションGIF✅❌
オーディオのみ(MP3、AAC、WAV、FLAC)✅⚠️
プリイベント録画(循環バッファ)✅❌

マルチ出力

機能Video Capture SDKMFormats SDK
録画 + ストリーミングの同時実行✅✅
複数の独立した録画出力✅⚠️(手動フレーム複製が必要)
独立した出力制御(各出力の開始/停止/一時停止)✅⚠️(writerごとの手動制御)
出力ごとに異なるコーデック✅✅
録画中のスナップショット✅✅

ストリーミング

機能Video Capture SDKMFormats SDK
RTMP Push✅✅
RTSPサーバー✅❌
SRTストリーミング✅✅
HLS出力✅⚠️
NDI出力✅✅
UDP / TCPマルチキャスト✅✅

ビデオ処理とエフェクト

機能Video Capture SDKMFormats SDK
リアルタイムリサイズ/クロップ✅✅
デインターレース✅✅
色調整✅✅
テキスト/画像オーバーレイ✅✅
HTML5 CGオーバーレイ❌✅
クロマキー(グリーンスクリーン)✅✅
GPUアクセラレーテッドビデオエフェクト(40+)✅⚠️(組み込みエフェクトが限定的)
ピクチャーインピクチャー✅✅
トランジションとワイプ✅✅

オーディオ

機能Video Capture SDKMFormats SDK
オーディオデバイスキャプチャ✅✅
オーディオミキシング(複数入力)✅✅
オーディオエフェクト(40+組み込み:EQ、コンプレッサー、リバーブなど)✅❌
VUメーター/レベル監視✅✅
システムオーディオループバックキャプチャ✅⚠️
埋め込みオーディオルーティング(SDI)✅✅

検出と分析

機能Video Capture SDKMFormats SDK
モーション検出✅❌
顔検出✅❌
バーコード/QRコード読み取り✅❌
オブジェクトトラッキング✅❌
オーディオレベル検出✅✅

ブロードキャストとプレイアウト

機能Video Capture SDKMFormats SDK
プレイリスト/プレイアウトスケジューリング❌✅
マルチベンダーSDI出力⚠️✅(MFormatsはAJA、Bluefish、Deltacast出力をサポート)
HTML5 CG(キャラクタージェネレーター)オーバーレイ❌✅
仮想カメラ出力✅❌
ゲンロック/リファレンス同期❌✅

プラットフォームサポート

オペレーティングシステム互換性

プラットフォームVideo Capture SDKMFormats SDK
Windows x64✅✅
Windows ARM64✅❌
macOS(Apple Silicon + Intel)✅❌
Linux x64(Ubuntu、Debian、Fedora)✅❌
Linux ARM64(Raspberry Pi)✅❌
Android(.NET MAUI経由)✅❌
iOS(.NET MAUI経由)✅❌

UIフレームワーク互換性

フレームワークVideo Capture SDKMFormats SDK
WinForms✅✅
WPF✅✅
.NET MAUI✅❌
Avalonia UI✅❌
Uno Platform✅❌
Console / Service✅✅
Blazor(Server-Side)✅❌

価格比較

Video Capture SDK .NETの価格

開発者(年間)250〜500 EUR·年

開発者1名、商用利用、年間アップデートとサポート

Lifetime·Team1,500 EUR

1都市の1拠点にいる購入組織の全開発者、永続利用、製品の存続期間中のアップデート

Lifetime·Team1,500 EUR

1都市の1拠点にいる購入組織の全開発者、永続利用、製品の存続期間中のアップデート

All licenses include:

  • ✓ ロイヤリティフリー配布
  • ✓ すべてのソースコード例
  • ✓ メールサポート
  • ✓ すべてのプラットフォームターゲット含む
  • ✓ 永久ライセンスオプション:サブスクリプション終了後も使用継続可能(ウォーターマークなし)

MFormats SDKの価格

MFormats SDK(開発者1名)価格はお問い合わせください

年間サブスクリプション、単一開発者、Windowsのみ

開発者5名 / 3年間価格はお問い合わせください

開発者5席、3年間サブスクリプション契約

ランタイムライセンス追加費用

構成によってはデプロイメントごとのランタイム料金が必要な場合あり

サブスクリプション失効に関する警告

MFormats SDKは必須の年間サブスクリプションモデルを使用しています。サブスクリプションが失効または更新されない場合:

  • ⚠すべてのビデオ出力にウォーターマークが自動的に追加されます
  • ⚠アクティブなサブスクリプションなしでは本番環境でSDKを使用し続けることができません
  • ⚠永久ライセンスのフォールバックオプションはありません
  • ⚠ライセンスサーバーが検証できない場合、デプロイされたアプリケーションにウォーターマークが表示されます

Video Capture SDKは購入後無期限に動作し続ける永久ライセンスを提供しており、更新が失効してもウォーターマークのペナルティはありません。

年間 €250 から · Lifetime ライセンス €750 から

コード例

例1:ウェブカメラキャプチャからMP4

Video Capture SDK .NET

C#
using VisioForge.Core.VideoCapture;
using VisioForge.Core.Types;
using VisioForge.Core.Types.Output;
using VisioForge.Core.Types.VideoCapture;

// Create the capture engine
var capture = new VideoCaptureCore();

// Set video source (first available webcam)
var devices = capture.Video_CaptureDevices();
capture.Video_CaptureDevice = new VideoCaptureSource(devices[0].Name);

// Set audio source
var audioDevices = capture.Audio_CaptureDevices();
capture.Audio_CaptureDevice = new AudioCaptureSource(audioDevices[0].Name);

// Configure MP4 output
capture.Output_Format = new MP4Output();
capture.Output_Filename = "recording.mp4";

// Set mode to capture with preview
capture.Mode = VideoCaptureMode.VideoCapture;

// Start recording with preview
await capture.StartAsync();

MFormats SDK

C#
// MFormats: Frame-based capture loop
MFDeviceClass devClass = new MFDeviceClass();
MFReaderClass reader = new MFReaderClass();
MFWriterClass writer = new MFWriterClass();
MFRendererClass renderer = new MFRendererClass();

// Configure video device
reader.DeviceSet(eMFDeviceType.eMFDT_Video, 0, "");
reader.DeviceSet(eMFDeviceType.eMFDT_Audio, 0, "");

// Configure writer output
writer.WriterSet("recording.mp4", 0, "");

// You must run the capture loop yourself
while (capturing)
{
    MFFrame frame;
    reader.SourceFrameGet(-1, out frame, "");

    if (frame != null)
    {
        // Preview
        renderer.RenderSet("preview", frame, "");

        // Write to file
        writer.WriterPut(frame, "");

        // Release frame manually
        Marshal.ReleaseComObject(frame);
    }

    Thread.Sleep(1); // Manual timing
}

例2:IPカメラ + オーバーレイ + ストリーミング

Video Capture SDK .NET

C#
using VisioForge.Core.VideoCapture;
using VisioForge.Core.Types;
using VisioForge.Core.Types.Output;
using VisioForge.Core.Types.VideoCapture;
using VisioForge.Core.Types.VideoEffects;
using VisioForge.Core.Types.FFMPEGEXE;

var capture = new VideoCaptureCore();

// IP camera source
capture.IP_Camera_Source = new IPCameraSourceSettings
{
    URL = new Uri("rtsp://192.168.1.100:554/stream"),
    Type = IPSourceEngine.Auto_FFMPEG
};
capture.Mode = VideoCaptureMode.IPCapture;

// Add text overlay
capture.Video_Effects_Enabled = true;
capture.Video_Effects_Clear();
var textOverlay = new VideoEffectTextLogo(true)
{
    Text = "{timestamp} - Camera 1",
    Left = 10,
    Top = 10,
    Font = new System.Drawing.Font("Arial", 14),
    FontColor = System.Drawing.Color.White
};
capture.Video_Effects_Add(textOverlay);

// Stream to RTMP
capture.Network_Streaming_Enabled = true;
capture.Network_Streaming_Format = NetworkStreamingFormat.RTMP_FFMPEG_EXE;
var ffmpegOutput = new FFMPEGEXEOutput();
ffmpegOutput.FillDefaults(DefaultsProfile.MP4_H264_AAC, true);
ffmpegOutput.OutputMuxer = OutputMuxer.FLV;
capture.Network_Streaming_Output = ffmpegOutput;
capture.Network_Streaming_URL = "rtmp://streaming-server/live/stream_key";

// Also record locally
capture.Output_Filename = "backup.mp4";
capture.Output_Format = new MP4Output();

await capture.StartAsync();

MFormats SDK

C#
// MFormats: Manual frame loop with overlay + streaming
MFReaderClass reader = new MFReaderClass();
MFWriterClass localWriter = new MFWriterClass();
MFWriterClass rtmpWriter = new MFWriterClass();
MFRendererClass renderer = new MFRendererClass();

// Configure RTSP source
reader.ReaderOpen("rtsp://192.168.1.100:554/stream", "");

// Configure outputs
localWriter.WriterSet("backup.mp4", 0, "");
rtmpWriter.WriterSet("rtmp://streaming-server/live/stream_key", 0, "");

while (capturing)
{
    MFFrame frame;
    reader.SourceFrameGet(-1, out frame, "");

    if (frame != null)
    {
        // Add overlay manually via MFTransform
        MFOverlayClass overlay = new MFOverlayClass();
        overlay.OverlayTextSet(frame,
            DateTime.Now.ToString() + " - Camera 1",
            10, 10, 14, "Arial", 0xFFFFFF, 0, "");

        // Clone frame for second output
        MFFrame clone;
        frame.MFClone(out clone, eMFrameClone.eMFC_Full, eMFCC.eMFCC_Default);

        // Write to local file
        localWriter.WriterPut(frame, "");

        // Write to RTMP stream
        rtmpWriter.WriterPut(clone, "");

        Marshal.ReleaseComObject(clone);
        Marshal.ReleaseComObject(frame);
    }
}

各ソリューションを選ぶタイミング

次の場合はVideo Capture SDKを選択

  • ✓クロスプラットフォームキャプチャアプリケーション(Windows、macOS、Linux、モバイル)
  • ✓自動スレッディングとバッファ管理を備えたパイプラインベースアーキテクチャ
  • ✓40以上の組み込みGPUアクセラレーテッドビデオ・オーディオエフェクト
  • ✓キャプチャ中のモーション検出、顔検出、バーコードスキャン
  • ✓OBS、Zoom、Teams連携用の仮想カメラ出力
  • ✓永久ライセンスオプション付きの予算に優しいライセンス
  • ✓個別の開始/停止制御を持つ複数の独立した出力
  • ✓産業用カメラサポート(GenICam、GigE Vision)
  • ✓TVチューナーおよびDVBキャプチャサポート

次の場合はMFormats SDKを選択

  • ✓マルチベンダーSDIサポート:Blackmagicに加えAJA、Bluefish444、Deltacast
  • ✓プレイリストスケジューリングと自動化によるブロードキャストプレイアウト
  • ✓ライブブロードキャスト用HTML5ベースCG(キャラクタージェネレーター)オーバーレイ
  • ✓ブロードキャストスタジオ環境用のゲンロックおよびリファレンス同期
  • ✓すべての処理ステップに対するフレームごとの手動制御
  • ✓完全なブロードキャストメタデータサポート付きMXFコンテナフォーマット
  • ✓既存のブロードキャストインフラストラクチャおよびSDIルーターとの統合

決定マトリックス

要件Video Capture SDKMFormats SDK勝者
クロスプラットフォームサポートVideo Capture SDK
独立制御付きマルチ出力Video Capture SDK
オーディオエフェクト(40+組み込み)Video Capture SDK
GPUビデオエフェクトVideo Capture SDK
モーション/顔/バーコード検出Video Capture SDK
仮想カメラ出力Video Capture SDK
2,000 EUR以下の予算Video Capture SDK
永久ライセンスオプションVideo Capture SDK
産業用カメラ(GenICam)Video Capture SDK
TVチューナー/DVBキャプチャVideo Capture SDK
マルチベンダーSDI(AJA、Bluefish444)MFormats SDK
ブロードキャスト用HTML5 CGオーバーレイMFormats SDK

結論

Video Capture SDK .NET

Video Capture SDKは、豊富なビデオ処理、検出機能、複数の独立した出力、幅広いデバイスサポートを必要とする.NET開発者向けの、クロスプラットフォームのパイプラインベースキャプチャエンジンとして優れています。その宣言的API、40以上のGPUエフェクト、永久ライセンスにより、デスクトップからモバイルまでのほとんどのキャプチャアプリケーションにとってコスト効率の高い選択肢です。

MFormats SDK

MFormats SDKは、マルチベンダーSDIハードウェアサポート(AJA、Bluefish444、Deltacast)、HTML5 CGオーバーレイ、プレイリストベースのプレイアウト自動化を必要とするブロードキャスト中心のワークフローに適しています。そのフレームベースアーキテクチャは、プロフェッショナルなブロードキャスト環境に適したフレームごとの細かい制御を提供します。ただし、Windowsのみで、大幅に高価であり、サブスクリプションが失効するとウォーターマークが追加されます。

The Reality

大多数の.NETビデオキャプチャプロジェクト — 特にクロスプラットフォームサポート、検出機能、または予算に配慮したライセンスを必要とするプロジェクト — にとって、Video Capture SDKは明らかな選択肢です。MFormatsは、AJA/Bluebishハードウェア統合とCGオーバーレイワークフローが不可欠なマルチベンダーSDIブロードキャストスタジオに特化した位置付けです。

Frequently Asked Questions

サブスクリプションを更新しないとMFormatsアプリケーションはどうなりますか?
MFormatsは必須の年間サブスクリプションモデルを使用しています。サブスクリプションが失効すると、デプロイされたアプリケーションのすべてのビデオ出力にウォーターマークが自動的に追加されます。永久ライセンスのフォールバックオプションはありません。Video Capture SDKは対照的に、購入後無期限に動作し続ける永久ライセンスを提供しており、ウォーターマークのペナルティはありません。
Video Capture SDKはAJAまたはBluefish444 SDIカードをサポートしていますか?
現在、Video Capture SDKはBlackmagic DeckLink SDIカードをサポートしていますが、AJAまたはBluefish444ハードウェアはサポートしていません。プロジェクトでBlackmagicに加えてAJA、Bluefish、DeltacastのマルチベンダーSDIサポートが必要な場合、その特定の要件にはMFormatsがより適した選択です。
Video Capture SDKはmacOSとLinuxで動作しますか?
はい。Video Capture SDKはWindows、macOS(Apple SiliconおよびIntel)、Linux x64、Linux ARM64、Android、iOSをサポートしています。MFormatsはCOMベースのアーキテクチャのため、Windowsのみです。
5人の開発者チームで3年間の価格モデルはどう比較されますか?
5人の開発者で3年間の場合、MFormatsのライセンスは個別に見積もられます(Medialooksは価格を公開していません)。Video Capture SDK Lifetime·Teamライセンスは1,500 EURの1回限りの永久購入で、1都市の1拠点にいる購入組織の全開発者を対象とします。
MFormatsには組み込みのモーション検出や顔検出がありますか?
いいえ。MFormatsには組み込みの検出機能がありません。モーション検出、顔検出、バーコードスキャンにはサードパーティライブラリを統合する必要があります。Video Capture SDKはこれらすべてをイベント駆動コールバック付きの組み込み機能として含んでいます。
ブロードキャストプレイアウトアプリケーションにはどちらのSDKが優れていますか?
MFormatsはブロードキャストプレイアウトワークフロー向けに特別に設計されています。プレイリストスケジューリング、HTML5 CGオーバーレイ、ゲンロックサポート、マルチベンダーSDI出力が含まれています。主な用途がブロードキャストプレイアウト自動化であれば、MFormatsがより強力な選択肢です。
MFormatsからVideo Capture SDKに移行できますか?
はい、ただしプログラミングモデルは異なります。MFormatsはフレームベースのグラブ-プロセス-出力ループを使用し、Video Capture SDKは宣言的パイプラインを使用します。移行は通常、手動フレームループをパイプライン構成とイベントハンドラーに置き換えることを含みます。ほとんどのチームは、SDKコードが大幅に短く、保守が容易であると感じています。プロジェクトの複雑さに応じて、移行には1〜3週間を見込んでください。

はじめる

MedialooksはMFormatsの価格を公開していません。ライセンスは個別に見積もられます。製品情報はmedialooks.com/mformats(2026-09-06確認)。

Related Comparisons