DirectShow DirectShow 레퍼런스 DirectShow 의 필터 DV Muxer 필터 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
이 필터는, 디지털 비디오 (DV) encode의 비디오 스트림과 1 개 혹은 2 개의 오디오 스트림을 조합해, 인터리브 DV 스트림을 생성한다. 스트림을 AVI 파일에 기입하려면 , 이 필터를 AVI Mux 필터에 접속해,AVI Mux 를파일 라이터 필터에 접속한다. 더 자세한 정보는, 「DirectShow 에서의 디지털 비디오」를 참조할것.
필터 인터페이스 | IBaseFilter ,IMediaSeeking |
입력 핀 미디어 타입 | 비디오 : MEDIATYPE_Video, MEDIASUBTYPE_dvsd, FORMAT_VideoInfo
오디오 : MEDIATYPE_Audio, MEDIASUBTYPE_PCM, FORMAT_WaveFormatEx |
입력 핀인타페이스 | IMemInputPin ,IPin ,IQualityControl |
출력 핀 미디어 타입 | MEDIATYPE_Interleaved, MEDIASUBTYPE_dvsd, FORMAT_DvInfo |
출력 핀인타페이스 | IPin ,IQualityControl |
필터 CLSID | CLSID_DVMux |
프로퍼티 페이지 CLSID | 프로퍼티 페이지 없음. |
실행 모듈 | qdv.dll |
메리트 | MERIT_UNLIKELY |
필터 카테고리 | CLSID_LegacyAmFilterCategory |
주의
DX Muxer 는 2 개의 오디오 입력 핀을 생성 할 수 있다. 이하의 표에 나타내는 오디오 포맷을 지원 하고 있다.
오디오 핀 1 | 오디오 핀 2 | 출력 형식 | ||||
---|---|---|---|---|---|---|
샘플링 레이트 (kHz) | 비트/샘플 | 채널 | 샘플링 레이트 | 비트/샘플 | 채널 | |
32 | 16 | 물건 | 미접속 | SD 2 채널 | ||
32 | 16 | 스테레오 | 미접속 | SD 4 채널 | ||
44.1 또는 48 | 16 | 스테레오 또는 물건 | 미접속 | SD 2 채널 | ||
미접속 | 32 | 16 | 스테레오 또는 물건 | 미허가 | ||
미접속 | 44.1 또는 48 | 16 | 물건 | 미허가 | ||
미접속 | 44.1 또는 48 | 16 | 스테레오 | SD 2 채널 | ||
32 | 16 | 물건 | 32 | 16 | 물건 | SD 2 채널 |
32 | 16 | 스테레오 또는 물건* | 32 | 16 | 스테레오 또는 물건* | SD 4 채널 |
44.1 | 16 | 물건 | 44.1 | 16 | 물건 | SD 2 채널 |
48 | 16 | 물건 | 48 | 16 | 물건 | SD 2 채널 |
* 최악이어도 1 개의 입력 핀이 스테레오이면. |
이 표에서는, 오디오 핀 1 은 오디오 소스에 접속되고 있는 최초의 입력 핀으로서 정의되어 오디오 핀 2 는 오디오 소스에 접속되고 있는 2 개째의 입력 핀으로서 정의되고 있다. 오디오 핀을 한 번 접속 하면, 양쪽 모두의 오디오 핀이 접속 해제될 때까지, 이 넘버링 스킴은 유효인 채 남는다. 예를 들어, 오디오 핀을 양쪽 모두 접속해, 다음에 오디오 핀 1 만을 접속 해제해도, 남은 핀은 그대로 핀 2 로서 해석된다.
핀 1 에 공급되는 오디오는 DV 프레임의 제 1 오디오 블록 (CH1)에 녹음되어 핀 2 에 공급되는 오디오는 제 2 오디오 블록 (CH2)에 녹음된다. 예외 : 필터가 44.1 kHz 혹은 48 kHz 로 스테레오 입력을 1 개만 가지고 있다면, 왼쪽의 오디오 채널이 제 1 오디오 블록에, 오른쪽의 오디오 채널이 제 2 오디오 블록에 녹음된다.
SD 4 채널 출력에 대해 : 입력이 스테레오라면, 왼쪽 트랙이 CHa 나 CHc 에 녹음되어 오른쪽 트랙이 CHb 나 CHd 에 녹음된다. 입력이 단청의라면, 오디오는 CHa 나 CHc 에 녹음되어 CHb 와 CHd 는 무음이다.
오디오 핀 1 을 접속해 접속 해제하는 것에 의해, 허가되지 않은 포맷에 액세스 할 수 있다. 이 경우, 필터의 IMediaFilter::Pause 메서드는 VFW_E_NOT_CONNECTED 를 돌려준다. 이 제한에 의해, 제 1 오디오 블록에는 오디오가 없고, 제 2 블록에는 오디오가 있다, 라고 하는 상황이 발생하는 것을 방지할 수 있다. 제 1 블록에 오디오가 없는 경우는, 제 2 블록에도 오디오가 있어서는 안 된다.
DV Muxer 는 다른 샘플링 레이트의 오디오 입력을 허가하지 않는다. 다만 IGraphBuilder::Connect 와 같은 그래프 구축 메서드는 보통, 제 2 오디오 스트림을 제 1 스트림의 샘플링 레이트에 합치시키는 ACM 래퍼 필터를 추가한다.
오디오 입력이 48 kHz 나 32 kHz 라면, 오디오 출력은 잠금 된다. (44.1 kHz 오디오를 잠글 수 없다. )
오디오 핀이 접속되지 않은 경우, 출력에는 수신 DV 프레임으로부터 취득한 오디오 데이터가 포함된다. 이것은, 무음의 경우도 있어, 유효한 오디오 데이터의 경우도 있다.
참조