Windows Media 비디오 9 인코더
Windows Media Video 9 인코더는 비디오 스트림을 인코딩합니다. 인코더는 인코딩된 출력의 다음 네 가지 범주를 지원합니다.
- Windows Media 비디오 9 간단한 프로필
- Windows Media 비디오 9 기본 프로필
- Windows Media 비디오 9 고급 프로필
- Windows Media 비디오 9.1 이미지
클래스 식별자
Windows Media Video 인코더의 CLSID(클래스 식별자)는 상수 CLSID_CWMV9EncMediaObject 표시됩니다. CoCreateInstance를 호출하여 비디오 인코더의 instance 만들 수 있습니다.
인터페이스
비디오 인코더 개체는 개체를 DMO(DirectX Media Object)로 사용할 수 있도록 IMediaObject 인터페이스를 노출하고, 개체를 MFT(Media Foundation Transform)로 사용할 수 있도록 IMFTransform 인터페이스를 노출합니다.
비디오 인코더는 가져오는 인터페이스와 실행 중인 Windows 버전에 따라 DMO 또는 MFT로 작동합니다. 다음 표에서는 비디오 인코더가 DMO 또는 MFT로 동작하는 조건을 보여 줍니다.
운영 체제 | 인코더 동작 |
---|---|
Windows XP | Windows Media 비디오 인코더는 항상 DMO로 작동합니다. |
Windows Vista 및 Windows 7 | 기본적으로 Windows Media 비디오 인코더는 DMO로 작동합니다. 비디오 인코더에서 IMFTransform 인터페이스를 가져오는 경우 MFT로 동작합니다. |
입력 형식
Windows Media Video 인코더는 DMO 역할을 할 때 다음과 같은 입력 미디어 하위 형식을 지원합니다.
- MEDIASUBTYPE_IYUV
- MEDIASUBTYPE_I420
- MEDIASUBTYPE_YV12
- MEDIASUBTYPE_NV11
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YUY2
- MEDIASUBTYPE_UYVY
- MEDIASUBTYPE_YVYU
- MEDIASUBTYPE_RGB32
- MEDIASUBTYPE_RGB24
- MEDIASUBTYPE_RGB565
- MEDIASUBTYPE_RGB555
- MEDIASUBTYPE_RGB8
- MEDIASUBTYPE_PHOTOMOTION
Windows Media 비디오 인코더는 MFT 역할을 할 때 다음과 같은 입력 미디어 하위 형식을 지원합니다.
- MFVideoFormat_IYUV
- MFVideoFormat_I420
- MFVideoFormat_YV12
- MFVideoFormat_NV11
- MFVideoFormat_NV12
- MFVideoFormat_YUY2
- MFVideoFormat_UYVY
- MFVideoFormat_YVYU
- MFVideoFormat_RGB32
- MFVideoFormat_RGB24
- MFVideoFormat_RGB565
- MFVideoFormat_RGB555
- MFVideoFormat_RGB8
- MEDIASUBTYPE_PHOTOMOTION
출력 형식
다음 표에서는 인코딩된 출력의 범주에 해당하는 4자 코드(FOURC)를 보여 줍니다.
범주 | Fourcc |
---|---|
Windows Media 비디오 9 간단한 프로필 | "WMV3" |
Windows Media 비디오 9 기본 프로필 | "WMV3" |
Windows Media 비디오 9 고급 프로필 | "WVC1" |
Windows Media 비디오 9.1 이미지 | 9.1용 "WMVP", 9.1 버전 2의 경우 "WVP2" |
단순 프로필과 주 프로필을 구분하려면 MFPKEY_DECODERCOMPLEXITYREQUESTED 속성을 설정합니다.
속성
Windows Media Video 9 인코더는 다음 속성을 지원합니다.
속성 | 설명 |
---|---|
MFPKEY_ASFOVERHEADPERFRAME | 압축된 콘텐츠를 저장하는 데 사용되는 컨테이너에 필요한 오버헤드(패킷당 바이트)를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_AVGFRAMERATE | 비디오 콘텐츠의 평균 프레임 속도를 초당 프레임 단위로 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 읽기 전용입니다. |
MFPKEY_BAVG | 평균 비트 전송률( MFPKEY_RAVG 지정)으로 제한된 VBR(가변 비트 전송률) 스트림의 버퍼 창을 밀리초 단위로 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 읽기/쓰기입니다. |
MFPKEY_BDELTAQP | 앵커 프레임의 그림 분위수와 B 프레임의 그림 분위수 사이의 델타 증가를 지정합니다.
기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_BMAX | 최대 비트 전송률( MFPKEY_RMAX 지정)으로 제한된 VBR(가변 비트 전송률) 스트림의 버퍼 창을 밀리초 단위로 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 읽기/쓰기입니다. |
MFPKEY_BUFFERFULLNESSINFIRSTBYTE | 인코딩된 비디오 비트 스트림에 모든 키 프레임이 있는 버퍼 충만 값이 포함되어 있는지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 읽기 전용입니다. |
MFPKEY_CLOSEDENTRYPOINT | 그림 그룹의 시작 부분에 사용할 인코딩 패턴을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_CODEDFRAMES | 코덱으로 인코딩된 비디오 프레임 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 읽기 전용입니다. |
MFPKEY_CODEDNONZEROFRAMES | 실제로 데이터를 포함하는 코덱으로 인코딩된 비디오 프레임 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 읽기 전용입니다. |
MFPKEY_COMPLEXITY | 이 속성은 MFPKEY_COMPLEXITYEX 대체됩니다. |
MFPKEY_COMPLEXITYEX | 인코더 알고리즘의 복잡성을 지정합니다.
단순 프로필, 기본 프로필. 고급 프로필. 쓰기 전용입니다. |
MFPKEY_COMPRESSIONOPTIMIZATIONTYPE | Windows Media Video 9 고급 프로필 코덱에 사용할 최적화 유형을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 |
MFPKEY_CRISP | 코덱 출력에서 동작 부드러움과 이미지 품질 간의 절충의 숫자 표현을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_DATARATE | 사용되지 않습니다. |
MFPKEY_DECODERCOMPLEXITYPROFILE | 인코딩된 콘텐츠가 준수하는 디바이스 규칙 템플릿을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 읽기 전용입니다. |
MFPKEY_DECODERCOMPLEXITYREQUESTED | 비디오 인코딩에 사용할 디바이스 규칙 템플릿을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_DELTAMVRANGEINDEX | 동작 벡터 정보를 인코딩하는 데 사용되는 메서드를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_DENOISEOPTION | 인코딩할 때 코덱이 노이즈 필터를 사용할지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_DESIRED_VBRQUALITY | 품질 기반(1-pass) VBR(가변 비트 속도) 인코딩에 원하는 품질 수준을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_DROPPEDFRAMES | 인코딩 중에 삭제된 비디오 프레임 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 읽기 전용입니다. |
MFPKEY_ENDOFPASS | 인코딩 패스의 끝을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_FORCEFRAMEHEIGHT | 인코딩된 비디오의 중간 프레임 높이를 지정합니다.
고급 프로필. 쓰기 전용입니다. |
MFPKEY_FORCEFRAMEWIDTH | 인코딩된 비디오의 중간 프레임 너비를 지정합니다.
고급 프로필. 쓰기 전용입니다. |
MFPKEY_FORCEMEDIANSETTING | 인코딩 중에 코덱이 중앙값 필터링을 사용해야 하는지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_FOURCC | 사용하려는 인코더를 식별하는 FOURCC를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_FRAMECOUNT | 사용되지 않습니다. |
MFPKEY_FULLFRAMERATE | 인코더가 프레임을 삭제할 수 있는지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_INTERLACEDCODINGENABLED | 코덱 출력이 인터레이스될지 여부를 지정합니다.
고급 프로필. 쓰기 전용입니다. |
MFPKEY_KEYDIST | 코덱 출력의 키 프레임 사이의 최대 시간(밀리초)을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_LIVEENCODE | 사용되지 않습니다. |
MFPKEY_LOOKAHEAD | 현재 프레임을 인코딩하기 전에 코덱이 평가할 현재 프레임 뒤의 프레임 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_LOOPFILTER | 인코딩하는 동안 코덱이 인 루프 디버킹 필터를 사용해야 하는지 여부를 지정합니다.
기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_MACROBLOCKMODECOSTMETHOD | 코덱에서 사용할 매크로 블록 모드를 결정하는 데 사용되는 비용 메서드를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_MOTIONMATCHMETHOD | 동작 일치에 사용할 메서드를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_MOTIONSEARCHLEVEL | 동작 검색 작업에 사용되는 비디오 정보의 유형을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_MOTIONSEARCHRANGE | 동작 검색에 사용되는 범위를 지정합니다.
기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_NOISEEDGEREMOVAL | 코덱이 노이즈 프레임 가장자리를 검색하여 제거할지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_NUMBFRAMES | 양방향 예측 프레임(B 프레임)의 수를 지정합니다.
기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_NUMTHREADS | 코덱이 인코딩에 사용할 스레드 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_PASSESRECOMMENDED | 코덱에서 지원하는 최대 패스 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 읽기 전용입니다. |
MFPKEY_PASSESUSED | 코덱이 콘텐츠를 인코딩하는 데 사용할 패스 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 읽기/쓰기입니다. |
MFPKEY_PERCEPTUALOPTLEVEL | 인코딩할 때 코덱이 보수적 지각 최적화를 사용해야 하는지 여부를 지정합니다.
기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_PRODUCEDUMMYFRAMES | 인코더가 중복 프레임에 대한 비트 스트림에 더미 프레임 항목을 생성하는지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_QPPERFRAME | QP를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_RANGEREDUX | 코덱이 비디오의 유효 색 범위를 줄일 정도를 지정합니다.
고급 프로필. 쓰기 전용입니다. |
MFPKEY_RAVG | 2-pass VBR(가변 비트 속도) 인코딩에 사용되는 평균 비트 속도를 초당 비트 단위로 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 읽기/쓰기입니다. |
MFPKEY_RDSUBPIXELSEARCH | 인코더가 RD 기반 하위 픽셀 MV 검색을 사용하는지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_REENCENDBUFFERSIZE | 세그먼트 다시 인코딩의 경우 버퍼 크기를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_REENCDURATION | 세그먼트 다시 인코딩의 경우 는 다시 인코딩할 세그먼트의 기간을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_REENCQPREF | 세그먼트 다시 인코딩의 경우 시작 세그먼트 이전 프레임의 분위기를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_REENCSTARTBUFFERSIZE | 세그먼트 다시 인코딩의 경우 시작 버퍼 충만성을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_RMAX | 제한된 2-pass VBR(가변 비트 속도)에 사용되는 최고 비트 속도(초당 비트)를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 읽기/쓰기입니다. |
MFPKEY_TOTALFRAMES | 인코딩 프로세스 중에 인코더에 전달되는 비디오 프레임 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 읽기 전용입니다. |
MFPKEY_VBRENABLED | 코덱이 VBR(가변 비트 비율) 인코딩을 사용할지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 읽기/쓰기입니다. |
MFPKEY_VBRQUALITY | 품질 기반(1-pass) VBR(가변 비트 비율) 인코딩에 대한 실제 품질 수준을 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_VIDEOSCALING | 코덱이 비디오 크기 조정 최적화를 사용할지 여부를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 쓰기 전용입니다. |
MFPKEY_VIDEOWINDOW | 모델 버퍼에 들어갈 수 있는 콘텐츠의 양(밀리초)을 지정합니다.
고급 프로필. 쓰기 전용입니다. |
MFPKEY_VOLHEADERFORREENCODE | 세그먼트 다시 인코딩의 경우 는 다시 인코딩되는 파일의 코덱 프라이빗 데이터를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필, 이미지. 쓰기 전용입니다. |
MFPKEY_VTYPE | 코덱이 인터레이스 소스 비디오를 검색하는 데 사용할 논리 유형을 지정합니다.
고급 프로필. 쓰기 전용입니다. |
MFPKEY_ZEROBYTEFRAMES | 이전 프레임과 중복되었기 때문에 건너뛴 비디오 프레임의 수를 지정합니다.
단순 프로필, 기본 프로필, 고급 프로필. 읽기 전용 |
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows XP, Windows Vista 또는 Windows 7 |
헤더 |
|
DLL |
|
추가 정보