gstreamer raspbian buster rpi4 h264 omx HD video not working

Nicolas Dufresne nicolas at
Sat Jun 6 13:47:07 UTC 2020

Le sam. 6 juin 2020 09 h 00, horai <ivo.hora at> a écrit :

> Dear sir,
> We do not use playbin, we rather contruct pipeline manually since we have a
> finer control over the flow and elements.
> Which graphical server do you use? Wayland or X11?
> We try to program a multi window player and we faced some issues regarding
> Wayland, but there have been quite a few changes since then and I would
> really encourage you to try waylandsink with v4l2h264dec (have a look at
> proper settings to get hardware acceleration), it was blazing fast.
> The same we did on X11 graphical server Embedding sink into GTK window
> brings some things to resolve and finding a working and fast solution
> (especially combination of codec and sink) was a matter testing. There is a
> huge variety of sinks which go along with GTK and v4l, just list all of
> them
> the via:
> gst-inspect-1.0 | grep sink
> And pick the ones related to video.
> Initially, cluttersink seemed very suitable for our purpose (must be
> installed from repository libclutter-gst-3.0-dev), but we dropped it.
> I was not successful in embedding kmssink into GTK window (nor I managed to
> run it under X11 or Wayland), but it has already been a long time since I
> tried it last, therefore I would encourage you to try it as kmssink was
> fabulously fast without X11.
> I guess,using OMX on RPi4 with KMS support is not possible since it
> disables
> binary proprietary Broadcom driver used by OMX, there might be some chance
> using fake-KMS, but I would really encourage you to use v4l, it is a
> standard.

Weston compositor through Wayland sink should offer similar performance and
capabilities of kmssink. You need Weston 8+, and it will transparently use
a HW overlay like kmssink does. Kmssink runs as DRM master, hence will
conflict with any display server. You could also consider adding support
for the direct display protocol, which forces this path (without GL
fallback), but RPi is so flexible that I don't think this is needed.

As for zero-copy to X11, there is extension in dri3 to use dmabuf, it won't
give you overlay, but at least decent GL rendering. This is largely
not-implemented in GStreamer. I think this could theorically be added as an
upload method in glupload element. This is assuming you have the skills and
time to get your hand dirty.

> --
> Sent from:
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list