編解碼器 API 屬性

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

通用音訊屬性

這些屬性同時適用于音訊編碼器和音訊解碼器。

屬性 Description
AVAudioChannelConfig 取得音訊位資料流程中音訊通道的喇叭組態。
AVAudioChannelCount 取得音訊位資料流程中的通道數目。
AVAudioSampleRate 取得音訊位資料流程的取樣速率,以秒為單位取樣。
AVDDSurroundMode 指定音訊是否以 Dolby 範圍編碼。

 

一般解碼器屬性

這些屬性同時適用于音訊解碼器和視訊解碼器。

屬性 Description
AVDecCommonInputFormat 指定解碼器的目前輸入格式。
AVDecCommonMeanBitRate 取得解碼器的目前平均位元速率。
AVDecCommonOutputFormat 指定解碼器的輸出格式。
AVDecMmcssClass 指定解碼執行緒的多媒體類別排程器服務 (MMCSS) 類別。

 

通用編碼器屬性

這些屬性同時適用于音訊編碼器和視訊編碼器。

屬性 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 指定解碼器的軟體 deinterlace 模式。
AVDecVideoSWPowerLevel 指定省電等級。
AVDecVideoThumbnailGenerationMode 啟用或停用縮圖產生模式。

 

音訊解碼器屬性

屬性 Description
AVDecAACDownmixMode 指定 AAC 解碼器是否使用標準 MPEG-2/MPEG-4 立體混音方程式,或使用非標準下混音。
AVDecAudioDualMono 指定 2 通道音訊是否編碼為立體或雙聲道。
AVDecAudioDualMonoReproMode 指定解碼器如何重現雙聲道音訊。
AVDecHEAACDynamicRangeControl 啟用或停用 AAC 解碼器中的動態範圍控制項。

 

視訊編碼器屬性

屬性 Description
AVEncInputVideoSystem 指定來源內容的視訊系統。
AVEncStatVideoCodedFrames 傳回編碼的視訊畫面數目。
AVEncStatVideoOutputFrameRate 傳回視訊內容的平均畫面播放速率。
AVEncStatVideoTotalFrames 傳回編碼器收到的視訊畫面數目。
AVEncVideoCBRMotionTimeoff 指定動作與仍然影像之間的取捨。
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 指定要用於 entropy 編碼的可變長度編碼 (VLC) 資料表。
AVEncMPVLevel 指定 MPEG-2 層級。
AVEncMPVProfile 指定 MPEG-2 設定檔。
AVEncMPVQScaleType 指定量化器小數位數是線性還是非線性。
AVEncMPVQuantMatrixChromaIntra 指定宏區塊內部的色度量化矩陣。
AVEncMPVQuantMatrixChromaNonIntra 指定非內部宏區塊的色度量化矩陣。
AVEncMPVQuantMatrixIntra 指定宏區塊內部的 luma 量化矩陣。
AVEncMPVQuantMatrixNonIntra 指定非內部宏區塊的 luma quantization 矩陣。
AVEncMPVScanPattern 指定 macroblock 掃描模式。
AVEncMPVSceneDetection 指定編碼器偵測到新場景時的行為方式。
AVEncMPVUseConcealmentMotionVectors 指定編碼器是否使用隱藏動作向量。

 

MPEG 音訊編碼器屬性

屬性 Description
AVEncMPACodingMode 指定 MPEG-1 音訊編碼模式。
AVEncMPACopyright 指定著作權位的預設設定。
AVEncMPAEmphasisType 指定解碼時應該使用的反強調篩選類型。
AVEncMPAEnableRedundancyProtection 指定是否要將迴圈備援檢查 (CRC) 新增至框架標頭。
AVEncMPALayer 指定 MPEG 音訊層。
AVEncMPAOriginalBitstream 指定原始位的預設設定。
AVEncMPAPrivateUserBit 設定私用使用者位的值。

 

Dolby Digital Audio 解碼器屬性

屬性 Description
AVDecDDDynamicRangeScaleHigh 指定解碼器執行動態範圍控制項時的高階剪下。
AVDecDDDynamicRangeScaleLow 指定解碼器執行動態範圍控制項時的低階提升。
AVDecDDOperationalMode 指定壓縮控制模式。

 

Dolby Digital Audio Encoder 屬性

屬性 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 指定原始的 bitstream 旗標。
AVEncDDPreferredStereoDownMixMode 指定慣用的立體混音模式。
AVEncDDProductionInfoExists 指定音訊生產資訊旗標。
AVEncDDProductionMixLevel 指定混合層級。
AVEncDDProductionRoomType 指定會議室類型。
AVEncDDRFPreEmphasisFilter 指定 RF 過度修改保護設定。
AVEncDDService 指定音訊服務。
AVEncDDSurround3dBAttenuation 指定範圍通道是否會在編碼之前衰減。
AVEncDDSurround90DegreeePhaseShift 指定是否將 90 度相移套用至周圍通道。
AVEncDDSurroundDownMixLevel 指定混合層級的括住。
AVEncDDSurroundExMode 指定音訊串流是否編碼在「範圍 EX」中。

 

數位訊號處理 (DSP) 屬性

屬性 Description
AVDSPLoudnessEqualization 啟用或停用音量相等
AVDSPSpeakerFill 啟用或停用說話者填滿

 

編解碼器 API 參考