Unable to play video
-
Hi
I'm using qt 5.10. My app runs fine on 3 different computer with ubuntu 16.04, but I'm trying to deploy it on 4th one and video playing is crashing the app.
I ran starce on it, and I get the following message after the video is opened -
access("/home/innereye/Qt5.10.0/5.10.0/gcc_64/plugins/video/gstvideorenderer/.", F_OK) = -1 ENOENT (No such file or directory)
access("/home/innereye/Desktop/0.2.0/video/gstvideorenderer/.", F_OK) = -1 ENOENT (No such file or directory)I've installed qt from the installer, and also installed qtmultimedia5-dev
On the computer that do run, this line does not show when running the same application.
Any suggestions?
-
@Jonathan-Levanon What OS is running on that computer?
Did you build your app on that computer? -
No, it was built on another computer.
Running on ubuntu 16.04 -
@Jonathan-Levanon Check output of
ldd YOUREXE
to see which Qt libs it really uses. Could be that system Qt libs are used. Also qtmultimedia5-dev is only needed if you want to build your app.
-
@jsulm
I think ldd output is ok -libQt5OpenGL.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5OpenGL.so.5 (0x00007f8ca78ff000) libQt5MultimediaWidgets.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5MultimediaWidgets.so.5 (0x00007f8ca76e1000) libQt5Charts.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Charts.so.5 (0x00007f8ca736b000) libQt5Widgets.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Widgets.so.5 (0x00007f8ca6b32000) libQt5Multimedia.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Multimedia.so.5 (0x00007f8ca6828000) libQt5Gui.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Gui.so.5 (0x00007f8ca6042000) libQt5Network.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Network.so.5 (0x00007f8ca5cac000) libQt5Test.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Test.so.5 (0x00007f8ca5a72000) libQt5Sql.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Sql.so.5 (0x00007f8ca582a000) libQt5Core.so.5 => /home/innereye/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5 (0x00007f8ca50dc000)
-
@Jonathan-Levanon Does /home/innereye/Qt5.10.0/5.10.0/gcc_64/plugins/video/gstvideorenderer/ exist and is there anything inside?
-
No. But it does not also exist on the computer that can play the videos...
-
@Jonathan-Levanon If the app is crashing you should debug it to see where exactly it crashes. This strace errors are not necessarily related to the crash.
-
This is the output I get when it is crashing
(myApp:2322): GStreamer-CRITICAL **: gst_caps_copy: assertion 'GST_IS_CAPS (caps)' failed
(myApp:2322): GLib-GObject-WARNING **: /build/glib2.0-7ZsPUq/glib2.0-2.48.2/./gobject/gtype.c:4273: type id '0' is invalid
(myApp:2322): GLib-GObject-WARNING **: can't peek value table for type '<invalid>' which is not currently referenced
Segmentation fault (core dumped)
And for mp4 files I get:(myApp:2189): GStreamer-CRITICAL **: gst_caps_ref: assertion 'GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
(myApp:2189): GStreamer-CRITICAL **: gst_caps_ref: assertion 'GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
(myApp:2189): GStreamer-CRITICAL **: gst_caps_unref: assertion 'GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed
(myApp:2189): GLib-GObject-WARNING **: /build/glib2.0-7ZsPUq/glib2.0-2.48.2/./gobject/gtype.c:4273: type id '0' is invalid
(myApp:2189): GLib-GObject-WARNING **: can't peek value table for type '<invalid>' which is not currently referenced
Segmentation fault (core dumped) -
Hi,
Might be a silly question but did you check that you have the GStreamer plugin packages installed on that machine ?
-
Yes. The weird thing is that on this computer qt works with the 0.10 version of gstreamer, and on the others with 1.0. Can I change it?
Both are installed (including plugins) -
@jsulm I've compiled on the same computer, still get the same errors :(
-
Update - After a very long day, turns out that opencv lib was linked to gstreamer0.10, qt to 1.0. This did not work well obviously.
When compiling opencv with linking to gstreamer1.0, works ok.