Конвертировать необработанный буфер v4l2 в QVideoframe в qt - PullRequest
0 голосов
/ 05 октября 2018

Я получу необработанные видеоданные от драйвера V4L2, используя VIDIOC_DQBUF, я хотел визуализировать этот кадр в qt, используя QVideoFrame (который создает видеокадр) и QLabel / QPaint (для рендеринга видеокадра).

QVideoFrame :: QVideoFrame (буфер QAbstractVideoBuffer *, const QSize & size, формат QVideoFrame :: PixelFormat) Создает видеокадр из буфера с заданным форматом пикселя и размером в пикселях. Qvideoframe из Qt

На данный момент я использую QImage для рендеринга RGB24, а QImage поддерживает единственный формат RGB.Однако необработанный видеокадр, полученный от VIDIOC_DQBUF, имеет разные цветовые форматы, и QVideoFrame поддерживает большинство из них.

Запросы:

  1. Как использовать QVideoFrame :: QVideoFrame (QAbstractVideoBuffer* buffer, const QSize & size, формат QVideoFrame :: PixelFormat) для буфера v4l2?

  2. Как я могу использовать функции map (), bits () и mappedBytes (), чтобы я могполучить QVideoFrame, созданный для данных необработанных видеоданных?

  3. Как я могу использовать QPaint / QLabel для рендеринга QVideoFrame?

С уважением, Кулакрни

...