我正在尝试使用QMediaPlayer类播放视频,但不断收到此错误 -
`GLib-GObject-WARNING **: cannot register existing type 'GstObject'
GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed
GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
GStreamer-CRITICAL **: gst_pad_get_negotiated_caps: assertion 'GST_IS_PAD (pad)' failed`
使用Qt 5.7,使用ubuntu 16.04。使用安装向导安装了qt(即没有自己构建任何东西),这是我为Gstreamer提供的软件包 -
ii gir1.2-gstreamer-0.10 0.10.36-1.5ubuntu1 amd64 Description: GObject introspection data for the GStreamer library
ii gir1.2-gstreamer-1.0 1.8.3-1~ubuntu0.1 amd64 GObject introspection data for the GStreamer library
ii gstreamer-qapt 3.0.2-0ubuntu1.2 amd64 GStreamer plugin to install codecs using QApt
ii gstreamer0.10-alsa:amd64 0.10.36-2ubuntu0.1 amd64 GStreamer plugin for ALSA
ii gstreamer0.10-doc 0.10.36-1.5ubuntu1 all GStreamer core documentation and manuals
ii gstreamer0.10-ffmpeg:amd64 0.10.13-5ubuntu1~wily amd64 FFmpeg plugin for GStreamer
ii gstreamer0.10-ffmpeg-dbg:amd64 0.10.13-5ubuntu1~wily amd64 FFmpeg plugin for GStreamer (debug symbols)
ii gstreamer0.10-gconf:amd64 0.10.31-3+nmu4ubuntu2.16.04.3 amd64 GStreamer plugin for getting the sink/source information from GConf
ii gstreamer0.10-gnomevfs:amd64 0.10.36-2ubuntu0.1 amd64 GStreamer plugin for GnomeVFS
ii gstreamer0.10-nice:amd64 0.1.13-0ubuntu2 amd64 ICE library (GStreamer 0.10 plugin)
ii gstreamer0.10-plugins-base:amd64 0.10.36-2ubuntu0.1 amd64 GStreamer plugins from the "base" set
ii gstreamer0.10-plugins-base-apps 0.10.36-2ubuntu0.1 amd64 GStreamer helper programs from the "base" set
ii gstreamer0.10-plugins-base-dbg:amd64 0.10.36-2ubuntu0.1 amd64 GStreamer plugins from the "base" set
ii gstreamer0.10-plugins-base-doc 0.10.36-2ubuntu0.1 all GStreamer documentation for plugins from the "base" set
ii gstreamer0.10-plugins-good:amd64 0.10.31-3+nmu4ubuntu2.16.04.3 amd64 GStreamer plugins from the "good" set
ii gstreamer0.10-plugins-good-dbg:amd64 0.10.31-3+nmu4ubuntu2.16.04.3 amd64 GStreamer plugins from the "good" set
ii gstreamer0.10-plugins-good-doc 0.10.31-3+nmu4ubuntu2.16.04.3 all GStreamer documentation for plugins from the "good" set
ii gstreamer0.10-pulseaudio:amd64 0.10.31-3+nmu4ubuntu2.16.04.3 amd64 GStreamer plugin for PulseAudio
ii gstreamer0.10-qapt 3.0.2-0ubuntu1.2 all transitional dummy package
ii gstreamer0.10-tools 0.10.36-1.5ubuntu1 amd64 Tools for use with GStreamer
ii gstreamer0.10-x:amd64 0.10.36-2ubuntu0.1 amd64 GStreamer plugins for X11 and Pango
ii gstreamer1.0-alsa:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer plugin for ALSA
ii gstreamer1.0-clutter-3.0 3.0.18-1 amd64 Clutter PLugin for GStreamer 1.0
ii gstreamer1.0-fluendo-mp3:amd64 0.10.32.debian-1 amd64 Fluendo mp3 decoder GStreamer 1.0 plugin
ii gstreamer1.0-libav:amd64 1.8.3-1ubuntu0.2 amd64 libav plugin for GStreamer
ii gstreamer1.0-plugins-bad:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer plugins from the "bad" set
ii gstreamer1.0-plugins-bad-faad:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer faad plugin from the "bad" set
ii gstreamer1.0-plugins-bad-videoparsers:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer videoparsers plugin from the "bad" set
ii gstreamer1.0-plugins-base:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer plugins from the "base" set
ii gstreamer1.0-plugins-base-apps 1.8.3-1ubuntu0.2 amd64 GStreamer helper programs from the "base" set
ii gstreamer1.0-plugins-good:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer plugins from the "good" set
ii gstreamer1.0-plugins-ugly:amd64 1.8.3-1ubuntu0.1 amd64 GStreamer plugins from the "ugly" set
ii gstreamer1.0-plugins-ugly-amr:amd64 1.8.3-1ubuntu0.1 amd64 GStreamer plugins from the "ugly" set
ii gstreamer1.0-pulseaudio:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer plugin for PulseAudio
ii gstreamer1.0-tools 1.8.3-1~ubuntu0.1 amd64 Tools for use with GStreamer
ii gstreamer1.0-x:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer plugins for X11 and Pango
ii libgstreamer-plugins-bad1.0-0:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer development files for libraries from the "bad" set
ii libgstreamer-plugins-base0.10-0:amd64 0.10.36-2ubuntu0.1 amd64 GStreamer libraries from the "base" set
ii libgstreamer-plugins-base1.0-0:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer libraries from the "base" set
ii libgstreamer-plugins-good1.0-0:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer development files for libraries from the "good" set
ii libgstreamer0.10-0:amd64 0.10.36-1.5ubuntu1 amd64 Core GStreamer libraries and elements
ii libgstreamer0.10-0-dbg:amd64 0.10.36-1.5ubuntu1 amd64 Core GStreamer libraries and elements
ii libgstreamer0.10-dev 0.10.36-1.5ubuntu1 amd64 GStreamer core development files
ii libgstreamer1.0-0:amd64 1.8.3-1~ubuntu0.1 amd64 Core GStreamer libraries and elements
ii libgstreamer1.0-0-dbg:amd64 1.8.3-1~ubuntu0.1 amd64 Core GStreamer libraries and elements
ii libgstreamer1.0-dev 1.8.3-1~ubuntu0.1 amd64 GStreamer core development files
ii libreoffice-avmedia-backend-gstreamer 1:5.1.6~rc2-0ubuntu1~xenial2 amd64 GStreamer backend for LibreOffice
ii qtgstreamer-plugins-qt5:amd64 1.2.0-3 amd64 GStreamer plugins from QtGStreamer - Qt 5 build
此外,运行gst-launch -v playbin2 uri=file://U1_Test_Test030.avi
失败,
Setting pipeline to PAUSED ...
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: use-buffering = FALSE
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "file://U1_Test_Test030.avi"
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstGioSrc) source
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstURIDecodeBin:uridecodebin0/GstGioSrc:source: Could not open resource for reading.
Additional debug info:
gstgiosrc.c(324): gst_gio_src_get_stream (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstGioSrc:source:
Could not open location file://U1_Test_Test030.avi for reading: Operation not supported
Setting pipeline to NULL ...
Freeing pipeline ...
gst-launch-0.10版本0.10.36 GStreamer 0.10.36 https://launchpad.net/distros/ubuntu/+source/gstreamer0.10
使用GST_DEBUG = 4时的日志输出(此链接https://pastebin.com/742JBtba)[https://pastebin.com/742JBtba]
答案 0 :(得分:0)
您使用的是qt5-styleplugins吗?
如果您尝试修改/etc/environment
将变量覆盖为:
QT_STYLE_OVERRIDE=gtk2
答案 1 :(得分:0)
处理编解码器和Qt真的很痛苦,所以我建议你使用这个库,它会让你的日子更轻松!
答案 2 :(得分:0)
升级到Qt 5.10解决了这个问题。