DirectShow 샘플 앱

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

GitHub의 Windows-classic-samples 리포지토리에서 DirectShow 샘플 앱을 찾을 수 있습니다.

아래 표에는 해당 리포지토리에 제공된 모든 DirectShow 샘플이 나열되어 있습니다. 샘플을 빌드하는 방법에 대한 지침은 Windows SDK에 제공된 설명서를 참조하세요. 샘플을 설명하는 토픽이 있는 경우 이 테이블의 첫 번째 열이 해당 열에 연결됩니다.

샘플 영역 설명 추가 종속성
DirectShow 기본 클래스 기본 클래스 라이브러리 DirectShow 필터를 구현하기 위해 설계된 C++ 클래스 및 유틸리티 함수입니다.
AmCap 샘플 캡처 비디오 캡처 애플리케이션. strmbase.lib
DVApp 샘플 캡처 DV(디지털 비디오) 캡처 애플리케이션.
PlayCap 샘플 캡처 간단한 캡처 애플리케이션.
DMO 데모 샘플 DMO 오디오 효과 DMO를 통해 WAV 파일에서 오디오 데이터를 스트리밍합니다. DirectX SDK
DVD 샘플 DVD 기본 DVD 재생 및 탐색과 보호자 수준 관리, 책갈피, 노래방 및 명령 동기화와 같은 고급 기능을 보여 줍니다.
InfTee 필터 샘플 필터, 기타 무한 핀 티 필터의 샘플 구현입니다. strmbase.lib
Metronome 필터 샘플 필터, 기타 참조 클록을 구현하는 방법을 보여줍니다. strmbase.lib
PSI 파서 필터 샘플 필터, 기타 MPEG-2 전송 스트림에서 PSI(프로그램별 정보) 테이블을 수신하고 프로그램 정보를 추출합니다. strmbase.lib
덤프 필터 샘플 필터, 렌더러 텍스트 파일에 받은 미디어 샘플을 씁니다. strmbase.lib
SampVid 필터 필터, 렌더러 비디오 렌더러 필터. strmbase.lib
범위 필터 샘플 필터, 렌더러 사운드 데이터를 웨이브 형태로 표시합니다. strmbase.lib
비동기 필터 샘플 필터, 원본 점진적 다운로드를 지원하는 파일 판독기 필터입니다. strmbase.lib
볼 필터 샘플 필터, 원본 튀는 공의 이미지를 생성하는 비디오 소스 필터입니다. strmbase.lib
푸시 소스 필터 샘플 필터, 원본 비디오 스트림으로 다음 데이터를 제공하는 원본 필터: 단일 비트맵, 비트맵 집합, 현재 데스크톱 이미지의 복사본입니다. strmbase.lib
Synth 필터 샘플 필터, 원본 오디오 파형을 생성하는 소스 필터입니다. 이 샘플에서는 동적 그래프 빌드를 보여 줍니다. strmbase.lib
EZRGB24 필터 샘플 필터, 변환 이미지 처리 필터. strmbase.lib
Gargle 필터 샘플 필터, 변환 오디오 효과 필터. strmbase.lib
WavDest 필터 샘플 필터, 변환 오디오 스트림을 WAV 파일에 씁니다. strmbase.lib
DMOEnum 샘플 기타 DMO( DirectX Media Objects )를 열거하는 방법을 보여 줍니다.
매퍼 샘플 기타 필터 매퍼를 사용하여 레지스트리에서 필터를 찾는 방법을 보여 줍니다.
SysEnum 샘플 기타 시스템 디바이스 열거자를 사용하여 디바이스 및 필터를 열거하는 방법을 보여 줍니다.
CutScene 샘플 재생 전체 화면 모드에서 비디오 파일을 재생합니다.
DDrawXCL 샘플 재생 오버레이 믹서 필터의 IDDrawExclModeVideo 인터페이스를 사용하여 DirectDraw 전용 전체 화면 모드에서 비디오를 재생합니다.
DShowPlayer 샘플 재생 비디오 재생 애플리케이션.
EVRPlayer 샘플 재생 DirectShow EVR 필터를 사용하는 방법을 보여 줍니다. 참고: Windows Vista 이상이 필요합니다.
이 샘플은 Windows Server 2008 이상용 Windows SDK에서 사용할 수 있습니다.
strmbase.lib
Texture3D9 샘플 재생 Microsoft DirectX 9.0 텍스처 화면에 비디오를 그립니다. strmbase.lib, DirectX SDK
Ticker 샘플 VMR-9 VMR-9를 사용하여 비디오와 텍스트를 혼합합니다.
VMR9Allocator 샘플 VMR-9 VMR-9에 대한 사용자 지정 할당자-발표자를 구현합니다. strmbase.lib
VMR9Compositor 샘플 VMR-9 VMR-9에 대한 사용자 지정 믹서 구현
VMRPlayer 샘플 VMR-9 VMR-9를 사용하여 하나 또는 두 개의 실행 중인 비디오와 정적 이미지를 혼합합니다.
워터마크 샘플 VMR-9 VMR-9를 사용하여 재생 중에 정적 비트맵을 비디오에 혼합합니다.
창 없는 샘플 VMR-9 VMR-9의 창 없는 모드를 보여 줍니다.

추가 종속성

일부 샘플은 DirectShow 기본 클래스 라이브러리에 연결됩니다. 이러한 샘플을 빌드하려면 먼저 기본 클래스 라이브러리를 빌드합니다. 자세한 내용은 DirectShow 기본 클래스를 참조하세요. 기본 클래스 라이브러리는 모든 샘플 필터에 필요합니다.

일부 샘플에는 Windows SDK 외에도 DirectX SDK가 필요합니다. 이러한 샘플을 빌드하려면 DirectX SDK를 설치하고 환경 변수를 %DXSDK\_DIR% DirectX SDK 설치 경로와 동일하게 설정해야 합니다.

대부분의 DirectShow 샘플은 directrory \[SDK Root\]Samples\Multimedia\DirectShow\Common에 있는 공통 헤더 및 소스 파일 집합을 사용합니다. 샘플 폴더를 다른 디렉터리에 복사하는 경우 폴더도 복사 Common 해야 합니다.