IEncoderAPI 接口 (strmif.h)

[与此页面关联的功能(Microsoft TV Technologies)是一项传统功能。 Microsoft强烈建议新代码不使用此功能。]

[IEncoderAPI 不再可用。 请改用 ICodecAPI。]

IEncoderAPI 接口定义了应用程序和驱动程序与实现接口的第三方硬件或软件编码器通信的标准方法。 有关此接口的详细信息,请参阅 编码器 API

继承

IEncoderAPI 接口继承自 IUnknown 接口。 IEncoderAPI 还具有以下类型的成员:

  • 方法

方法

IEncoderAPI 接口具有这些方法。

 
IEncoderAPI::GetDefaultValue

GetDefaultValue 方法检索参数的默认值(如果存在)。
IEncoderAPI::GetParameterRange

GetParameterRange 方法检索参数支持的有效值范围(如果参数支持阶梯范围而不是特定值的列表)。
IEncoderAPI::GetParameterValues

GetParameterValues 方法检索给定参数支持的值列表。
IEncoderAPI::GetValue

GetValue 方法检索指定参数的当前值。
IEncoderAPI::IsAvailable

IEncoderAPI 不再可用。 (IEncoderAPI.IsAvailable)
IEncoderAPI::IsSupported

IsSupported 方法查询是否支持给定参数。
IEncoderAPI::SetValue

SetValue 方法设置参数的当前值。

注解

在各种接口方法中,在 uuids.h 中定义的以下 GUID 用于指示要设置或检索的参数。

参数 说明
ENCAPIPARAM_BITRATE 指定比特率(以位/秒为单位)。 在常量比特率(CBR)模式下,该值提供常量比特率。 在任一可变比特率模式下,它提供平均比特率。 该值为 32 位无符号长。
ENCAPIPARAM_PEAK_BITRATE 指定峰值比特率。 仅当 ENCAPIPARAM_BITRATE_MODE 设置为 VariableBitRatePeak 时,此参数才相关。
ENCAPIPARAM_BITRATE_MODE 将比特率模式指定为 VIDEOENCODER_BITRATE_MODE 枚举值(32 位有符号长)。

下表描述了在VIDEOENCODER_BITRATE_MODE定义的两种可变比特率模式下,编码器在极高或低比特率条件下的预期行为。

条件 模式 行为
场景跌至黑色或零动作 VariableBitRateAverage 在短时间内(几秒钟),比特率将低于为 ENCAPIPARAM_BITRATE 参数指定的速率。 但是,在四分钟的时间段内,编码器将通过向流中添加“虚拟”位来维持平均速率。
场景跌至黑色或零动作。 VariableBitRatePeak 比特率将低于ENCAPIPARAM_BITRATE参数的值中指定的预期速率。 速率将保持在该级别,直到更复杂的场景开始。
场景非常复杂。 VariableBitRateAverage 几秒钟后,速率将上升。 如果场景保持复杂,速率将恢复,并且图片将变为阻止状态,以便保持ENCAPIPARAM_BITRATE参数的值中指定的平均值。
场景非常复杂。 VariableBitRatePeak 速率将上升并保持上升,可能高于ENCAPIPARAM_BITRATE参数的值中指定的预期速率,但永远不会高于ENCAPIPARAM_PEAK_BITRATE参数中指定的峰值。

OCUR 设备

此接口支持 OpenCable 单向电缆接收器(OCUR)设备。 请参阅 OCUR 设备

要求

Requirement 价值
目标平台 Windows操作系统
strmif.h (包括 Dshow.h)

另请参阅

编码器 API