Я пытаюсь заставить камеру UI-3370CP-C-HQ R2 работать на Coral DevBoard с gstreamer.
Поскольку камера не является стандартной камерой v4l2, я скачал и скомпилировал плагин ueyesrc
gst (https://github.com/atdgroup/gst-plugin-ueye) на devboard.
В моем приложении мне нужно иметьFrame как текстуры OpenGL, и я застрял в построении рабочего конвейера.
Пока что единственный способ получить что-то с камеры - это сохранить кадр в формате jpeg:
gst-launch-1.0 tee ueyesrc num-buffers=10 ! jpegenc ! filesinklocation=ueyesrc-frame.jpg
Пример конвейера, предоставляемый с ueyesrc gst-launch-1.0 ueyesrc ! videoconvert ! xvimagesink
, не работает в моем случае, потому что на устройстве нет X-сервера (но Wayland)
gst-launch-1.0 ueyesrc ! videoconvert ! glimagesink
возвращает следующую ошибку:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: Failed to convert multiview video buffer
Additional debug info:
gstglimagesink.c(1741): gst_glimage_sink_prepare (): /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink
Execution ended after 0:00:00.486558117
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Со стандартной веб-камерой USB (Logitech HD Pro Webcam C920) gst-launch-1.0 v4l2src ! videoconvert ! glimagesink
работает нормально.
Я не совсем понимаю, что происходит, или как найти большеподсказки об этом, я полагаю, что я пропускаю шаг конвертации в середине, но я не знаю, как это исправить. У кого-то есть идея?
edit 1 : этодействительно проблема с конвертацией. Я заставил ее работать, указав формат в заглавных буквах videoconvert
:gst-launch-1.0 ueyesrc exposure=2 ! videoconvert ! video/x-raw,format=YUY2 ! glimagesink sync=False
Хотя загрузка ЦП очень высока (> 90% на всех 4 ядрах iMx8), а частота кадров достигает макс. 6,5 кадров в секунду.