DirectShow 시스템 개요
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
멀티미디어의 과제
멀티미디어로 작업하는 것은 다음과 같은 몇 가지 주요 과제를 제시합니다.
- 멀티미디어 스트림에는 매우 빠르게 처리해야 하는 대량의 데이터가 포함되어 있습니다.
- 오디오와 비디오는 동시에 시작 및 중지되고 동일한 속도로 재생되도록 동기화되어야 합니다.
- 데이터는 로컬 파일, 컴퓨터 네트워크, 텔레비전 브로드캐스트 및 비디오 카메라를 비롯한 많은 원본에서 올 수 있습니다.
- 데이터는 Audio-Video 인터리브(AVI), ASF(고급 스트리밍 형식), MPEG(영화 전문가 그룹) 및 DV(디지털 비디오)와 같은 다양한 형식으로 제공됩니다.
- 프로그래머가 최종 사용자의 시스템에 어떤 하드웨어 디바이스가 표시될지 미리 알 수 없습니다.
DirectShow 솔루션
DirectShow는 이러한 각 문제를 해결하도록 설계되었습니다. 기본 디자인 목표는 데이터 전송, 하드웨어 차이 및 동기화의 복잡성으로부터 애플리케이션을 격리하여 Windows 플랫폼에서 디지털 미디어 애플리케이션을 만드는 작업을 간소화하는 것입니다.
비디오 및 오디오를 스트리밍하는 데 필요한 처리량을 달성하기 위해 DirectShow는 가능하면 Direct3D 및 DirectSound를 사용합니다. 이러한 기술은 사용자의 사운드 및 그래픽 카드에 데이터를 효율적으로 렌더링합니다. DirectShow는 타임스탬프를 적용한 샘플에서 미디어 데이터를 캡슐화하여 재생을 동기화합니다. 가능한 다양한 원본, 형식 및 하드웨어 디바이스를 처리하기 위해 DirectShow는 애플리케이션이 필터라는 다양한 소프트웨어 구성 요소를 혼합하고 일치시키는 모듈식 아키텍처를 사용합니다.
DirectShow는 WDM(Windows 드라이버 모델)을 기반으로 디바이스 캡처 및 튜닝을 지원하는 필터뿐만 아니라 이전 VfW(Windows용 비디오) 캡처 카드를 지원하는 필터와 ACM(오디오 압축 관리자) 및 VCM(비디오 압축 관리자) 인터페이스용으로 작성된 코덱을 제공합니다.
다음 다이어그램은 애플리케이션, DirectShow 구성 요소 및 DirectShow에서 지원하는 일부 하드웨어 및 소프트웨어 구성 요소 간의 관계를 보여 줍니다.
여기에 설명된 것처럼 DirectShow 필터는 로컬 파일 시스템, TV 튜너 및 비디오 캡처 카드, VfW 코덱, 비디오 디스플레이(DirectDraw 또는 GDI를 통해) 및 소리 카드(DirectSound를 통해)를 비롯한 다양한 디바이스와 통신하고 제어합니다. 따라서 DirectShow는 이러한 디바이스의 많은 복잡성으로부터 애플리케이션을 격리합니다. 또한 DirectShow는 특정 파일 형식에 대한 네이티브 압축 및 압축 해제 필터를 제공합니다.
관련 항목