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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как лучше выводить видео картинку и с помощью чего?  (Прочитано 3748 раз)
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]   Вверх
  Печать  
 
Перейти в:  


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