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, 이벤트, 관리 객체속성 기반, 동기 호출
다중 출력동시 녹화 + 스트림 + 스냅샷한 번에 하나의 출력만
스트리밍RTMP, RTSP, SRT, HLS, NDI 내장스트리밍 프로토콜 미포함
애드온 모델라이선스에 모든 기능 포함기본 + 유료 애드온 (NDI EUR 950, 인코더 EUR 950)

기능별 비교

캡처 소스

기능Video Capture SDKTVideoGrabber
USB 웹캠
노트북 내장 카메라
화면 / 데스크톱 캡처
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 가속 비디오 효과
크로마 키 (그린 스크린)
화면 속 화면(PIP)

오디오

기능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 카메라 제어를 지원합니다. 이것은 두 제품의 기능이 동등한 분야 중 하나입니다.
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