[本頁面所屬的功能 Microsoft TV Technologies,是舊有功能。 Microsoft 強烈建議新程式碼不要使用此功能。】
[IEncoderAPI 已不再提供使用。 相反地,請使用 ICodecAPI。]
IEncoderAPI 介面定義了一種標準方式,讓應用程式與驅動程式與實作該介面的第三方硬體或軟體編碼器溝通。 欲了解更多此介面資訊,請參閱 編碼器API。
Inheritance
IEncoderAPI 介面繼承自 IUnknown 介面。 IEncoderAPI 也有以下類型的成員:
- Methods
Methods
IEncoderAPI 介面具備這些方法。
|
IEncoderAPI::GetDefaultValue GetDefaultValue 方法會取得參數的預設值(如果存在的話)。 |
|
IEncoderAPI::GetParameterRange GetParameterRange 方法會取得參數所支援的有效值範圍,當參數支援階梯式範圍而非特定值清單時。 |
|
IEncoderAPI::GetParameterValues GetParameterValues 方法會取得該參數所支援的值清單。 |
|
IEncoderAPI::GetValue GetValue 方法會取得指定參數的當前值。 |
|
IEncoderAPI::IsAvailable IEncoderAPI 不再可供使用。 (IEncoderAPI.IsAvailable) |
|
IEncoderAPI::IsSupported IsSupported 方法查詢某個參數是否被支援。 |
|
IEncoderAPI::SetValue SetValue 方法設定參數的當前值。 |
備註
在各種介面方法中,以下 GUID(由 uuids.h 定義)用來指示正在設定或擷取的參數。
| 參數 | 描述 |
|---|---|
| ENCAPIPARAM_BITRATE | 指定位元率,單位為位元每秒。 在恆定位元率(CBR)模式下,該值即為恆定位元率。 在任一可變位元率模式下,都會給出平均位元率。 該值為 32 位元無符號長。 |
| ENCAPIPARAM_PEAK_BITRATE | 指定峰值位元率。 此參數僅在 ENCAPIPARAM_BITRATE_MODE 設定為 VariableBitRatePeak 時才相關。 |
| ENCAPIPARAM_BITRATE_MODE | 指定位元率模式,作為 VIDEOENCODER_BITRATE_MODE 枚舉值(32位元有號長)。 |
下表描述了編碼器在極高或極低位元率條件下,於 VIDEOENCODER_BITRATE_MODE中定義的兩種可變位元率模式中預期的行為。
| 條件 | 模式 | 行為 |
|---|---|---|
| 畫面會變成黑屏或完全沒有動態 | 可變比特率平均 | 在短時間內(數秒鐘),位元率會低於ENCAPIPARAM_BITRATE參數所指定的速率。 但在四分鐘的時間內,編碼器會維持平均速率,必要時會加入「虛擬」位元到串流中。 |
| 畫面會變黑或完全沒有動作。 | 可變比特率峰值 | 位元率會低於ENCAPIPARAM_BITRATE參數中指定的預期速率。 這個速度會維持在這個水準,直到更複雜的場景開始。 |
| 這個場景極為複雜。 | 可變比特率平均 | 幾秒鐘內,速度會上升。 如果場景保持複雜,速率會回落,畫面會變得方塊狀,以維持ENCAPIPARAM_BITRATE參數中指定的平均值。 |
| 這個場景極為複雜。 | 可變比特率峰值 | 速率會上升並持續上升,可能高於ENCAPIPARAM_BITRATE參數中指定的預期速率,但絕不會超過ENCAPIPARAM_PEAK_BITRATE參數指定的峰值。 |
OCUR 裝置
此介面支援 OpenCable 單向有線接收器(OCUR)裝置。 請參見 OCUR 裝置。
要求
| 需求 | 價值 |
|---|---|
| 目標平臺 | Windows 作業系統 |
| 標頭 | strmif.h (包括 Dshow.h) |