Russian Qt Forum

Qt => Общие вопросы => Тема начата: Rotten_c от Февраль 22, 2013, 15:35



Название: QCamera + DirectShow plugin: fps меньше 1
Отправлено: Rotten_c от Февраль 22, 2013, 15:35
Добрый день всем. Решил поиграться с вебкой и видео.
Не без плясок собрал пример с QCamera и directshow плагин, чтобы оный работал.
В обоих билдах (релиз и отладка) fps ниже 1 (на глаз кадр в три секунды), все смазано и сильно засвечено. в исходный код ds внес изменения согласно статье с хабра (http://habrahabr.ru/post/148775/). Не пойму в чем дело и куда копать.
Может это было из-за того, что qt5 из коробки собран под opegl es2 (и транслируется в dx9 команды)?
Пересобрать под -opengl desktop попробовал, не конфигурится. Но может дело не в этом даже.

Есть мысли?

add: Windows 7 x64 Qt5.0.1 msvc2010-win32


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: alexis031182 от Февраль 22, 2013, 18:05
Попробуйте поменять в предпоследней строчке патча от хабра формат с RGB24 на RGB32.


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: Rotten_c от Февраль 22, 2013, 18:36
вышло оттак
(http://dl.dropbox.com/u/17372745/ShareXmod/2013-02/2013-02-22_19-33-34.png)

На одной камере частота кадров более-менее похоже на "нормальное", аналогичное остальным. А вот внешняя с большим разрешением сильно тормозит. Такое чувство, что все упирается в fillrate выводящего устройства.


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: alexis031182 от Февраль 22, 2013, 19:01
А что за "выводящее устройство"? И "внешняя" каким образом подключается?


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: Rotten_c от Февраль 22, 2013, 19:19
Да так же как и встроенная в ноут, через usb.
Неверно выразился) я имел в виду сущность, которая рисует изображение на виджете экранной формы.
с подобной дрянью встречался, когда на W7 в папке с приложением оказалась opengl32.dll от winXP, все похожим образом тормозило.

[Да, я бы пересобрал Qt с GL 2.0+ вместо OpenGL ES, ннннооо не получается нифига, вот и ищу иные причины, авось не оно]


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: alexis031182 от Февраль 22, 2013, 19:41
Если просто академический интерес, то поискать причину можно (на скриншоте видно, что просто видеоформат неподходящий), а если интерес, аки насяльнику надо, то лучше от QCamera и производных пока отказаться. Очень недоделано оно пока ещё. Сама структура классов-плагинов вроде работоспособна, но не сильно. Параметры видеозахвата вообще никакие не поменять, из коробки для рисования поддерживаются лишь два-три формата (один из них как раз RGB32), конвертеров не написано.

Нужно ещё посмотреть, какие форматы выдаёт сама камера, а то если она какой-нибудь планарный кидает, то совсем плохо. Точнее хорошо, они экономичны, но просто в Qt рисоваться не будут без ручного вмешательства.


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: Rotten_c от Февраль 22, 2013, 19:44
Интерес чисто академический. Хочу поиграться с видео из вебки, потом как получится довольно быстрый поток побаловаться с обработкой изображения (микширование кадров между собой и т.д.)

Может посоветуете что-нибудь для замены QCamera? Можно не из Qt.
Напрашивается конечно OpenCV, но я пока знаю только факт существования либы. Да есть ощущение, что она монструозна и я это все не слеплю воедино.


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: alexis031182 от Февраль 22, 2013, 19:54
Qt и OpenCV отлично совмещаются. OpenCV не монструозней Qt, поэтому нормально. В OpenCV видеозахват работает из коробки, тоже не блещет (параметры не поменяешь, кроме видеоразрешения), но его в общем случае хватает. А так, связка Qt+OpenCV довольно мощной по возможностям получается. Кстати, в OpenCV четвёртый Qt в комплекте идёт, поэтому, если нужен Qt5, то следует отказаться от сборки соответствующего модуля OpenCV.


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: Rotten_c от Февраль 22, 2013, 19:56
Совсем не нужен) Qt5 скачал ради камеры, а оно вон как.  ;D

Спасибо за ответ.


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: alexis031182 от Февраль 22, 2013, 20:01
Qt удобен для рисования и управления через виджеты, поэтому в общем-то не зря :)


Название: Re: QCamera + DirectShow plugin: fps меньше 1
Отправлено: Rotten_c от Февраль 22, 2013, 20:03
Не, вы меня не поняли) Пятый не нужен) 4.8.х с головой хватает.
__________________________
Думаю тема исчерпала себя.