Название: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Ноябрь 25, 2011, 13:32 Всем здрасьте!
Такое вот дело: Есть WiFi камера, работает по HTTP протоколу, послал запрос - получил ответ... С ней разобрался, могу получить картинку (JPEG), видео поток (MJPEG) или аудио поток (WAVE)... Ну и, естественно, сохранить все это в файлы... Вопрос: как средствами Qt (ОС Linux (Ubuntu)) отобразить видео в реальном времени из MJPEG потока? Спасибо! Название: Re: Отображение потокового видео WiFi камеры Отправлено: Bepec от Ноябрь 25, 2011, 13:43 QPhonon помоему позволяет такую возможность.
Название: Re: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Ноябрь 25, 2011, 15:46 Что-то не получается
Вот, что выдает компилятор Код: WARNING: Phonon needs QCoreApplication::applicationName to be set to export audio output names through the DBUS interface Вот сам код Код: int main(int argc, char ** argv) Чего можно сделать? Спасибо! Название: Re: Отображение потокового видео WiFi камеры Отправлено: Bepec от Ноябрь 25, 2011, 15:52 Как вариант подключить к проекту модуль Phonon :)
в pro что то там написать надо, а в интеграции в настройках Qt проекта. Название: Re: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Ноябрь 25, 2011, 15:55 Если бы я не подключил phonon в pro файле (QT += phonon) - он бы отругался на создание объекта, мол такого класса вообще в природе не существует или undefined reference...
Тут что-то другое... Название: Re: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Ноябрь 25, 2011, 16:06 А вообще Phonon MJPEG воспринимает?
Название: Re: Отображение потокового видео WiFi камеры Отправлено: Пантер от Ноябрь 25, 2011, 16:12 Бэкенды установлены? Допустим, Phonon GStreamer backend.
Название: Re: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Ноябрь 25, 2011, 16:22 Backend (photon-backend-gstreamer) установил, теперь появился черный экран.
Видео flv - воспроизводит, нормально... MJPEG - не воспроизводит (ни из потока, ни из локального файла)... Может быть еще что-то доставить? Спасибо! Название: Re: Отображение потокового видео WiFi камеры Отправлено: Пантер от Ноябрь 25, 2011, 16:23 Попробуй другие бэкенды: Phonon XINE backend, Phonon VLC backend.
Название: Re: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Ноябрь 25, 2011, 16:26 Спасибо, попробую!
Название: Re: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Ноябрь 25, 2011, 16:51 Backend xine и gstreamer не работают, vlc - не могу установить...
Делаю sudo apt-cache search phonon-backend - выдает такое: Код: phonon-backends-dbg - debugging symbols for Phonon backends Если сделать sudo apt-get install -y phonon-backend-vlc - то выдает такое: Код: Чтение списков пакетов... Готово Пробовал просто скачать .deb пакет - не устанавливается, выдает ошибку: Код: Ошибка: Зависимость не может быть удовлетворена: libqtcore4 (>= 4:4.7.0~beta1) Как можно еще поставить? Название: Re: Отображение потокового видео WiFi камеры Отправлено: Пантер от Ноябрь 25, 2011, 16:53 Ты лучше погугли на счет поддержки бэкендами твоего формата.
Название: Re: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Ноябрь 25, 2011, 17:15 Сам VLC может проигрывать mjpeg файлы, если речь об этом...
Название: Re: Отображение потокового видео WiFi камеры Отправлено: Silver_swift от Ноябрь 26, 2011, 07:46 Странно, у меня vlc установился без проблем
Цитировать sudo apt-get install phonon-backend-vlc . Только не помогло. Дело в том что скомпилированная программа почему-то не находит бэкенды, а не в том что бэкенды не умеют что-то читать. У меня системный qt4-configure вообще не видит даже модулей фонона, а тот который был с SDK прекрасно все находит. Спросил http://www.prog.org.ru/topic_20025_0.html (http://www.prog.org.ru/topic_20025_0.html) что делать - тишина. Гугление тоже не шибко помогает. И если бы формат не поддерживался бэкендом программа выкинула бы соответствующее сообщение. Если найдете решение проблемы не поленитесь отписаться. Спасибо. Название: Re: Отображение потокового видео WiFi камеры Отправлено: alexlogvinenkoit от Декабрь 02, 2011, 15:39 Нормального решения так и не нашел, но, к счастью, можно использовать ненормальное:
Получаю байты в потоке, формирую QImage и отрисовую эту картинку с помощью QPainter :) Cтруктура MJPEG файла: Заголовок\r\n\r\nДанные(обычный JPEG)\r\n\r\n Заголовок\r\n\r\nДанные(обычный JPEG)\r\n\r\n и т.д. QImage::fromData(QByteArray) - выдираем данные картинки и все :) В общем-то очень неплохо, без лагов, покадровок, подвисаний и т.д. На слабой машине тестировал - в браузере подвисал, в моей проге - нет... Но ЦП жрет... :) |