Обновить

Комментарии 5

Есть возможность использовать видеоускорение, если выводить в Qt Quick сцену под Vulkan? Можно ли как-то обрабатывать стримы метаданных? QtMultimedia в Qt5 с gstreamer позволял, к примеру, вывести KLV метаданные с RTSP стрима в отдельный сетевой поток, проигрывающийся наравне с видеокадрами. Вроде как-то можно было и через appsink получать стрим метаданных, точно не помню.

Есть возможность использовать видеоускорение, если выводить в Qt Quick сцену под Vulkan? 

Возможно рендерить, если формат поддерживается. Только сейчас QtAVPlayer не поддерживает hwaccel vulkan. Это значит, что рендеринг будет не zero-copy: Сначала скопируется из GPU в CPU, потом обратно. Спасибо, добавлю в родмап добавить вулкан.

Добавил hwaccel vulkan, но зеро копи рендеринг оказался пока не очевидным, т.к. ffmpeg возвращает AVFrame с одним VkImage в vk_frame->img[0], но фрейм сам в NV12 формате, и QRhi требует, чтобы было 2 хэндла, один для Y, другой для UV.

Как это сделать, пока не очевидно.

Потратил все деньги на copilot lite, и ноль результата. А вот последний Claude Code fable смог найти как копировать текстуры из вулкана, так что уже доступен декодинг на вулкане и рендеринг в QML zero-copy. В хорошее время живем...

QtMultimedia в Qt5 с gstreamer позволял, к примеру, вывести KLV метаданные с RTSP стрима в отдельный сетевой поток, проигрывающийся наравне с видеокадрами

Есть надежда, что ffmpeg выведит KLV в отдельный стрим:

Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x722, 90k tbr, 90k tbn
Stream #0:1[0xfc]: Data: klv (KLVA / 0x41564C4B)"

Но в самом QtAVPlayer поддержки нет, спасибо за еще один фичареквест.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации