VisioForge

Last updated: 2026年1月

Video Capture SDK .NET vs Datastead TVideoGrabber

包括的な.NETビデオキャプチャコンポーネント比較

.NETアプリケーションに適したビデオキャプチャコンポーネントの選択は、プロジェクトの機能と長期的なコストを決定します。このガイドでは、VisioForge Video Capture SDK .NET(5つのオペレーティングシステムをサポートするモダンなデュアルエンジンキャプチャプラットフォーム)とDatastead TVideoGrabber(Windows向けの成熟したDirectShowベースのキャプチャコンポーネント)の詳細な比較を提供します。アーキテクチャ、機能、マルチ出力サポート、ストリーミング、価格、実際のコードを検証し、情報に基づいた判断ができるようにします。

エグゼクティブサマリー

側面Video Capture SDK .NETTVideoGrabber
アーキテクチャデュアルエンジン:ネイティブDirectShow/Media Foundation + 組み込みFFmpegパイプラインシングルエンジン:DirectShowプロパティベースコンポーネント
プラットフォームサポートWindows、macOS、Linux、Android、iOS(5プラットフォーム)Windowsのみ
価格年額EUR 489 – EUR 6,999(全機能含む)EUR 695基本 + EUR 950 NDI + EUR 950エンコーダーアドオン = 同等機能でEUR 2,595以上
最適な用途ストリーミング、マルチ出力、リアルタイムエフェクトを備えたクロスプラットフォームキャプチャアプリOCR要件のあるWindows専用シングル出力キャプチャ
APIスタイルイベントとawaitパターンを備えた非同期優先.NET API同期呼び出しによるプロパティベースコンポーネントモデル

アーキテクチャ詳細分析

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

Video Capture SDKはデュアルエンジン設計を採用しています。プライマリエンジンはWindows上のDirectShowとMedia Foundationをラップし、OSが公開するすべてのキャプチャデバイスへのネイティブアクセスを提供します。セカンダリの組み込みFFmpegパイプラインは、高度なコーデック操作、IPカメラの取り込み、クロスプラットフォーム録画を処理します。両エンジンは統一された.NET APIサーフェスを共有しているため、エンジン間の切り替えにコード変更は不要です。

  • DirectShowとMedia FoundationフィルターグラフによるネイティブWindowsキャプチャ
  • 外部CLI依存なしのコーデック柔軟性のための組み込みFFmpeg
  • Direct3D / OpenGLレンダラーによるGPUアクセラレーテッドプレビュー
  • .NET async/awaitサポートによるイベント駆動アーキテクチャ
  • シングルプロセスモデル — 子プロセス管理不要
  • クロスプラットフォームサポート:Windows、macOS、Linux、Android、iOS

TVideoGrabberアーキテクチャ

TVideoGrabberはDatasteadが開発したシングルエンジンのDirectShowベースコンポーネントです。プロパティベースのAPIを通じてキャプチャデバイスのプロパティと録画設定を公開します。キャプチャ開始前にコンポーネントのプロパティを設定することで構成を行い、.NET向けに適応された伝統的なDelphi/VCLコンポーネントパターンに従っています。

  • Windows上のデバイスアクセスと録画のためのDirectShowフィルターグラフ
  • プロパティベースの構成モデル(プロパティを設定してから開始)
  • 組み込みONVIF PTZカメラ制御サポート
  • キャプチャ中のOCRテキスト認識(ユニークな機能)
  • NDIと高度なエンコーディング用のオプションアドオンモジュール
  • Windowsのみ — macOS、Linux、モバイルサポートなし

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

側面Video Capture SDKTVideoGrabber
エンジン設計デュアルエンジン(DirectShow/MF + FFmpeg)シングルエンジン(DirectShowのみ)
プラットフォーム範囲5つのOS、7つのUIフレームワークWindowsのみ、WinForms/WPF
APIパターンAsync/await、イベント、マネージドオブジェクトプロパティベース、同期呼び出し
マルチ出力同時録画 + ストリーム + スナップショット一度に1つの出力のみ
ストリーミングRTMP、RTSP、SRT、HLS、NDI組み込みストリーミングプロトコルなし
アドオンモデルライセンスに全機能含むベース + 有料アドオン(NDI EUR 950、エンコーダー EUR 950)

機能別比較

キャプチャソース

機能Video Capture SDKTVideoGrabber
USBウェブカメラ
ノートPC内蔵カメラ
画面 / デスクトップキャプチャ
IPカメラ(RTSP/ONVIF)
ONVIF PTZ制御
キャプチャカード(Blackmagic、Magewell)⚠️(DirectShow経由のみ)
TVチューナー(BDA/DVB)⚠️(限定的なサポート)
NDIソース⚠️(EUR 950のアドオンが必要)
仮想カメラ(OBS Virtual Cam)
DECKLINK入力

録画

機能Video Capture SDKTVideoGrabber
MP4(H.264 / H.265)
MKVコンテナ
WebM(VP8 / VP9 / AV1)
AVI
WMV / ASF
MOV(ProRes)
MPEG-TS⚠️(限定的なコンテナサポート)
アニメーションGIF
オーディオのみ(MP3、AAC、WAV)⚠️
時間/サイズによるファイル分割
プリイベント録画(循環バッファ)

マルチ出力

機能Video Capture SDKTVideoGrabber
同時録画 + ストリーム
複数の録画出力
同時録画 + スナップショット⚠️(基本的なスナップショットサポート)
出力ごとの異なる解像度
仮想カメラ出力
タイムシフト / 遅延再生

ストリーミングプロトコル

機能Video Capture SDKTVideoGrabber
RTMP Push(YouTube、Twitch)
RTSPサーバーモード
SRT(Caller / Listener)
HLSセグメント生成
NDI出力
UDP / TCP ユニキャスト / マルチキャスト

ビデオ処理

機能Video Capture SDKTVideoGrabber
リアルタイムリサイズ / クロップ
デインターレース
色調整(明るさ、コントラスト)
テキストオーバーレイ(タイムスタンプ、ウォーターマーク)
画像オーバーレイ / ロゴ
GPUアクセラレーテッドビデオエフェクト
クロマキー(グリーンスクリーン)
ピクチャーインピクチャー

オーディオ

機能Video Capture SDKTVideoGrabber
オーディオデバイスキャプチャ
システムオーディオ(ループバック)キャプチャ
オーディオミキシング(複数入力)
リアルタイム音量 / ゲイン制御⚠️
オーディオエフェクト(エコー、リバーブ)
VUメーター / レベルモニタリング⚠️

検出と分析

機能Video Capture SDKTVideoGrabber
モーション検出
顔検出
バーコード / QRコード読取
OCRテキスト認識
オブジェクトトラッキング
オーディオレベル検出⚠️

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

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

プラットフォームVideo Capture SDKTVideoGrabber
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 SDKTVideoGrabber
WinForms
WPF
.NET MAUI
Avalonia UI
Console / Service
ASP.NET Core(バックグラウンドサービス)
Blazor(サーバーサイド処理)

価格比較

Video Capture SDK .NETの価格

HomeEUR 489

開発者1名、非商用利用

ProfessionalEUR 1,000

開発者1名、商用利用、全機能含む

Team SmallEUR 3,499

最大3名の開発者、商用利用、1年間のアップデート

TeamEUR 6,999

最大8名の開発者、商用利用、1年間のアップデート

All licenses include:

  • ロイヤリティフリーの配布
  • 全機能含む(ストリーミング、NDI、GPUエフェクト、マルチ出力)
  • 全ソースコードサンプル
  • 優先チケットサポート
  • 5つの全プラットフォームターゲット含む

TVideoGrabberの価格

基本ライセンスEUR 695

シングル出力キャプチャ、基本機能、Windowsのみ

NDIアドオンEUR 950

NDIソース/出力サポートを追加

エンコーダーアドオンEUR 950

高度なハードウェアエンコーディングサポートを追加

フルスタック(基本 + NDI + エンコーダー)EUR 2,595

全アドオン含む — それでもWindowsのみ、ストリーミングなし、シングル出力

総所有コスト

同等の機能セットを比較すると、価格の状況は大きく変わります。全アドオン付きのTVideoGrabberライセンスはEUR 2,595で、Windows専用のシングル出力キャプチャのみを提供します。EUR 1,000のVideo Capture SDK Professionalには、クロスプラットフォームサポート、ストリーミング、マルチ出力、GPUエフェクトなどが含まれ、価格は半額以下です。

  • SDK Professional(EUR 1,000)は全て含む vs TVideoGrabberフルスタック(EUR 2,595)はギャップあり
  • SDKにはストリーミングプロトコル(RTMP、SRT、HLS)が含まれる — TVideoGrabberにはどの価格帯でもなし
  • SDKにはマルチ出力録画が含まれる — TVideoGrabberにはどの価格帯でもなし
  • SDKは5つのプラットフォームをカバー — TVideoGrabberはWindowsのみ
  • SDKにはGPUアクセラレーテッドエフェクト含む — TVideoGrabberは基本的な処理のみ

