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

Класс Aurora::StreamCamera::VideoOutputQt5

Рендеринг видеокадров в компоненте QML VideoOutput. Подробнее…

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

Свойства

bool mirrored
QAbstractVideoSurface * videoSurface
QRect viewport

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

VideoOutputQt5(QObject *parent=nullptr)
bool mirrored() const
void onGraphicBuffer(std::shared_ptr< Aurora::StreamCamera::GraphicBuffer > buffer)
void onVideoFrame(const Aurora::StreamCamera::YCbCrFrame *frame)
void setMirrored(bool mirror)
void setVideoSurface(QAbstractVideoSurface *)
void setViewport(QRect viewport)
void stop()
QAbstractVideoSurface * videoSurface() const
QRect viewport() const

Сигналы

void mirroredChanged(bool mirror)
void viewportChanged(QRect viewport)

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

Рендеринг видеокадров в компоненте QML VideoOutput.

Рендеринг видеокадров, созданных с помощью Camera или VideoDecoder на QAbstractVideoSurface, предоставленном QtMultimedia.

class Listener : public VideoDecoderListener
{
...
    void onDecodedYCbCrFrame(const StreamCamera::YCbCrFrame *frame)
    {
        m_output->onVideoFrame(frame);
    }
 
    void onDecodedGraphicBuffer(std::shared_ptr<StreamCamera::GraphicBuffer> buffer)
    {
        m_output->onGraphicBuffer(buffer);
    }
...
private:
    VideoOutputQt5 *m_output;
}

Конструктор

VideoOutputQt5(QObject *parent=nullptr)

Описание свойств

bool mirrored

Управляет вертикальным переворотом видеовыхода.

Видеобуферы будут вертикально зеркально отражены при рендеринге, если установлено значение mirrored. Это полезно для рендеринга предварительного просмотра видео с фронтальной камеры.

Видеоповерхность остановится при изменении. Следующий вызов onVideoFrame() или onGraphicBuffer() применит настройки и запустит поверхность.

QAbstractVideoSurface * videoSurface

Содержит поверхность видео для рендеринга.

QRect viewport

Управляет областью просмотра видеовыхода.

Изменяет область просмотра QVideoSurfaceFormat, применённого к поверхности видео.

Видеоповерхность остановится при изменении. Следующий вызов onVideoFrame() или onGraphicBuffer() применит настройки и запустит поверхность.

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

bool mirrored () const

void onGraphicBuffer(std::shared_ptr< Aurora::StreamCamera::GraphicBuffer > buffer)

Рендеринг общего видеокадра.

Кадр визуализируется с использованием видеоузла EGL или YUV в зависимости от типа дескриптора, который предоставляет GraphicBuffer. Видеоповерхность начнется с формата, угаданного из кадра.

void onVideoFrame(const Aurora::StreamCamera::YCbCrFrame *frame)

Рендеринг видеокадра, не предназначенного для совместного использования.

Кадр копируется в новый VideoFrame, а затем визуализируется с помощью видеоузла YUV. Видеоповерхность начинается с формата, угаданного из кадра.

void setMirrored(bool mirror)

void 	setVideoSurface (QAbstractVideoSurface *)

void 	setViewport(QRect viewport)

void stop()

Останавливает VideoSurface.

Поверхность запустится снова при следующем вызове onVideoFrame() или onGraphicBuffer().

QAbstractVideoSurface * videoSurface() const

QRect viewport() const

Описание сигналов

void mirroredChanged(bool mirror)

void viewportChanged(QRect viewport)

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

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