코덱 API 속성

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

일반 오디오 속성

이러한 속성은 오디오 인코더와 오디오 디코더 모두에 적용됩니다.

속성 Description
AVAudioChannelConfig 오디오 비트 스트림의 오디오 채널에 대한 스피커 구성을 가져옵니다.
AVAudioChannelCount 오디오 비트 스트림의 채널 수를 가져옵니다.
AVAudioSampleRate 오디오 비트 스트림의 샘플 속도(초당 샘플)를 가져옵니다.
AVDDSurroundMode 오디오가 Dolby Surround에서 인코딩되는지 여부를 지정합니다.

 

일반 디코더 속성

이러한 속성은 오디오 디코더와 비디오 디코더 모두에 적용됩니다.

속성 Description
AVDecCommonInputFormat 디코더의 현재 입력 형식을 지정합니다.
AVDecCommonMeanBitRate 디코더의 현재 평균 비트 속도를 가져옵니다.
AVDecCommonOutputFormat 디코더의 출력 형식을 지정합니다.
AVDecMmcssClass 디코딩 스레드에 대한 MMCSS(멀티미디어 클래스 Scheduler Service) 클래스를 지정합니다.

 

일반 인코더 속성

이러한 속성은 오디오 인코더와 비디오 인코더 모두에 적용됩니다.

속성 Description
AVEncCodecType 인코딩 체계를 지정합니다.
AVEncCommonBufferInLevel 인코딩 버퍼의 초기 수준을 지정합니다.
AVEncCommonBufferOutLevel 인코딩 프로세스의 끝에 있는 인코딩 버퍼의 최종 수준을 지정합니다.
AVEncCommonBufferSize 인코딩하는 동안 사용되는 버퍼의 크기를 지정합니다.
AVEncCommonFormatConstraint 인코더의 대상 형식을 지정합니다.
AVEncCommonLowLatency 인코딩된 스트림의 디코딩 대기 시간이 낮도록 출력 스트림을 구성할지 여부를 지정합니다.
AVEncCommonMaxBitRate 최대 비트 속도를 지정합니다.
AVEncCommonMeanBitRate 평균 비트 속도를 지정합니다.
AVEncCommonMeanBitRateInterval 평균 비트 전송률이 적용되는 시간 간격을 지정합니다.
AVEncCommonMinBitRate 최소 비트 속도를 지정합니다.
AVEncCommonMultipassMode 인코더가 지원하는 인코딩 패스 수를 지정합니다.
AVEncCommonPassEnd 현재 인코딩 패스를 중지하거나 현재 인코딩 패스가 마지막 인코딩 패스인지 여부를 쿼리합니다.
AVEncCommonPassStart 첫 번째 인코딩 패스를 시작합니다.
AVEncCommonQuality 인코딩의 품질 수준을 지정합니다.
AVEncCommonQualityVsSpeed 인코딩 품질과 속도 간의 절충을 지정합니다.
AVEncCommonRateControlMode 속도 제어 모드를 지정합니다.
AVEncCommonRealTime 애플리케이션에 실시간 인코딩 성능이 필요한지 여부를 지정합니다.
AVEncCommonStreamEndHandling 인코더가 스트림 끝에 있는 그림의 부분 그룹(GOP)을 삭제할지 여부를 지정합니다.
AVEncMuxOutputStreamType 멀티플렉서에서 생성되는 출력 스트림의 형식을 지정합니다.
AVEncStatCommonCompletedPasses 완료된 인코딩 패스 수를 지정합니다.

 

비디오 디코더 속성