コード例

例1:ウェブカメラのMP4録画

Video Capture SDK .NET

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

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

// Set video source (first available webcam)
var devices = await capture.Video_CaptureDevice_ListAsync();
capture.Video_CaptureDevice = devices[0];

// Set audio source
var audioDevices = await capture.Audio_CaptureDevice_ListAsync();
capture.Audio_CaptureDevice = audioDevices[0];

// Configure MP4 output with H.264
capture.Output_Format = new MP4Output
{
    Video = new H264EncoderSettings
    {
        Bitrate = 4000,
        Profile = H264Profile.Main
    },
    Audio = new AACEncoderSettings
    {
        Bitrate = 192
    }
};
capture.Output_Filename = "recording.mp4";

// Enable preview
capture.Video_Preview_Enabled = true;

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

TVideoGrabber

C#
// TVideoGrabber — property-based approach
var grabber = new TVideoGrabber();

// Select video device by index
grabber.VideoDevice = 0;

// Select audio device by index
grabber.AudioDevice = 0;

// Set recording mode
grabber.RecordingMethod = TRecordingMethod.rmMP4;

// Set output filename
grabber.RecordingFileName = "recording.mp4";

// Set video bitrate
grabber.VideoBitrate = 4000000;

// Set audio bitrate
grabber.AudioBitrate = 192000;

// Start capture and recording
grabber.StartPreview();
grabber.StartRecording();

// Note: Properties set before starting
// No async/await — synchronous calls
// Single output only

例2:ONVIF PTZ制御付きIPカメラ

Video Capture SDK .NET

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

var capture = new VideoCaptureCore();

// Connect to ONVIF IP camera
capture.IP_Camera_Source = new IPCameraSourceSettings
{
    URL = "rtsp://192.168.1.100:554/stream",
    Login = "admin",
    Password = "password",
    Type = IPCameraType.RTSP
};

// ONVIF PTZ control
var ptz = new ONVIFPTZController(
    "192.168.1.100", "admin", "password");
await ptz.MoveAsync(PanDirection.Left, TiltDirection.Up, 0.5);
await ptz.ZoomAsync(ZoomDirection.In, 0.3);
await ptz.GoToPresetAsync("entrance");

// Record while controlling PTZ
capture.Output_Format = new MP4Output();
capture.Output_Filename = "camera_feed.mp4";

// Simultaneously stream to RTMP
capture.Network_Streaming_Enabled = true;
capture.Network_Streaming_Format = new RTMPOutput
{
    URL = "rtmp://stream.example.com/live",
    StreamKey = "KEY"
};

await capture.StartAsync();

TVideoGrabber

C#
// TVideoGrabber — ONVIF PTZ support
var grabber = new TVideoGrabber();

// Set IP camera URL
grabber.IPCameraURL = "rtsp://192.168.1.100:554/stream";
grabber.IPCameraLogin = "admin";
grabber.IPCameraPassword = "password";

// ONVIF PTZ — built-in support
grabber.ONVIF_PTZ_Move(
    ePTZ_Direction.Left, 50);
grabber.ONVIF_PTZ_Zoom(
    ePTZ_ZoomDirection.In, 30);
grabber.ONVIF_PTZ_GotoPreset("entrance");

// Record to file
grabber.RecordingMethod = TRecordingMethod.rmMP4;
grabber.RecordingFileName = "camera_feed.mp4";

grabber.StartPreview();
grabber.StartRecording();

// Note: No streaming capability
// Cannot simultaneously record + stream
// PTZ control is a strong point
// Windows only

例3:マルチ出力録画 + ストリーミング

Video Capture SDK .NET

C#
using VisioForge.Core.VideoCapture;

var capture = new VideoCaptureCore();

// Set webcam source
var devices = await capture.Video_CaptureDevice_ListAsync();
capture.Video_CaptureDevice = devices[0];

