qt — рисовать на холсте WebGL непосредственно из приложения C ++

Я экспериментировал с Qt Webkit, чтобы визуализировать видео элемент в браузере. Все мои кадры декодируются приложением C ++ (исходные видео пакеты, полученные по сети), и я могу отображать видео в элементе, используя Qt, как описано здесь: QtWebEngine рендерит родные виджеты Qt в DOM? но я ограничен проблемами z-index в Qt Webkit 🙁

Вместо этого мне было интересно, возможно ли что-либо из перечисленного ниже, и достиг ли кто-нибудь этого раньше.

У меня есть приложение C ++, которое запускает окно Chrome Embedded Framework (в основном окно браузера). Есть ли какой-нибудь способ, которым мое приложение C ++ может рендерить видео прямо в это окно браузера — используя webGL или подобную библиотеку? Возможно, есть какой-то способ, которым я могу использовать openGL в приложении C ++ для записи в память видеокарты и сделать так, чтобы webGL считывал данные видеокарты — это было бы здорово, если бы существовал такой метод, но я боюсь, что песочница не допустит этого.

например

Browser webGL surface/object <--- C++ application <--- file/network data

(Очень!) Наивный подход заключается в подключении окна браузера к основному приложению C ++ с использованием веб-сокета по адресу обратной связи, а веб-сокет передает поверхности в браузер. Эти поверхности можно затем нарисовать на холсте html5 или использовать webGL — хотя это, вероятно, будет ужасно с точки зрения задержки.

например

Browser <--- websocket <--- C++ decode <--- file/network data

Большое спасибо — любые другие предложения для альтернативных библиотек, которые я мог бы использовать для этого / примеры кода, будут с благодарностью 🙂

7

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]