Модификация видеокадра и отправка его обратно в поток вывода видео - PullRequest
0 голосов
/ 10 апреля 2019

В настоящее время я пытаюсь решить проблему в C ++ с помощью QT. Я пытаюсь получить видеокадр из видео, запущенного в выходном потоке QMediaPlayer, добавить градацию серого к этому кадру и затем отправить его обратно в поток вывода видео медиаплеера.

Захватить видеокадр ----> Добавить шкалу серого в кадр ----> Отправить обратно в поток вывода

На данный момент я могу получить видеокадр, используя QVideoFrame в QT, и изменить его. Однако я не уверен, как отправить его обратно в выходной поток медиаплеера. Я просматриваю исходный код QT, но пока не повезло.

Та же проблема может быть решена с помощью QML, однако я не хочу продолжать использовать QML и вместо этого решить ее с помощью C ++.

Надеюсь, у кого-то здесь есть идея, как это сделать. Спасибо

1 Ответ

0 голосов
/ 10 апреля 2019

Использование QAbstractVideoSurface

Цитирование документации:

Класс QAbstractVideoSurface определяет стандартный интерфейс, который производители видео используют для взаимодействия с поверхностями видеопрезентации. Вы можете создать подкласс этого интерфейса для получения видеокадров из таких источников, как декодированные медиафайлы или камеры, для выполнения собственной обработки.

Кроме того, здесь - краткий обзор того, как вы будете использовать этот класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...