// Output 1: High-quality local recording
capture.Output_Format = new MP4Output
{
    Video = new H264EncoderSettings
    {
        Bitrate = 8000,
        Profile = H264Profile.High
    }
};
capture.Output_Filename = "archive.mp4";

// Output 2: Stream to YouTube via RTMP
capture.Network_Streaming_Enabled = true;
capture.Network_Streaming_Format = new RTMPOutput
{
    URL = "rtmp://a.rtmp.youtube.com/live2",
    StreamKey = "YOUR_KEY",
    Video = new H264EncoderSettings { Bitrate = 4500 }
};

// Output 3: Low-res recording for thumbnails
capture.AdditionalOutputs.Add(new OutputConfig
{
    Filename = "preview.mp4",
    Format = new MP4Output
    {
        Video = new H264EncoderSettings
        {
            Bitrate = 1000,
            Width = 640, Height = 360
        }
    }
});

// All three outputs run simultaneously
await capture.StartAsync();

TVideoGrabber

C#
// TVideoGrabber — single output only
var grabber = new TVideoGrabber();

// Select video device
grabber.VideoDevice = 0;

// Can only record to ONE file at a time
grabber.RecordingMethod = TRecordingMethod.rmMP4;
grabber.RecordingFileName = "archive.mp4";
grabber.VideoBitrate = 8000000;

grabber.StartPreview();
grabber.StartRecording();

// LIMITATIONS:
// - Cannot stream while recording
// - Cannot record multiple files simultaneously
// - No RTMP/SRT/HLS streaming support
// - No additional outputs at different resolutions
// - To stream, you would need a separate tool
//   alongside TVideoGrabber
//
// Multi-output and streaming are simply
// not available in TVideoGrabber at any
// price point.

例4:録画付きモーション検出

Video Capture SDK .NET

C#
using VisioForge.Core.VideoCapture;

var capture = new VideoCaptureCore();

// Set video source
var devices = await capture.Video_CaptureDevice_ListAsync();
capture.Video_CaptureDevice = devices[0];

// Enable motion detection
capture.Motion_Detection.Enabled = true;
capture.Motion_Detection.Sensitivity = 70;
capture.Motion_Detection.HighlightMotion = true;
capture.Motion_Detection.HighlightColor = Color.Red;

// Motion event handler
capture.OnMotionDetected += (s, e) =>
{
    Console.WriteLine(
        $"Motion at {DateTime.Now}: " +
        $"Level={e.Level:P0}");

    // Start recording on motion
    if (!capture.IsRecording)
    {
        capture.Output_Filename =
            $"motion_{DateTime.Now:yyyyMMdd_HHmmss}.mp4";
        capture.StartRecording();
    }
};

// Configure output
capture.Output_Format = new MP4Output
{
    Video = new H264EncoderSettings
    {
        Bitrate = 4000,
        UseHardwareEncoder = true
    }
};

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

TVideoGrabber

C#
// TVideoGrabber — motion detection
var grabber = new TVideoGrabber();

// Select video device
grabber.VideoDevice = 0;

// Enable motion detection
grabber.MotionDetection_Enabled = true;
grabber.MotionDetection_Sensitivity = 70;

// Motion event
grabber.OnMotionDetected += (s, e) =>
{
    Console.WriteLine(
        $"Motion detected at {DateTime.Now}");
};

// Set recording format
grabber.RecordingMethod = TRecordingMethod.rmMP4;
grabber.RecordingFileName = "motion.mp4";

grabber.StartPreview();

// Note: TVideoGrabber does support
// basic motion detection — this is
// a shared capability.
// However, no motion highlight overlay,
// no hardware encoding toggle,
// no dynamic filename switching,
// no simultaneous stream on motion.

意思決定マトリックス

要件Video Capture SDKTVideoGrabber勝者
クロスプラットフォーム(Windows、Mac、Linux、モバイル)Video Capture SDK
マルチ出力(同時録画 + ストリーム)Video Capture SDK
リアルタイムオーディオエフェクトVideo Capture SDK
GPUアクセラレーテッドビデオエフェクトVideo Capture SDK
RTMP / HLS / SRTストリーミングVideo Capture SDK
仮想カメラ出力Video Capture SDK
ファイル分割 / タイムシフトVideo Capture SDK
ハードウェアエンコーディング(NVENC、QSV)Video Capture SDK
追加コストなしのNDIVideo Capture SDK
キャプチャ中のOCRTVideoGrabber

