Russian Qt Forum
Июня 14, 2025, 09:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как лучше выводить видео картинку и с помощью чего?  (Прочитано 3865 раз)
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« : Марта 12, 2013, 16:00 »

Работаю с видео на низком уровне, читаю с помощью libavformat, получаю кадры, и надо их выводить на виджет.

Вопрос следующий: чем лучше воспользоваться в данной ситуации? Картинку будет масштабироваться под размер виджета.

Пока вижу такие варианты:

1) QImage рисовать QPainter'ом на виджете. Тут никакого аппаратного ускорения масштабирования не получится скорее всего, зато можно выводить всякие полупрозрачные штуки поверх картинки.

2) YUV оверлей - не знаю с помощью чего его можно сделать в Qt. Поверх оверлея, насколько я знаю, можно добиться рисование без прозрачности.

3) OpenGL ?

Что мне выбрать и, в случае с оверлеем, куда копнуть, чтобы научиться его использовать с Qt?
Записан

Гугль в помощь
alexis031182
Гость
« Ответ #1 : Марта 13, 2013, 00:59 »

А что за "YUV оверлей"? Это из SDL? Ошибаюсь?

На Linux ещё через XVideo можно. Знаю, виндовс, но так, на всякий случай.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #2 : Марта 13, 2013, 11:24 »

А что за "YUV оверлей"? Это из SDL? Ошибаюсь?

На Linux ещё через XVideo можно. Знаю, виндовс, но так, на всякий случай.

Не только SDL, это независимое понятие. Про SDL думал, но не хочется зависимость тащить. В Qt есть phonon и он как-то выводит, но он очень высокоуровневый.

И надо кроссплатформенное решение, пишу под линуксом, результат запускать надо под виндой.
Записан

Гугль в помощь
alexis031182
Гость
« Ответ #3 : Марта 13, 2013, 11:56 »

QImage с QPainter работают довольно шустро. Во всяком случае, особо заметной разницы в нагрузке не заметил при рисовании "живого" видео между пайнтером с имаджем с одной стороны и opengl с другой. При этом производился постоянный ресайз видеокадров под размер виджета с сохранением пропорций и центрированием.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #4 : Мая 20, 2013, 11:10 »

QImage с QPainter работают довольно шустро. Во всяком случае, особо заметной разницы в нагрузке не заметил при рисовании "живого" видео между пайнтером с имаджем с одной стороны и opengl с другой. При этом производился постоянный ресайз видеокадров под размер виджета с сохранением пропорций и центрированием.

Разница проявляется при мощной видеокарте и большой площади масштабируемой картинки. Я на своем встроенном видео тоже разницы не замечал. А вот на дискретной карточке с opengl существенно шустрее отрисовывает.
Записан

Гугль в помощь
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 1.701 секунд. Запросов: 23.