Документация
ОС Аврора 5.1.0

Класс Aurora::StreamCamera::VideoEncoder

Видеокодер. Подробнее…

Подключение: #include <streamcamera.h>

Публичные функции

~VideoEncoder() = default
virtual bool encode(std::shared_ptr< const StreamCamera::RawImageFrame > frame, bool forceSync)=0
virtual bool encode(std::shared_ptr< const StreamCamera::YCbCrFrame > frame, bool forceSync)=0
virtual std::string getParameter(VideoEncoderParameter param) const =0
virtual std::string getParameterRange(VideoEncoderParameter param) const =0
virtual std::vector< PixelFormat > getSupportedPixelFormats()=0
virtual bool init(VideoEncoderMetadata metadata)=0
virtual void setBitrate(uint32_t bps)=0
void setListener(VideoEncoderListener * listener)
virtual bool setParameter(VideoEncoderParameter param, const std::string & value)=0

Защищенные данные

VideoEncoderListener* m_encoderListener

Подробное описание

Видеокодер.

Деструктор

~VideoEncoder() = default

Описание методов

bool encode(std::shared_ptr< const StreamCamera::RawImageFrame > frame, bool forceSync)

bool encode(std::shared_ptr< const StreamCamera::YCbCrFrame > frame, bool forceSync)

Начинает кодирование видеокадра.

Кодирование выполняется асинхронно, на некотором оборудовании для генерации закодированного кадра кодировщик должен получить несколько входных кадров для заполнения очереди кодирования. Кодировщик должен быть уничтожен для генерации события EOS.

Аргументы

  • [in] frame — видеокадр для кодирования.
  • [in] forceSync — запрашивает у драйвера генерацию ключевого кадра.

Возвращает

True, если кадр принимается для кодирования.

std::string getParameter(VideoEncoderParameter param) const

Возвращает текущее значение параметра.

Аргументы

  • [in] param — индекс параметра.

Возвращает

Синтаксис возвращаемого значения для getParameter():

  • "v";
  • "(x,y,w,h)" для прямоугольника;
  • пустая строка, если возникает ошибка.

std::string getParameterRange(VideoEncoderParameter param) const

Возвращает возможные значения параметра.

Аргументы

  • [in] param — индекс параметра.

Возвращает

Синтаксис возвращаемого значения:

  • "v1,v2,v3" для возможного набора значений, например "1,2" или "false,true";
  • "v1-v10" для непрерывного значения, например "1-10" или "0.0-1.0" для значений с плавающей точкой;
  • "v1,v2-v10" для дискретного значения;
  • "-" для значения только для чтения;
  • "x" для прямоугольника (значение "(x,y,w,h)");
  • пустая строка, если возникает ошибка.

См. также

Camera::getParameterRange

std::vector<PixelFormat> getSupportedPixelFormats()

Список поддерживаемых форматов пикселей.

Список отсортирован по предпочтениям кодека.

Возвращает

Список поддерживаемых форматов пикселей или пустой список в случае возникновения ошибки.

bool init(VideoEncoderMetadata metadata)

Инициализирует видеокодер.

После вызова метода кодировщик может использовать необработанные видеокадры. Последующие вызовы VideoEncoder::init() завершатся ошибкой. Уничтожает объект кодировщика, чтобы остановить видеокодер и сгенерировать событие конца потока.

Возвращает

True, если видеокодер успешно инициализирован.

virtual void setBitrate(uint32_t bps)=0

Устанавливает битрейт кодировщика.

Может вызываться в любое время после вызова VideoEncoder:init(). Это полезно в режиме CBR, когда используется внешний алгоритм управления битрейтом.

void setListener(VideoEncoderListener * listener)

Установить обратные вызовы.

Аргументы

  • [in] listener — объект с обратными вызовами.

bool setParameter(VideoEncoderParameter param, const std::string & value)

Устанавливает значение параметра.

Аргументы

  • [in] param — индекс параметра.
  • [in] value:
    • "v" для дискретного или непрерывного значения;
    • "(x,y,w,h)" для прямоугольника.

Возвращает

True означает, что значение принято.

Поля

VideoEncoderListener * m_encoderListener

Используется в setListener().

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.