Просмотр видео в WebCam с помощью Qt
Я использую Qt 4.5 (2009.03) для Linux Gnome (Ubuntu 9.04) и хочу отображать видео, снятое моей веб-камерой, в Phonon:: VideoWidget моего приложения Qt.
У меня есть первая реализация, использующая API v4l2, где я делаю преобразование YUV2 в RGB и заполняю QImage самостоятельно. Он работает хорошо, но он не очень эффективен. Колледж использовал gStreamer, чтобы сделать то же самое, и это было намного быстрее.
С тех пор я узнал о фононе и хотел бы использовать его. Все настроено и настроено, за исключением привязки к устройству веб-камеры в качестве источника.
Мне нужно создать объект MediaSource, но я не знаю, как его настроить. Любая помощь будет очень ценной.
Изменить: Обзор Phonon объясняет, что он еще не поддерживается. Но мне нужно решение.
Ответы
Ответ 1
Я знаю его немного поздно для этого вопроса. но я искал то же самое и не мог найти чистого решения qt.
Я нашел http://qt-apps.org/content/show.php/Qt+Opencv+webcam+viewer?content=89995, это зависит от opencv, который я не знаю, и я не хочу учиться.
и вот мое решение http://qt-apps.org/content/show.php/V4lCapture?content=126541
одно дело, что его поток нужно отполировать немного больше, но он все равно работает.
Ответ 2
Если ваша цель - отобразить изображение YUV на экране, вы можете использовать модуль OpenGL. Внедрите преобразование в виде фрагментарного шейдера. Если вы хотите сделать что-то еще, например, сохранить преобразованное изображение в файл, это не очень хорошая идея.
Некоторые ссылки:
Ответ 3
Может быть, вы можете посмотреть, как kapture был реализован.