[Development] The dark side of QtMultimedia - strikes back

Massimo Callegari massimocallegari at yahoo.it
Sun Jul 5 10:11:38 CEST 2015


Sorry, ignore the previous. Stupid formatting :(

> That doesn't mean it's working perfectly. This example working means this 
> example works, that's all.

> Anyway, can you at least try raw gstreamer, like gst-launch?


Yes I can.

pi at raspberrypi ~ $ gst-launch-1.0 filesrc location=sintel-1280-surround.mp4 ! qtdemux name=demuxer \ demuxer. ! queue ! faad ! alsasink \ demuxer. ! queue max-size-bytes=10000000 ! h264parse ! omxh264dec ! queue max-size-buffers=4 ! "video/x-raw, format=(string)I420" ! eglglessink

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'eglglessink0': gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock


Works like a charm. No frame drops, no interruptions, no AV out of sync.
I had to add that weird I420 format otherwise the video was flipped upside down.


For the sake of completeness I add also the OMX codecs inspection:
pi at raspberrypi ~ $ gst-inspect-1.0 | grep omx
omx:  omxmpeg2videodec: OpenMAX MPEG2 Video Decoder
omx:  omxmpeg4videodec: OpenMAX MPEG4 Video Decoder
omx:  omxh263dec: OpenMAX H.263 Video Decoder
omx:  omxh264dec: OpenMAX H.264 Video Decoder
omx:  omxtheoradec: OpenMAX Theora Video Decoder
omx:  omxvp8dec: OpenMAX VP8 Video Decoder
omx:  omxmjpegdec: OpenMAX MJPEG Video Decoder
omx:  omxvc1dec: OpenMAX WMV Video Decoder
omx:  omxh264enc: OpenMAX H.264 Video Encoder

And also the packages installed in the distro:


pi at raspberrypi ~ $ dpkg -l | grep gst
ii  gir1.2-gst-plugins-base-1.0           1.2.0-1co1rpi3                        armhf        Description: GObject introspection data for the GStreamer Plugins Base library
ii  gir1.2-gstreamer-1.0                  1.2.0-1rpi3                             armhf        Description: GObject introspection data for the GStreamer library
ii  gstreamer0.10-gconf:armhf             0.10.31-3+nmu1                          armhf        GStreamer plugin for getting the sink/source information from GConf
ii  gstreamer0.10-plugins-base:armhf      0.10.36-1.1                             armhf        GStreamer plugins from the "base" set
ii  gstreamer0.10-plugins-good:armhf      0.10.31-3+nmu1                          armhf        GStreamer plugins from the "good" set
ii  gstreamer0.10-plugins-ugly:armhf      0.10.19-2                               armhf        GStreamer plugins from the "ugly" set
ii  gstreamer0.10-x:armhf                 0.10.36-1.1                             armhf        GStreamer plugins for X11 and Pango
ii  gstreamer1.0-alsa:armhf               1.2.0-1co1rpi3                          armhf        GStreamer plugin for ALSA
ii  gstreamer1.0-libav:armhf              1.2.0-1co2rpi1rpi3                      armhf        libav plugin for GStreamer
ii  gstreamer1.0-omx                      1.0.0.1-0+rpi13rpi2                     armhf        GStreamer OpenMAX plugins
ii  gstreamer1.0-plugins-bad:armhf        1.2.1-0+rpi1rpi3                        armhf        GStreamer plugins from the "bad" set
ii  gstreamer1.0-plugins-base:armhf       1.2.0-1co1rpi3                          armhf        GStreamer plugins from the "base" set
ii  gstreamer1.0-plugins-good:armhf       1.2.0-1co6rpi3                          armhf        GStreamer plugins from the "good" set
ii  gstreamer1.0-tools                    1.2.0-1rpi3                             armhf        Tools for use with GStreamer
ii  gstreamer1.0-x:armhf                  1.2.0-1co1rpi3                          armhf        GStreamer plugins for X11 and Pango
rc  libclutter-gst-1.0-0:armhf            1.5.4-1+build0                          armhf        Open GL based interactive canvas library GStreamer elements
ii  libgstreamer-plugins-bad1.0-0:armhf   1.2.1-0+rpi1rpi3                        armhf        GStreamer development files for libraries from the "bad" set
ii  libgstreamer-plugins-base0.10-0:armhf 0.10.36-1.1                             armhf        GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base1.0-0:armhf  1.2.0-1co1rpi3                          armhf        GStreamer libraries from the "base" set
ii  libgstreamer-plugins-base1.0-dev      1.2.0-1co1rpi3                          armhf        GStreamer development files for libraries from the "base" set
ii  libgstreamer0.10-0:armhf              0.10.36-1.2                             armhf        Core GStreamer libraries and elements
ii  libgstreamer1.0-0:armhf               1.2.0-1rpi3                             armhf        Core GStreamer libraries and elements
ii  libgstreamer1.0-dev                   1.2.0-1rpi3                             armhf        GStreamer core development files



More information about the Development mailing list