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 设备

要求

要求
目标平台 Windows
标头 strmif.h (包括 Dshow.h)

另请参阅

编码器 API