cancel
Showing results for 
Search instead for 
Did you mean: 

QT5 camera,no service found for - "org.qt-project.qt.camera"

wG.1
Associate II

Hi team,
I have an STM32MP157 board with the following git branch.
a. buildroot: remotes/origin/st/2023.02.6
b. buildroot-external-st: remotes/origin/st/2023.02.2

I got the error message "no service found for - "org.qt-project.qt.camera"" when I ran the QT5 example camera code.


The following are plugins:
# ls /usr/lib/qt/plugins/
audio imageformats qmltooling
bearer mediaservice scenegraph
egldeviceintegrations platforms video
generic playlistformats

 

Execute camera program:
export QT_DEBUG_PLUGINS=0
export QT_PLUGIN_PATH=/usr/lib/qt/plugins/
root@buildroot:/usr/lib/qt/examples/multimediawidgets/camera
# ./camera
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"

 

It looks like the library is loaded.
# ldd ./camera
linux-vdso.so.1 (0xbed92000)
libatomic.so.1 => /lib/libatomic.so.1 (0xb6f20000)
libQt5MultimediaWidgets.so.5 => /usr/lib/libQt5MultimediaWidgets.so.5 (0xb6ee0000)
libQt5Multimedia.so.5 => /usr/lib/libQt5Multimedia.so.5 (0xb6e10000)
libQt5Widgets.so.5 => /usr/lib/libQt5Widgets.so.5 (0xb6950000)
libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0xb6590000)
libQt5Network.so.5 => /usr/lib/libQt5Network.so.5 (0xb6450000)
libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0xb5fc0000)
libGLESv2.so.2 => /usr/lib/libGLESv2.so.2 (0xb5d9b000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb5c20000)
libm.so.6 => /lib/libm.so.6 (0xb5bc0000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb5b80000)
libc.so.6 => /lib/libc.so.6 (0xb5a20000)
/lib/ld-linux-armhf.so.3 (0xb6f84000)
libQt5OpenGL.so.5 => /usr/lib/libQt5OpenGL.so.5 (0xb59c0000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0xb5970000)
libz.so.1 => /usr/lib/libz.so.1 (0xb5930000)
libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0xb58c0000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb5890000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb5760000)
libGAL.so => /usr/lib/libGAL.so (0xb5697000)
libVSC.so => /usr/lib/libVSC.so (0xb5388000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0xb5330000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb5300000)
librt.so.1 => /lib/librt.so.1 (0xb52d0000)

What checks do I need to perform?
Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
bbakram
ST Employee

Hello,

 

Looks like a QtGstreamer camera plugin was not found. Maybe launch with QT_DEBUG_PLUGINS=1 env var and look whether the plugin shows up.

 

Method setCamera is obviously called with camera info which is not valid. It obviously expects the camera to be found from /dev/video0. You could check if it exists. If your camera is something like video1 or video2, you could rename it to video0 and try again.

 

You can also check your hw camera using below command (replace video0 with video1 if it doesn't work):

sudo gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=UYVY,width=800,height=480' ! glimagesink

 

You would need also to check that you have libqt5multimedia5-plugins installed in your buildroot.

 

Regards,

Akram

View solution in original post

1 REPLY 1
bbakram
ST Employee

Hello,

 

Looks like a QtGstreamer camera plugin was not found. Maybe launch with QT_DEBUG_PLUGINS=1 env var and look whether the plugin shows up.

 

Method setCamera is obviously called with camera info which is not valid. It obviously expects the camera to be found from /dev/video0. You could check if it exists. If your camera is something like video1 or video2, you could rename it to video0 and try again.

 

You can also check your hw camera using below command (replace video0 with video1 if it doesn't work):

sudo gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=UYVY,width=800,height=480' ! glimagesink

 

You would need also to check that you have libqt5multimedia5-plugins installed in your buildroot.

 

Regards,

Akram