結論

Video Capture SDK .NET

Video Capture SDKは、5つのオペレーティングシステム、7つのUIフレームワークをカバーし、ストリーミング、マルチ出力、GPUエフェクト、NDI、ハードウェアエンコーディングなど全機能をEUR 1,000からの単一ライセンスに含む、包括的でモダンなキャプチャプラットフォームを提供します。クロスプラットフォームキャプチャアプリケーションを構築するチームや、ストリーミングとマルチ出力録画を必要とするプロジェクトにとって、SDKはアドオン付きTVideoGrabberよりも大幅に高い価値を低い総コストで提供します。

TVideoGrabber

TVideoGrabberは、堅実なDirectShow統合とユニークなOCR機能を備えた成熟したWindows専用キャプチャコンポーネントです。ビデオフィードからのテキスト認識を必要とするシンプルなWindows専用キャプチャプロジェクトには合理的な選択です。しかし、ストリーミング、マルチ出力サポート、クロスプラットフォーム互換性の欠如、およびアドオンの高コスト(合計EUR 2,595)は、モダンなアプリケーション開発における魅力を制限しています。

The Reality

OCR要件があり、ストリーミングやマルチ出力を必要としないWindows専用プロジェクトには、TVideoGrabberは実行可能なオプションです。他のほぼすべてのビデオキャプチャシナリオ — クロスプラットフォーム、ストリーミング、マルチ出力、GPUエフェクト、またはコスト重視の開発 — では、Video Capture SDKがより低い総価格でより強力な選択肢です。

Frequently Asked Questions

TVideoGrabberはYouTubeやTwitchへのRTMPストリーミングをサポートしていますか?
いいえ。TVideoGrabberにはストリーミングプロトコルが含まれていません。ファイルへのキャプチャコンポーネントです。ストリーミングを行うには、TVideoGrabberと並行して別のツールやライブラリを使用する必要があります。Video Capture SDKには、すべてのライセンスにRTMP、RTSP、SRT、HLS、NDIストリーミングが組み込まれています。
TVideoGrabberは複数のファイルに同時に録画できますか?
いいえ。TVideoGrabberはシングル出力録画のみをサポートしています。高品質アーカイブと低解像度プレビューを同時に録画することも、ストリーミング中に録画することもできません。Video Capture SDKは、異なる解像度とフォーマットで無制限の同時出力をサポートしています。
同等の機能でTVideoGrabberがSDKより高いのはなぜですか?
TVideoGrabberの基本ライセンスはEUR 695ですが、NDI(EUR 950)と高度なエンコーディング(EUR 950)には有料アドオンが必要で、合計EUR 2,595になりますが、ストリーミングとマルチ出力はまだありません。Video Capture SDK ProfessionalはEUR 1,000で全機能を含み、価格は半分以下で大幅に多くの機能を提供します。
Video Capture SDKはTVideoGrabberのようにONVIF PTZカメラ制御をサポートしていますか?
はい。両製品ともパン、チルト、ズーム、プリセット位置を含むONVIF PTZカメラ制御をサポートしています。これは両製品の機能が同等な分野の1つです。
macOSやLinuxでTVideoGrabberを使用できますか?
いいえ。TVideoGrabberはWindows固有の技術であるDirectShowに基づくWindows専用コンポーネントです。macOS、Linux、Android、iOSでは動作しません。Video Capture SDKはクロスプラットフォームエンジンを通じて5つのプラットフォームすべてをサポートしています。
Video Capture SDKはTVideoGrabberのようにOCRをサポートしていますか?
Video Capture SDKには組み込みのOCRテキスト認識は含まれていません。これはTVideoGrabberがユニークな優位性を持つ分野です。ただし、SDKは生フレームコールバックを提供しており、TesseractやAzure Computer Visionなどのサードパーティ OCRライブラリとの簡単な統合で同様の機能を実現できます。
TVideoGrabberからVideo Capture SDKに移行できますか?
はい。APIスタイルは異なりますが(TVideoGrabberはプロパティベースの構成、SDKは非同期イベントとマネージドオブジェクトを使用)、移行は簡単です。ほとんどのチームは1〜2週間で移行を完了し、ストリーミング、マルチ出力、クロスプラットフォームサポート、GPUエフェクトを獲得します。

今すぐ始める

Related Comparisons