인코더 디바이스
인코더는 압축되지 않은 데이터 스트림(비디오 및/또는 오디오)을 입력으로 수신하고, 스트림을 MPEG2와 같은 특정 형식으로 인코딩한 다음, 인코딩된 스트림을 출력하는 디바이스입니다. 인코더 디바이스는 TV 튜너/캡처 어댑터 조합과 같은 다른 디바이스의 일부이거나 분리될 수 있습니다. 예를 들어 통합 인코더는 아날로그 TV 튜너/디코더와 같은 캡처 디바이스에서 데이터 스트림을 수신한 다음 인코딩된 스트림을 생성합니다. 독립 실행형 인코더는 압축되지 않은 파일에서 입력 데이터를 수신하고, 데이터를 처리한 다음, 인코딩된 데이터를 출력할 수 있습니다.
Microsoft는 DirectX 9.0 이상에서 하드웨어 기반 오디오/비디오 인코더 디바이스를 지원합니다.
오디오/비디오 인코더 디바이스를 지원하려면 커널 스트리밍 필터 미니드라이버에서 Microsoft 정의 인코더 속성에 대한 지원을 구현해야 합니다. 인코더 속성을 구현하여 기존 스트림 클래스 또는 AVStream 미니드라이버에 지원을 추가할 수 있습니다. 또는 새 미니 드라이버(독립 실행형 인코더 또는 통합된 인코더용)를 작성하는 경우 스트림 클래스가 더 이상 지원되지 않으므로 AVStream 아키텍처를 따르는 것이 좋습니다. AVStream 시뮬레이션 하드웨어 샘플 드라이버(Avshws)를 시작점으로 사용할 수 있습니다. Avshws 드라이버는 DMA 전송에 대한 지원을 구현하는 핀 중심 AVStream 예제입니다.
참고
소프트웨어 구현 인코더를 작성하는 경우 커널 스트리밍 필터로 작성하면 안 됩니다. 대신 이러한 필터를 Microsoft DirectShow 필터 또는 DirectX 미디어 개체로 작성해야 합니다. 소프트웨어 기반 인코더에 대한 자세한 내용은 DirectShow SDK 항목 "인코더 API"를 참조하세요.
클라이언트는 ICodecAPI COM 인터페이스를 통해 인코더 기능에 액세스합니다. 미니 드라이버가 구현하는 속성에 따라 드라이버의 INF 파일에 KsProxy가 노출하는 인터페이스를 지정합니다. Microsoft에서 정의한 커널 스트리밍 속성 및 이벤트에 대한 자세한 내용은 인코더 구현 및 지원을 참조하세요. 구현 방법에 대한 예제는 인코더 코드 예제 를 참조하세요. 인 코더 필터를 설치하는 방법에 대한 자세한 내용은 인코더 설치 및 등록을 참조하세요. 여기에는 KsProxy가 노출해야 하는 COM 인터페이스를 지정하는 방법이 포함됩니다.
인코더 디바이스는 모든 디바이스를 포함하는 일반 로고 요구 사항 외에도 Windows 인증 프로그램에 설명된 대로 스트리밍 미디어 및 브로드캐스트 요구 사항을 준수해야 합니다.