Какая процедура для потоковой передачи кода libuvc в окне GTK?

В настоящее время я работаю над Linux. Мне дали задание написать код на C, используя libuvc для потоковой передачи видео с USB-камеры в окно, используя GTK. Я получаю из uvc_frame_t, но у меня есть проблема в потоковой передаче в окне GTK. Может кто-нибудь помочь?

1 ответ

Используйте gdk_pixbuf_new_from_data для преобразования данных из uvc_any2rgb в GdkPixbuf, Основной интерфейс GTK будет GtkWindow с GtkImage в этом.

Чтобы обновить изображение, позвоните gtk_image_set_from_pixbuf со свежим новым pixbuf, который вы создали. Не забудьте либо повторно использовать pixbuf, либо уничтожить его после использования, иначе вы столкнетесь с серьезной утечкой памяти. О, и вам придется самостоятельно обрабатывать частоту кадров и использовать источник событий GLib, чтобы получать уведомления о появлении нового изображения с libuvc,

Другие вопросы по тегам