Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: GTK - вывод изображения с устройства захвата  (Прочитано 1464 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kiv

  • Автор темы
  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
И так. Я пишу программу, которая захватывала бы изображение с тв-тюнера и выводила на экран. Ну и всякие дополнительные функции, но сейчас не об этом. Я никак не могу нормально вывести изображение. Драйвер может возвращать изображение в YUYV или в RGB. Но в RGB он преобразует не совсем правильно => необходимо самому преобразовывать (так, кстати, все подобные программы так и делают). К тому же изображение может потребоваться ресайзить. Например, чтобы вывести на весь экран. GtkImage после добавления ресайзинга стал очень сильно загружать процессор - до 70% на очень не слабом компе. Пришлось искать другие пути вывода изображения (к тому же GtkImage не понимает YUYV). Пробовал использовать OpenGL. glDrawPixels. Вывод, в том числе и с ресайзингом работает отлично - 0% загрузки процессора. Однако, для того, чтобы выводить картинку в YUYV надо накладывать текстуру на объект, а не просто выводить картинку. А когда кадры стали текстурой плоскости размером на всё окно нагрузка на процессор вновь сильно возрасла (хотя преспективу, освещение и прочее я отключил). Так что выводить YUYV через OpenGL тоже не получается. Посоветуйте как мне на GTK быстро выводить изображение в формате YUYV? При этом я хочу сохранить полный контроль над Video4Linux устройством, поэтому сторонние бибилиотеки работы с устройством захвата (вроде Gstreamer) не подойдут. Вроде как X Windows Extension умеет выводить изображение в YUYV. Но как из GTK мне получить "дисплей" и "окно" иксов? Посоветуйте, что делать... В общем то мне достаточно достучаться до окна и дисплея оконной подистемы из GTK. Но если есть более удобные варианты, то их тоже можно посоветовать. Повторю задачу: надо быстро и с минимальной нагрузкой на процессор выводить изображение в формате YUYV на окно GTK, сохранив полный контроль над устройством видео-захвата.

Пользователь решил продолжить мысль 16 Августа 2010, 14:44:48:
Как добраться до окон X Window я разобрался. Рисование работает нормально, но GTK стремиться перерисовать окно и затирает всё, что я вывел. То есть заметить изображение можно только если быстро переключать окно в полноэкранный режим и назад. Тогда на доли секунды появляется изображение и исчезает. Как порисовать на окне GTK средствами X Windows?
« Последнее редактирование: 16 Августа 2010, 16:40:06 от kiv »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: GTK - вывод изображения с устройства захвата
« Ответ #1 : 27 Августа 2010, 06:45:12 »
Вот небольшой файлик. Может наведет на путь истинный. Весь архив прикрепить не позволили. Если что пиши, вышлю мылом.
(Нажмите, чтобы показать/скрыть)
Админы, хватит насиловать людей! Уже сделайте нормальное прикрепление файлов! Пол часа парился, воткнул так.

Оффлайн Guranvir

  • Участник
  • *
  • Сообщений: 195
    • Просмотр профиля
    • Блог начинающего линуксоида
Re: GTK - вывод изображения с устройства захвата
« Ответ #2 : 27 Августа 2010, 18:42:03 »
Так а чего крипить Xvid доступен из пакетов)

 

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