Full HD with gst-omx on Raspberry Pi?

Peter Maersk-Moller pmaersk at gmail.com
Tue Jul 8 08:27:12 PDT 2014


Hi Sebastian.

I now have the latest 1.3.90 Git Master running on Raspberry Pi.

Trying to do something very simple like the following pipeline

gst-launch-1.0 videotestsrc is-live=true ! 'video/x-raw, width=1512,
height=1080, frame-rate=10/1' ! glimagesink

Then I see a the video test picture being shown approx. 2 frames per second
but with black screen in-between and it complains about being too slow.

If I try anything above 1512x1080, such as 1514x1080 or 1920x1080 it will
show an initial flicker of a white line being drawn across and the just
black screen. So it seems not to be able to play it.

When I was displaying video with either autovideosink or eglglessink for
gstreamer 1.0.10 it would scale the display to fullscreen using hardware
scale of the Pi. But when I play 1.3.90 with glimagesink, no scaling is
taking place. What is the appropriate way to get gstreamer 1.3.90 to scale
to full screen on a Pi?

When I try to play content using the following pipeline for 1.3.90, it
complain about being to slow:

gst-launch-1.0 tcpclientsrc host=192.168.10.50 port=5010 ! decodebin !
glimagesink

The pipeline works well for 1.0.10 and eglglessink or autovideosink

WHen I try to play the following pipeline for 1.3.90, it fails:

gst-launch-1.0 tcpclientsrc host=192.168.10.50 port=5010 ! matroskaparse !
matroskademux ! h264parse ! queue ! omxh264dec ! queue ! glimagesink

Got context from element 'glimagesink0': gst.gl.GLDisplay=context,
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayEGL\)\ gldisplayegl0";

** (gst-launch-1.0:2770): CRITICAL **: gst_video_frame_map_id: assertion
`GST_IS_BUFFER (buffer)' failed

(gst-launch-1.0:2770): GStreamer-CRITICAL **: gst_mini_object_unref:
assertion `mini_object != NULL' failed
ERROR: from element /GstPipeline:pipeline0/GstGLImageSink:glimagesink0:
Failed to upload buffer
Additional debug info:
gstglimagesink.c(768): gst_glimage_sink_prepare ():
/GstPipeline:pipeline0/GstGLImageSink:glimagesink0
ERROR: pipeline doesn't want to preroll.

Where do I go from here?

Thanks in advance for hints and pointers.

best regards
Peter Maersk-Moller





On Thu, Jul 3, 2014 at 10:52 AM, Sebastian Dröge <sebastian at centricular.com>
wrote:

> On Fr, 2014-06-27 at 19:33 +0200, Peter Maersk-Moller wrote:
> > And the debug is attached to mail ... lets see if the mail list can
> accept
> > attachments??
>
> From the logs the problem seems to be that your sink does not handle the
> resolution and also the decoder is outputting frames in CPU memory. This
> is going to be too slow for HD video on the RPi.
>
> Try a manual pipeline that does not use decodebin but instead just has
>
> ... ! h264parse ! omxh264dec ! queue ! glimagesink
> (or if you're using 1.2 use eglglessink).
>
> You'll ideally have gst-omx from latest GIT master, compiled for the RPi
> and with libgstgl support.
>
> --
> Sebastian Dröge, Centricular Ltd - http://www.centricular.com
> Expertise, Straight from the Source
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140708/ebc7dca8/attachment-0001.html>


More information about the gstreamer-devel mailing list