속성 Description
AVDecVideoAcceleration_H264 H.264 비디오 디코딩을 위해 하드웨어 가속을 사용하거나 사용하지 않도록 설정합니다.
AVDecVideoAcceleration_MPEG2 MPEG-2 비디오 디코딩을 위해 하드웨어 가속을 사용하거나 사용하지 않도록 설정합니다.
AVDecVideoAcceleration_VC1 VC-1 비디오 디코딩을 위해 하드웨어 가속을 사용하거나 사용하지 않도록 설정합니다.
AVDecVideoDropPicWithMissingRef 디코더가 참조 프레임이 누락된 인트라 프레임을 삭제할지 여부를 지정합니다.
AVDecVideoFastDecodeMode 비디오 디코딩 속도를 가져오거나 설정합니다.
AVDecVideoImageSize 디코딩된 이미지의 크기를 픽셀 단위로 가져옵니다.
AVDecVideoInputScanType 디코딩된 비디오 스트림이 인터레이스되는 방법을 지정합니다.
AVDecVideoPixelAspectRatio 디코딩된 비디오 스트림의 픽셀 가로 세로 비율을 지정합니다.
AVDecVideoSoftwareDeinterlaceMode 디코더의 소프트웨어 디인터레이스 모드를 지정합니다.
AVDecVideoSWPowerLevel 절전 수준을 지정합니다.
AVDecVideoThumbnailGenerationMode 축소판 그림 생성 모드를 사용하거나 사용하지 않도록 설정합니다.

 

오디오 디코더 속성

속성 Description
AVDecAACDownmixMode AAC 디코더가 표준 MPEG-2/MPEG-4 스테레오 다운믹스 수식을 사용할지 또는 비표준 다운믹스를 사용하는지 여부를 지정합니다.
AVDecAudioDualMono 2 채널 오디오가 스테레오 또는 듀얼 모노로 인코딩되는지 여부를 지정합니다.
AVDecAudioDualMonoReproMode 디코더가 이중 모노 오디오를 재현하는 방법을 지정합니다.
AVDecHEAACDynamicRangeControl AAC 디코더에서 동적 범위 컨트롤을 사용하거나 사용하지 않도록 설정합니다.

 

비디오 인코더 속성

속성 Description
AVEncInputVideoSystem 원본 콘텐츠의 비디오 시스템을 지정합니다.
AVEncStatVideoCodedFrames 인코딩된 비디오 프레임 수를 반환합니다.
AVEncStatVideoOutputFrameRate 비디오 콘텐츠의 평균 프레임 속도를 반환합니다.
AVEncStatVideoTotalFrames 인코더가 받은 비디오 프레임 수를 반환합니다.
AVEncVideoCBRMotionTradeoff 동작과 스틸 이미지 간의 절충을 지정합니다.
AVEncVideoCodedVideoAccessUnitSize 비디오 액세스 단위의 크기를 지정합니다.
AVEncVideoDefaultUpperFieldDominant 먼저 표시되는 필드를 지정합니다.
AVEncVideoDisplayDimension 디코딩할 때 비디오 스트림의 크기를 지정합니다.
AVEncVideoEncodeDimension 비디오가 잘린 경우 인코딩된 비디오의 너비와 높이를 지정합니다.
AVEncVideoEncodeOffsetOrigin 비디오가 잘린 경우 클리핑 사각형의 왼쪽 및 위쪽 모서리를 지정합니다.
AVEncVideoFieldSwap 소스 비디오에서 인터레이스된 필드의 순서를 반대로 합니다.
AVEncVideoForceSourceScanType 입력 프레임이 프로그레시브 또는 인터레이스되는지 여부를 지정합니다.
AVEncVideoHeaderDropFrame GOP 헤더의 드롭 프레임 플래그 값을 지정합니다.
AVEncVideoHeaderFrames GOP 헤더의 시작 프레임 번호를 지정합니다.
AVEncVideoHeaderHours GOP 헤더의 시작 시간 번호를 지정합니다.
AVEncVideoHeaderMinutes GOP 헤더의 시작 분 번호를 지정합니다.
AVEncVideoHeaderSeconds GOP 헤더의 시작 두 번째 숫자를 지정합니다.
AVEncVideoInputChromaResolution 입력 비디오의 크로마 해상도를 지정합니다.
AVEncVideoInputChromaSubsampling 입력 비디오에 대한 크로마를 지정합니다.
AVEncVideoInputColorLighting 입력 비디오를 보기 위한 의도된 조명 조건을 지정합니다.
AVEncVideoInputColorNominalRange 입력 비디오의 명목 범위를 지정합니다.
AVEncVideoInputColorPrimaries 입력 비디오의 색 기본값을 지정합니다.
AVEncVideoInputColorTransferFunction 입력 비디오에 대한 RGB에서 R'G'B'로 변환 함수를 지정합니다.
AVEncVideoInputColorTransferMatrix 입력 비디오의 경우 Y'Cb'Cr' 색 공간에서 R'G'B 색 공간으로의 변환 매트릭스를 지정합니다.
AVEncVideoInverseTelecineEnable 인코더가 역 텔레사인을 수행하는지 여부를 지정합니다.
AVEncVideoInverseTelecineThreshold 인코더가 비디오 필드 중복을 고려하는 임계값을 설정합니다.
AVEncVideoMaxKeyframeDistance 키 프레임 사이의 최대 프레임 수를 지정합니다.
AVEncVideoNoOfFieldsToEncode 인코딩할 필드 수를 지정합니다.
AVEncVideoNoOfFieldsToSkip 인코딩하는 동안 건너뛸 필드 수를 지정합니다.
AVEncVideoOutputChromaResolution 인코딩된 비디오의 크로마 해상도를 지정합니다.
AVEncVideoOutputChromaSubsampling 인코딩된 비디오의 크로마를 지정합니다.
AVEncVideoOutputColorLighting 인코딩된 비디오를 보기 위한 의도된 조명 조건을 지정합니다.
AVEncVideoOutputColorNominalRange 인코딩된 비디오의 명목 범위를 지정합니다.
AVEncVideoOutputColorPrimaries 인코딩된 비디오의 색 기본값을 지정합니다.
AVEncVideoOutputColorTransferFunction 인코딩된 비디오의 RGB에서 R'G'B'로 변환 함수를 지정합니다.
AVEncVideoOutputColorTransferMatrix 인코딩된 비디오의 경우 Y'Cb'Cr' 색 공간에서 R'G'B 색 공간으로의 변환 매트릭스를 지정합니다.
AVEncVideoOutputFrameRate 인코더 출력 스트림의 프레임 속도를 초당 프레임 단위로 지정합니다.
AVEncVideoOutputFrameRateConversion 출력 프레임 속도가 입력 프레임 속도와 일치하지 않을 때 인코더가 프레임 속도를 변환하는지 여부를 지정합니다.
AVEncVideoOutputScanType 인코더가 출력 비디오를 인터레이스하는 방법을 지정합니다.
AVEncVideoPixelAspectRatio 픽셀 가로 세로 비율을 지정합니다.
AVEncVideoSourceFilmContent 입력 비디오의 원래 원본이 필름인지 비디오인지 지정합니다.
AVEncVideoSourceIsBW 비디오가 단색(흑백)인지 아니면 색을 포함하는지 여부를 지정합니다.

 

오디오 인코더 속성

속성 Description
AVEncAudioDualMono 2 채널 오디오가 스테레오 또는 듀얼 모노로 인코딩되는지 여부를 지정합니다.
AVEncAudioInputContent 오디오 콘텐츠에 음악 또는 음성이 포함되어 있는지 여부를 지정합니다.
AVEncAudioIntervalToEncode 인코딩할 오디오 샘플 수를 지정합니다.
AVEncAudioIntervalToSkip 건너뛸 인코더의 오디오 샘플 수를 지정합니다.
AVEncAudioMapDestChannel N 인코딩된 오디오 스트림에서 채널 N 에 매핑되는 오디오 채널을 지정합니다.
AVEncAudioMeanBitRate 인코딩된 오디오 스트림의 평균 비트 속도를 지정합니다.
AVEncStatAudioAverageBPS 인코딩된 오디오의 초당 평균 비트를 반환합니다.
AVEncStatAudioAveragePCMValue 오디오 콘텐츠의 평균 볼륨 수준을 반환합니다.
AVEncStatAudioPeakPCMValue 오디오 콘텐츠에 있던 가장 높은 볼륨 수준을 반환합니다.

 

