Last updated: 2026년 1월
Media Player SDK .NET vs Medialooks MFormats SDK
전용 재생 프레임워크 vs 방송 프레임 기반 SDK
VisioForge Media Player SDK .NET과 Medialooks MFormats SDK 중 선택하는 것은 전용 미디어 재생 프레임워크와 방송 지향 프레임 기반 엔진 사이의 결정입니다. Media Player SDK는 DVD/Blu-ray 내비게이션, 40개 이상의 오디오 이펙트, VU 미터링, 가상 카메라 출력을 갖춘 듀얼 엔진 재생을 제공합니다. MFormats는 소스에서 프레임을 가져와 일정에 따라 SDI 하드웨어로 전송합니다. 이 가이드에서는 아키텍처, 기능, 플랫폼 지원, 가격 및 실제 코드를 비교하여 .NET 비디오 플레이어 또는 방송 플레이아웃 프로젝트에 적합한 SDK를 선택할 수 있도록 합니다.
요약
| 측면 | Media Player SDK .NET | MFormats SDK |
|---|---|---|
| 주요 목적 | 전문 미디어 재생 | 방송 플레이아웃 |
| 아키텍처 | 듀얼 엔진 (DirectShow + GStreamer) | 프레임 기반 (그랩 → 렌더) |
| 플랫폼 지원 | Windows, macOS, Linux, iOS, Android (5개 플랫폼) | Windows만 지원 |
| 가격 | €250–€500/년 또는 €750–€1,500 영구 | ~$4,508/개발자/년 |
| 최적 용도 | 미디어 플레이어 앱, 키오스크, 감시 뷰어 | 방송 플레이아웃 자동화 |
아키텍처 심층 분석
Media Player SDK .NET 아키텍처
Media Player SDK는 듀얼 엔진 파이프라인 설계를 사용합니다. DirectShow 엔진은 Windows에서 DVD/Blu-ray 내비게이션, 오디오 이펙트 및 레거시 포맷 지원을 제공합니다. 크로스 플랫폼 GStreamer 기반 엔진(MediaPlayerCoreX)은 GPU 가속 렌더링, 모션 감지 및 가상 카메라 출력을 갖춘 Windows, macOS, Linux, Android, iOS 전반의 재생을 제공합니다.
- ▶듀얼 엔진: DVD/레거시용 DirectShow + 크로스 플랫폼용 GStreamer
- ▶VU 미터링 및 FFT 스펙트럼을 갖춘 40개 이상의 실시간 오디오 이펙트
- ▶챕터 및 앵글 선택 기능이 있는 DVD/Blu-ray 메뉴 내비게이션
- ▶Zoom, Teams, OBS 통합을 위한 가상 카메라 출력
- ▶자동 스레드 관리를 갖춘 이벤트 기반 async/await API
- ▶PiP, OSD 오버레이 및 멀티스크린 디스플레이
MFormats SDK 아키텍처
MFormats는 COM 객체 위에 구축된 프레임 기반 그랩-프로세스-아웃풋 모델을 사용합니다. MFReader를 생성하여 프레임을 그랩하고, 변환을 적용하고, 미리보기용 MFRenderer 또는 녹화용 MFWriter로 전송합니다. 이 모델은 고정 일정에 따라 프레임이 SDI 하드웨어로 흐르는 방송 플레이아웃에 최적화되어 있습니다.
- ▶프레임 기반 루프: MFReader에서 프레임 그랩, 처리, 출력으로 전송
- ▶.NET 인터롭 래퍼를 갖춘 COM 기반 아키텍처
- ▶수동 스레딩 및 프레임 타이밍 관리 필요
- ▶AJA, BlueFish, DELTACAST 하드웨어로의 멀티 벤더 SDI 출력
- ▶온에어 그래픽용 HTML5 캐릭터 제너레이터
- ▶방송 워크플로우를 위한 내장 플레이아웃 및 재생목록 스케줄링
주요 아키텍처 차이점
| 측면 | Media Player SDK | MFormats SDK |
|---|---|---|
| 프로그래밍 모델 | 고수준: 속성 설정 후 PlayAsync() 호출 | 저수준: 프레임별 그랩, 처리, 렌더 |
| 스레딩 | 자동 내부 스레드 관리 | 개발자가 캡처 루프 스레딩 관리 |
| 오디오 파이프라인 | 40개 이상의 이펙트, VU 미터, FFT, 채널 매핑 | 기본 정규화만 |
| 디스크 재생 | 메뉴 내비게이션이 있는 전체 DVD/Blu-ray | 디스크 지원 없음 |
| 플랫폼 | 크로스 플랫폼 (.NET 6-10, 5개 OS 대상) | Windows만 (COM 기반) |
| 객체 모델 | 순수 .NET 관리 API | .NET 래퍼를 갖춘 COM 인터롭 |
기능별 비교
재생
| 기능 | Media Player SDK | MFormats SDK |
|---|---|---|
| 파일 재생 (MP4, MKV, AVI...) | ✅ | ✅(MFReaderClass를 통해) |
| 네트워크 스트림 (RTSP, RTMP, HLS) | ✅ | ✅ |
| 메뉴 내비게이션이 있는 DVD 재생 | ✅ | ❌ |
| Blu-ray 재생 | ✅ | ❌ |
| 가변 속도 재생 | ✅ | ⚠️(프레임레이트 제어) |
| 프레임 스테핑 | ✅ | ✅ |
| 자막 렌더링 | ✅ | ❌ |
| 다중 오디오 트랙 | ✅ | ✅ |
| 루프 / A-B 반복 | ✅ | ⚠️(재생목록을 통해) |
| 재생목록 관리 | ✅ | ✅(방송 재생목록) |
오디오 처리
| 기능 | Media Player SDK | MFormats SDK |
|---|---|---|
| 오디오 이펙트 (40+) | ✅ | ❌(정규화만) |
| VU 미터 + FFT 스펙트럼 | ✅ | ❌ |
| 오디오 인핸서 (정규화, 게인, 노이즈 게이트) | ✅ | ⚠️(기본 정규화) |
| 채널 매퍼 | ✅ | ❌ |
비디오 처리
| 기능 | Media Player SDK | MFormats SDK |
|---|---|---|
| 실시간 비디오 이펙트 | ✅ | ⚠️(기본 (스케일, 변환)) |
| PiP (화면 속 화면) | ✅ | ⚠️(GPU 믹서를 통해) |
| OSD 오버레이 | ✅ | ✅ |
| HTML5 CG 오버레이 | ❌ | ✅ |
| 크로마 키 | ✅ | ❌ |
출력
| 기능 | Media Player SDK | MFormats SDK |
|---|---|---|
| 가상 카메라 출력 | ✅ | ❌ |
| NDI 출력 | ✅ | ✅ |
| 멀티스크린 디스플레이 | ✅ | ⚠️(다중 렌더러를 통해) |
| 스냅샷 | ✅ | ✅ |
감지
| 기능 | Media Player SDK | MFormats SDK |
|---|---|---|
| 모션 감지 | ✅ | ❌ |
| 얼굴 감지 | ✅ | ❌ |
| 바코드/QR 스캔 | ✅ | ❌ |
방송 기능
| 기능 | Media Player SDK | MFormats SDK |
|---|---|---|
| SDI 출력 (AJA, BlueFish, DELTACAST) | ❌ | ✅ |
| HTML5 캐릭터 제너레이터 | ❌ | ✅ |
| 방송 재생목록 자동화 | ❌ | ✅ |
플랫폼 지원
운영 체제
| 플랫폼 | Media Player SDK | MFormats SDK |
|---|---|---|
| Windows | ✅ | ✅ |
| macOS | ✅ | ❌ |
| Linux | ✅ | ❌ |
| Android | ✅ | ❌ |
| iOS | ✅ | ❌ |
UI 프레임워크
| 프레임워크 | Media Player SDK | MFormats SDK |
|---|---|---|
| WinForms | ✅ | ✅ |
| WPF | ✅ | ✅ |
| WinUI 3 | ✅ | ❌ |
| .NET MAUI | ✅ | ❌ |
| Avalonia | ✅ | ❌ |
| Uno Platform | ✅ | ❌ |
가격 비교
Media Player SDK .NET
1명의 개발자 — 파일/스트림 재생, 자막, 실시간 이펙트
1명의 개발자 — + RTSP/RTMP/HLS/NDI, 모션 감지, GPU 디코딩
1명의 개발자 — + VR/360° 비디오, 전체 이펙트 스위트
무제한 개발자, 영구적, 전체 팀
무제한 개발자, 영구적, 전체 팀
무제한 개발자, 영구적, 전체 팀
All licenses include:
- ✓ 로열티 프리 배포
- ✓ 전체 소스 코드 액세스 (영구 티어)
- ✓ 라이선스 기간 동안 모든 향후 업데이트
- ✓ 우선 기술 지원
- ✓ 만료 후에도 작동 (영구 라이선스)
MFormats SDK
연간 구독, 필수 갱신
연간 구독
시트별 연간 구독
MFormats 구독 만료 경고
MFormats는 필수 연간 구독 모델을 사용합니다. 구독이 만료되면:
- ⚠모든 출력에 워터마크가 추가됨 — 프로덕션 애플리케이션에 영향
- ⚠영구/영구적 옵션 없음 — 계속 지불해야 함
- ⚠시트별 가격이 팀 성장에 따라 증가 — 5명의 개발자 = 5배 비용
- ⚠유예 기간 없음 — 만료 시 워터마크가 즉시 나타남
Media Player SDK 영구 라이선스는 구매 후 무기한으로 계속 작동합니다 — 워터마크 없음, 만료 없음.
코드 비교
모션 감지가 포함된 RTSP 스트림 재생
Media Player SDK
C#var player = new MediaPlayerCoreX(videoView);
// Open an RTSP network stream
var source = await UniversalSourceSettingsV2.CreateAsync(
new Uri("rtsp://camera.local:554/live"));
await player.OpenAsync(source);
// Enable motion detection on the live stream
player.Motion_Detection_Enabled = true;
player.OnMotionDetected += (s, e) =>
LogAlert($"Motion in zone {e.ZoneIndex}, level: {e.Level:P0}");
await player.PlayAsync();MFormats SDK
C#var reader = new MFReaderClass();
reader.ReaderOpen("rtsp://camera.local:554/live", "");
var renderer = new MFRendererClass();
renderer.RendererSet("", 0, panelHandle);
MFFrame frame;
while (playing)
{
reader.SourceFrameGet(-1, out frame, "");
renderer.RenderPut(frame, -1, "");
Marshal.ReleaseComObject(frame);
}
// No motion detection — requires external CV library재생 중 오디오 이펙트
Media Player SDK
C#var player = new MediaPlayerCoreX(videoView);
var source = await UniversalSourceSettingsV2.CreateAsync(new Uri("podcast.mp4"));
await player.OpenAsync(source);
// 10-band graphic equalizer — boost voice clarity
var eq = new Equalizer10AudioEffect(new double[]
{ 0, 0, 0, 0, 4.5, 0, 3.0, 0, 0, 0 });
player.Audio_Effects_AddOrUpdate(eq);
// Reverb for spatial depth
var reverb = new ReverberationAudioEffect();
reverb.RoomSize = 0.25f;
reverb.Level = 0.1f;
player.Audio_Effects_AddOrUpdate(reverb);
// Enable VU meter for real-time level monitoring
player.Audio_VU_Meter_Enabled = true;
player.OnAudioVUMeter += (s, e) =>
UpdateMeter(e.MeterData);
await player.PlayAsync();MFormats SDK
C#// No audio effects pipeline — normalization only
// No VU meter or FFT spectrum analysis
// No equalizer, reverb, or any real-time audio processingDVD 내비게이션 (Media Player SDK만 해당)
Media Player SDK
C#var player = new MediaPlayerCore(videoView);
// Configure for DVD playback
player.Source_Mode = MediaPlayerSourceMode.DVD_DS;
await player.PlayAsync();
// Navigate chapters and menus during playback
await player.DVD_Chapter_NextAsync();
await player.DVD_Menu_ShowAsync(DVDMenu.Title);
await player.DVD_Menu_ResumePlaybackAsync();
// Select audio language and subtitles
await player.DVD_Select_AudioStreamAsync(1); // e.g., French
await player.DVD_Select_SubpictureStreamAsync(0); // e.g., English subtitles
// Control playback speed and direction
await player.DVD_SetSpeedAsync(2.0, false); // 2x forwardMFormats SDK
C#// No DVD playback capability
// No menu navigation, chapter control, or disc support
// MFormats is designed for file/stream playout, not disc media이상적인 사용 사례
Media Player SDK 선택
- ✓사용자 컨트롤이 있는 인터랙티브 미디어 플레이어 애플리케이션
- ✓메뉴 내비게이션이 있는 DVD 및 Blu-ray 재생
- ✓EQ, 리버브, VU 미터링이 있는 오디오 처리 앱
- ✓모션 및 얼굴 감지가 있는 감시 뷰어
- ✓Windows, macOS, Linux, Android, iOS에서의 크로스 플랫폼 재생
- ✓Zoom, Teams, OBS용 가상 카메라 출력
- ✓자막 지원이 있는 키오스크 및 디지털 사이니지
- ✓영구 라이선스가 필요한 예산 중심 팀
MFormats SDK 선택
- ✓24/7 스케줄링이 있는 자동화된 방송 플레이아웃
- ✓AJA, BlueFish, DELTACAST 하드웨어로의 멀티 벤더 SDI 출력
- ✓온에어 그래픽용 HTML5 캐릭터 제너레이터 오버레이
- ✓MXF 중심의 방송 인제스트 및 플레이아웃 워크플로우
의사결정 매트릭스
| 요구사항 | Media Player SDK | MFormats SDK | 승자 |
|---|---|---|---|
| 미디어 플레이어 애플리케이션 | Media Player SDK | ||
| DVD / Blu-ray 재생 | Media Player SDK | ||
| 재생 중 오디오 이펙트 | Media Player SDK | ||
| 전문 VU 미터 / FFT | Media Player SDK | ||
| 크로스 플랫폼 재생 | Media Player SDK | ||
| 가상 카메라 출력 | Media Player SDK | ||
| 모션 / 얼굴 / 바코드 감지 | Media Player SDK | ||
| €2,000 미만 예산 | Media Player SDK | ||
| 방송 플레이아웃 자동화 | MFormats SDK | ||
| SDI 출력 (AJA, BlueFish, DELTACAST) | MFormats SDK | ||
| HTML5 CG 오버레이 | MFormats SDK |
결론
다음이 필요하면 Media Player SDK .NET을 선택하세요
DVD/Blu-ray 내비게이션이 있는 인터랙티브 미디어 재생, 5개 운영 체제에 걸친 크로스 플랫폼 배포, VU 미터링이 포함된 40개 이상의 실시간 오디오 이펙트, 회의 도구용 가상 카메라 출력, 재생 중 모션/얼굴/바코드 감지, MFormats의 시트별 비용의 일부에 해당하는 영구 팀 라이선스.
다음이 필요하면 MFormats SDK를 선택하세요
스케줄링 및 24/7 운영이 포함된 자동화된 방송 플레이아웃, AJA, BlueFish, DELTACAST 하드웨어로의 멀티 벤더 SDI 출력, 온에어 그래픽용 HTML5 캐릭터 제너레이터 오버레이.
The Reality
구분은 명확합니다: Media Player SDK는 인터랙티브 뷰어를 구축하기 위한 것 — 사용자가 미디어를 시청하고, 탐색하고, 제어하는 애플리케이션입니다. MFormats는 자동화된 플레이아웃 엔진을 구축하기 위한 것 — 뷰어 상호작용 없이 일정에 따라 프레임을 SDI 하드웨어로 전송하는 시스템입니다. 프로젝트가 사용자 앞에 비디오 창을 놓는다면 Media Player SDK가 적절한 도구입니다. 프로젝트가 방송 송신기에 공급한다면 MFormats입니다.
