Интерфейс IEncoderAPI (strmif.h)
[Функция, связанная с этой страницей, Microsoft TV Technologies, является устаревшей функцией. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код не использовал эту функцию.]
[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 задает текущее значение параметра. |
Комментарии
В различных методах интерфейса следующие идентификаторы GUID, определенные в uuids.h, используются для указания того, какой параметр устанавливается или извлекается.
Параметр | Описание |
---|---|
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 unidirectional Cable Receiver (OCUR). См . раздел Устройства OCUR.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |