Какая процедура для потоковой передачи кода 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
,