MPEG 비디오 인코더 속성

속성 Description
AVEncMPVAddSeqEndCode 인코더가 스트림의 끝에 시퀀스 끝 코드를 추가할지 여부를 지정합니다.
AVEncMPVDefaultBPictureCount I 프레임과 P 프레임 사이의 연속 B 프레임의 기본 수를 지정합니다.
AVEncMPVFrameFieldMode 인코더가 인코딩된 필드 또는 인코딩된 프레임을 생성하는지 여부를 지정합니다.
AVEncMPVGenerateHeaderPicDispExt 인코더가 그림 표시 확장 헤더를 생성할지 여부를 지정합니다.
AVEncMPVGenerateHeaderPicExt 인코더에서 그림 확장 헤더를 생성할지 여부를 지정합니다.
AVEncMPVGenerateHeaderSeqDispExt 인코더가 시퀀스 표시 확장 헤더를 생성할지 여부를 지정합니다.
AVEncMPVGenerateHeaderSeqExt 인코더가 시퀀스 확장 헤더를 생성할지 여부를 지정합니다.
AVEncMPVGenerateHeaderSeqScaleExt 인코더가 시퀀스 확장 가능한 확장 헤더를 생성하는지 여부를 지정합니다.
AVEncMPVGOPOpen 인코더가 열린 GOP 또는 닫힌 GOP를 생성하는지 여부를 지정합니다.
AVEncMPVGOPSInSeq 시퀀스 헤더 간의 GOP 수를 지정합니다.
AVEncMPVGOPSize 한 GOP 헤더에서 다음 GOP 헤더까지의 최대 그림 수를 지정합니다.
AVEncMPVIntraDCPrecision DC 계수의 전체 자릿수를 지정합니다.
AVEncMPVIntraVLCTable 엔트로피 코딩에 사용할 VLC(가변 길이 코딩) 테이블을 지정합니다.
AVEncMPVLevel MPEG-2 수준을 지정합니다.
AVEncMPVProfile MPEG-2 프로필을 지정합니다.
AVEncMPVQScaleType 분위수 눈금이 선형인지 아니면 비선형인지를 지정합니다.
AVEncMPVQuantMatrixChromaIntra 매크로 블록 내의 크로마 양자화 행렬을 지정합니다.
AVEncMPVQuantMatrixChromaNonIntra 인트라가 아닌 매크로 블록에 대한 크로마 양자화 행렬을 지정합니다.
AVEncMPVQuantMatrixIntra 인트라 매크로 블록에 대한 루마 양자화 행렬을 지정합니다.
AVEncMPVQuantMatrixNonIntra 인트라가 아닌 매크로 블록에 대한 루마 양자화 행렬을 지정합니다.
AVEncMPVScanPattern macroblock 검사 패턴을 지정합니다.
AVEncMPVSceneDetection 인코더가 새 장면을 감지할 때 동작하는 방식을 지정합니다.
AVEncMPVUseConcealmentMotionVectors 인코더가 은닉 동작 벡터를 사용하는지 여부를 지정합니다.

 

MPEG 오디오 인코더 속성

속성 Description
AVEncMPACodingMode MPEG-1 오디오 인코딩 모드를 지정합니다.
AVEncMPACopyright 저작권 비트의 기본 설정을 지정합니다.
AVEncMPAEmphasisType 디코딩할 때 사용해야 하는 강조 해제 필터의 형식을 지정합니다.
AVEncMPAEnableRedundancyProtection 프레임 헤더에 CRC(순환 중복성 검사)를 추가할지 여부를 지정합니다.
AVEncMPALayer MPEG 오디오 계층을 지정합니다.
AVEncMPAOriginalBitstream 원래 비트의 기본 설정을 지정합니다.
AVEncMPAPrivateUserBit 프라이빗 사용자 비트의 값을 설정합니다.

 

