Kalombyr
@Kalombyr

Как ускорить вывод видео в QML?

Доброго дня!
Пытаюсь сделать вывод видео (c камер наблюдения за домом, т.е. не из файла)

Что бы вывести в QML загоняю покадрово в QVideoFrame и вывожу с помощью QAbstractVideoSurface (а в QML использую соответственно VideoOutput).
Всё более менее нормально, но вот начинаются проблемы, когда мне нужно вывести картинку сразу с 4 камер - интерфейс жутко лагает. Да, я попробовал объединить все 4 потока в один и выводить на один VideoOtput скорость отображения устраивает (то есть тормозит именно QML интерфейс, а не сами преобразования для вывода).
Но нужно выводить каждый поток именно в свой VideoOutput.

Когда-то очень давно помню был один хак - заливали область каким-либо цветом, а потом по-моему через directx выводили картинку, которая отображалась только где была заливка этим цветом... Но это было ещё во времена Delphi 7.

Сейчас же Qt, а точнее QML использует OpenGL, вот я думаю - может быть здесь можно как-то такой трюк провернуть?
Или же может быть есть хороший пример, как наиболее быстро отобразить видео поток из c++ в QML?
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
Насколько я понял вы вручную занимаетесь декодированием и выводом, а вы пробовали использовать встроеный проигрыватель?
MediaPlayer {
id: videoPlayer
source:: "rtsp://admin:admin@192.168.0.10/cam/realmonitor?channel=1&subtype=0"
muted: true
autoPlay: true
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы