How to run QCamera Example application in Embedded Linux i.MX6 platform?
-
One more update.
I have resolved the dependecy issue by putting almost all gstreamer libraries (still I don't know any other libraries are required).
After I run the camera, now I'm getting other issue as below ( I have enabled the "QT_DEBUG_PLUGINS=1" before running the 'camera' application). This prints are coming continuosly.(camera:979): GLib-GObject-WARNING **: invalid (NULL) pointer instance (camera:979): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (camera:979): GStreamer-CRITICAL **: gst_bus_add_signal_watch_full: assertion 'GST_IS_BUS (bus)' failed (camera:979): GStreamer-CRITICAL **: gst_bus_remove_signal_watch: assertion 'GST_IS_BUS (bus)' failed (camera:979): GLib-GObject-WARNING **: invalid (NULL) pointer instance (camera:979): GLib-GObject-CRITICAL **: g_signal_handler_disconnect: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (camera:979): GLib-GObject-WARNING **: invalid (NULL) pointer instance (camera:979): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (camera:979): GStreamer-CRITICAL **: gst_bus_add_signal_watch_full: assertion 'GST_IS_BUS (bus)' failed (camera:979): GStreamer-CRITICAL **: gst_bus_remove_signal_watch: assertion 'GST_IS_BUS (bus)' failed (camera:979): GLib-GObject-WARNING **: invalid (NULL) pointer instance
Could anyone help me to resolve this issue?
Thank you in advance,
Ajith P V -
Is there any document or link which teling what and all plugins or dependencies QCamera have when it is running on Embedded Linux platform?
I have put gstreamer libraries and now I'm getting below error (each time different errors are coming but Camera viewfinder is not displaying anything)root@imx6dlsabresd:/qtpcedemoapp/bin# ./camera ERROR: v4l2 capture: slave not found! ** (camera:982): CRITICAL **: gst_photography_set_focus_mode: asERROR: v4l2 capture: slave not found! sertion 'photo != NULL' failed ** (camera:982): CRITICAL **: gst_missing_encoder_message_new: assertion '!gst_caps_is_any (encode_caps)' failed (camera:982): GStreamer-CRITICAL **: gst_element_post_message: assertion 'message != NULL' failed CameraBin error: "Your GStreamer installation is missing a plug-in."
-
I can able to run QCamera application and USB webcam is working as of now (UVC Camera which attached to one platform) but, V4L2 CMOS camera that connected to the platform is not working (eventhough its node is /dev/video0).
The Camera need to be show live view(overlay) and need a capture functionality. But, when I look into the Camera application console prints, it looks like QCamera required VPU for doing this job. Unfortunately, my CMOS camera configured for IPU only. I have no idea how to proceed further :( -
If you can make that camera work properly with gstreamer, you could modify the gstreamer backend of QtMultimedia and adapt the pipeline used.
-
Hi,
I'm working on playing video on rasp pi recently. Maybe most things are similar to camera, cause they both depend on multimedia and qdeclarative, hope my way will be helpful.First, you should not just copy the .so file to the multimedia dir. It will not work even the name is same. You should make the module and install it to multimedia dir. Here is the example of rasp pi.
$ cd qt-everywhere-opensource-src-5.0.2/<module>
$ /usr/local/Qt-5.0.2-raspberry/bin/qmake
$ make
$ sudo make install
And the link: http://www.ics.com/blog/building-qt-5-raspberry-pi
This may solve the error: "Camera error: "The camera service is missing"Second, you have to install gstreamer on you embedded device, or it will show the error "defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera".
Hope it will be helpful.
-
@ascnp Thank you very much for your support. I have put all the gstreamer libraries to my SD card and now I can able to run the QCamera with webcam (UVC USB Camera). Since, my actual camera make use of only IPU and not using any VPU encoding or decoding, the same application is hanging when I used it with OV5640 CMOS camera.
Thanks again,
Ajith P V -
If you can get the image from your camera using gstreamer on the command line, you could modify the backend in QtMultimedia to match the pipeline used on the command line.
-
@SGaist May I know how to modify the backend in QtMultimedia to match the pipeline used on the command line, possibly with an example? I'm sorry if it is a basic question. But, I should tell here that, I'm not an expert in the gstreamer or QtMultimedia either.
-
Didn't you cross-compile Qt 5 to run Qt on your device ?
-
@SGaist I have used i.MX6 Yocto build with fsl-image-qt5. The backend from the bitbake I used is x11 (windowing system). The extra packages which are required for QCamera is extracted from bitbaking qtmultimedia.
In this case, AFAIK, QCamera is accesiing the Qt media service plugins such as libgstcamerabin.so, libgstmediacapture.so etc. for doing it's operation and these libraries are by default directing to the VPU channel. I think this is happening because IPU YUV raw data can not be display directly to Qt without encode/decode.There must be a gap between our understanding on how to change the backend in QtMultimedia, however I will see how I can do that.
Thank you :)
Ajith P V -
If you can tell Yocto where to take the sources for Qt, you could make it build your own copy where you can do modifications.
-
I have the same problem, did you resolve it?
-
@Daniel-Nilsson did you get the solution to this?