AnsweredAssumed Answered

Yocto can not get UVC camera video output

Question asked by ark ceajin on Jun 9, 2017
Latest reply on Jun 12, 2017 by ark ceajin

I tried the Qt Camera example on Yocto.
Run it then got these errors:

ERROR: v4l2 capture: slave not found!

(camera:1348): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(camera:1348): GStreamer-CRITICAL **: gst_object_sink: assertion 'GST_IS_OBJECT (object)' failed

Device: im6qsbd
Yocto 1.6.2

 

 Camera plugged in:

root@imx6qsabresd:/home# usb 1-1.3: USB disconnect, device number 6
usb 1-1.3: new high-speed USB device number 7 using ci_hdrc
uvcvideo: Found UVC 1.00 device UCAM-DLB200TA (056e:7009)
input: UCAM-DLB200TA as /devices/soc0/soc.1/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input4
7:3:1: cannot get freq at ep 0x84
usb_audio: Warning! Unlikely big volume range (=2048), cval->res is probably wrong.
usb_audio: [2] FU [Mic Capture Volume] ch = 2, val = 4608/6656/17:3:1: cannot get freq at ep 0x84
7:3:1: cannot get freq at ep 0x84

 

I followed this Using a USB Camera with GStreamer still got the same error.

root@imx6qsabresd:/home# gst-launch v4l2src ! mfw_v4lsink
WARNING: erroneous pipeline: no element "mfw_v4lsink"

 

root@imx6qsabresd:/home# lsmod
Module Size Used by
snd_usb_audio 93213 1
snd_usbmidi_lib 15884 1 snd_usb_audio
snd_rawmidi 14958 1 snd_usbmidi_lib
uvcvideo 61856 0
snd_hwdep 4753 1 snd_usb_audio
videobuf2_vmalloc 2391 1 uvcvideo
mxc_v4l2_capture 22322 0
ipu_bg_overlay_sdc 4001 1 mxc_v4l2_capture
ipu_still 1663 1 mxc_v4l2_capture
ipu_prp_enc 4645 1 mxc_v4l2_capture
ipu_csi_enc 2841 1 mxc_v4l2_capture
ipu_fg_overlay_sdc 4877 1 mxc_v4l2_capture
evbug 1476 0
mxc_dcic 5334 0

 

Update:

Instead of using gst-launch

 

gst-launch imxv4l2src ! imxv4l2sink

 

gst-launch-1.0 is worked great!

gst-launch-1.0 imxv4l2src ! imxv4l2sink 

So I changed local.conf from

PACKAGECONFIG_append_pn-qtmultimedia = "gstreamer gst-plugins-base"

To

PACKAGECONFIG_append_pn-qtmultimedia = "gstreamer010 gst-plugins-base"

But the Qt camera program got the new error:

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"
Camera error: "The camera service is missing"

Looks like GStreamer010 could work well, but Qt can't recognise it.

So How to indicate GStreamer version for Qt.


If have any idea about this, please share it.

Outcomes