Dolby 디지털 오디오 디코더 속성

속성 Description
AVDecDDDynamicRangeScaleHigh 디코더가 동적 범위 컨트롤을 수행할 때 상위 수준 잘라내기를 지정합니다.
AVDecDDDynamicRangeScaleLow 디코더가 동적 범위 컨트롤을 수행할 때 하위 수준 향상을 지정합니다.
AVDecDDOperationalMode 압축 제어 모드를 지정합니다.

 

Dolby 디지털 오디오 인코더 속성

속성 Description
AVEncDDAtoDConverterType A/D(아날로그-디지털) 변환 유형을 지정합니다.
AVEncDDCentreDownMixLevel 가운데 다운믹스 수준을 지정합니다.
AVEncDDChannelBWLowPassFilter 로우 패스 필터가 기본 입력 채널에 적용되는지 여부를 지정합니다.
AVEncDDCopyright 저작권 플래그를 지정합니다.
AVEncDDDCHighPassFilter DC 차단 하이패스 필터가 적용되는지 여부를 지정합니다.
AVEncDDDialogNormalization 대화 정규화 수준을 지정합니다.
AVEncDDDigitalDeemphasis 디지털 강조 해제 여부를 지정합니다.
AVEncDDDynamicRangeCompressionControl 동적 범위 컨트롤 프로필을 지정합니다.
AVEncDDHeadphoneMode 헤드폰 모드를 지정합니다.
AVEncDDLFELowPassFilter 낮은 패스 필터가 LFE(낮은 빈도 효과) 채널에 적용되는지 여부를 지정합니다.
AVEncDDLoRoCenterMixLvl_x10 Lo/Ro 다운믹싱의 가운데 채널에 적용되는 수준 이동을 지정합니다.
AVEncDDLoRoSurroundMixLvl_x10 Lo/Ro 다운믹싱의 서라운드 채널에 적용되는 수준 이동을 지정합니다.
AVEncDDLtRtCenterMixLvl_x10 Lt/Rt 다운믹싱을 위해 가운데 채널에 적용되는 수준 이동을 지정합니다.
AVEncDDLtRtSurroundMixLvl_x10 Lt/Rt 다운믹싱을 위해 서라운드 채널에 적용되는 수준 이동을 지정합니다.
AVEncDDOriginalBitstream 원래 비트 스트림 플래그를 지정합니다.
AVEncDDPreferredStereoDownMixMode 기본 스테레오 다운믹스 모드를 지정합니다.
AVEncDDProductionInfoExists 오디오 프로덕션 정보 플래그를 지정합니다.
AVEncDDProductionMixLevel 혼합 수준을 지정합니다.
AVEncDDProductionRoomType 회의실 유형을 지정합니다.
AVEncDDRFPreEmphasisFilter RF 초과 변조 보호 설정을 지정합니다.
AVEncDDService 오디오 서비스를 지정합니다.
AVEncDDSurround3dBAttenuation 인코딩 전에 서라운드 채널이 감쇠되는지 여부를 지정합니다.
AVEncDDSurround90DegreeePhaseShift 서라운드 채널에 90도 위상 시프트를 적용할지 여부를 지정합니다.
AVEncDDSurroundDownMixLevel 줄 바 묶기 혼합 수준을 지정합니다.
AVEncDDSurroundExMode 오디오 스트림이 Surround EX로 인코딩되는지 여부를 지정합니다.

 

DSP(디지털 신호 처리) 속성

속성 Description
AVDSPLoudnessEqualization 음량 같음 균등화를 사용하거나 사용하지 않도록 설정
AVDSPSpeakerFill 스피커 채우기 사용 또는 사용 안 함

 

코덱 API 참조