omxh264dec - Failed to negotiate RGBA for EGLImage

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

omxh264dec - Failed to negotiate RGBA for EGLImage

horai
Dear all,

I am trying to code RTSP client in C following this:
http://gstreamer-devel.966125.n4.nabble.com/Simple-RTSP-Pipeline-Works-with-gst-launch-But-Not-with-API-td4678108.html
It is a rewritten pipeline to C language for Raspberry PI taking advantage
of omxh264dec codec which should use GPU acceleration for video decoding:
gst-launch-1.0 rtspsrc location="rtsp://192.168.1.2:8554/test" latency=40 !
rtph264depay ! h264parse ! omxh264dec ! videoconvert ! fbdevsink
device=/dev/fb0

It is a bit more complicated thanks to sink being a clutterActor interacting
with GTK (clutter-gtk + clutter-gst), just for hardware accelerated
videosink to X11.
I don't want to use fbdevsink due to GTK widgets as I want to use as a GUI
together with video.
Actually, that all works fine and also the video runs quite fine, but I am
experiencing random lags and random freezes, sometimes really annoying.
(capturing the same video on desktop is pretty fine, so network is probably
not of a problem)
I was wondering what the problem might be and came across one error which
made me suspicious that hardware acceleration is not working, actually even
the CPU usage varies above 60% and together with X11 consumes 80% of CPU.
Thanks to GST_DEBUG=3 I got this error:
omxvideodec
gstomxvideodec.c:974:gst_omx_video_dec_reconfigure_output_port:<omxh264dec-omxh264dec0>
Failed to negotiate RGBA for EGLImage
The problem is also described here:
https://bugzilla.gnome.org/show_bug.cgi?id=767801

I tried many ways to get rid of it and lower the CPU usage following advice
given by contributors, but I was not able to get it working, moreover
changing videodriver makes no difference and compiled C program and all kind
of pipelines using omxh264dec are yielding this error.
Could anyone be so kind to explain me this issue and does it really effect
hardware decompression or is there any solution for this problem?
I am not telling I am fully right as together with this error probably
unrelated to decoding, but maybe could also affect video output speed:

 FIXME                default
gstutils.c:3826:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating
random stream-id, consider implementing a deterministic way of creating a
stream-id
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
0:00:01.291350354  1037 0xb1e0e660 FIXME        rtpjitterbuffer
gstrtpjitterbuffer.c:1488:gst_jitter_buffer_sink_parse_caps:<rtpjitterbuffer0>
Unsupported timestamp reference clock
0:00:01.295135325  1037 0xb1e0e660 FIXME        rtpjitterbuffer
gstrtpjitterbuffer.c:1496:gst_jitter_buffer_sink_parse_caps:<rtpjitterbuffer0>
Unsupported media clock

SYSTEM:
Raspberry Pi Zero running Raspbian 9
gstreamer1.0-omx install
gstreamer1.0-omx-rpi install
gstreamer1.0-omx-rpi-config install





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: omxh264dec - Failed to negotiate RGBA for EGLImage

horai
Could this be a reason?
https://www.raspberrypi.org/forums/viewtopic.php?t=193152



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: omxh264dec - Failed to negotiate RGBA for EGLImage

horai
Today, I tried Debian Jessie this pipeline:
gst-launch-1.0 rtspsrc location="rtsp://192.168.1.2:8554/test" latency=0 !
rtph264depay ! h264parse ! omxh264dec ! videoconvert ! glimagesink

Yields no such error, and CPU consumption is significantly reduced to 40%
using glimagesink on top of VC4 driver, but I need cluttersink and
libclutter 3.0 which is missing in Jessie.
Could anyone give me a hint?



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: omxh264dec - Failed to negotiate RGBA for EGLImage

horai
In reply to this post by horai

There is a guy in one
link:https://www.raspberrypi.org/forums/viewtopic.php?t=193152

testing probably the same the omx 1.10.4-1+rpt2 package I posses with this
pipeline:
gst-launch-1.0 -v videotestsrc ! omxh264enc ! h264parse ! omxh264dec !
glimagesink

He says that he sees a video, ok, but what debug says?, probably he
experiences the same problem I have.
I'll try building omx from sources, but there's a Pi specific build of omx
in Raspbian repository, probably I have done a big mistake somewhere.




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: omxh264dec - Failed to negotiate RGBA for EGLImage

Nicolas Dufresne-5


Le 23 déc. 2017 1:36 PM, "horai" <[hidden email]> a écrit :

There is a guy in one
link:https://www.raspberrypi.org/forums/viewtopic.php?t=193152

testing probably the same the omx 1.10.4-1+rpt2 package I posses with this
pipeline:
gst-launch-1.0 -v videotestsrc ! omxh264enc ! h264parse ! omxh264dec !
glimagesink

He says that he sees a video, ok, but what debug says?, probably he
experiences the same problem I have.
I'll try building omx from sources, but there's a Pi specific build of omx
in Raspbian repository, probably I have done a big mistake somewhere.

Make sure to select the RPi target, it's a configure option. Also, make sure to pass the path to the RPi GL stack and that GL support is enabled. Its easy to produce wrong build due to how these HW specific library are packaged.





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Happy Christmas !

horai
Thank you for your help,

I only recompiled 1.10.4 OMX package,set it up and the error message "Failed
to negotiate RGBA for EGLImage" is gone, the CPU consumption is still rather
high, but i hope I now have hardware accelerated video decoding, if you know
some other way how to verify the hardware acceleration is running, please,
if you could be so nice and let me know the now.
No I remained only with this FIXMEs.

FIXME                default
gstutils.c:3826:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating
random stream-id, consider implementing a deterministic way of creating a
stream-id
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
0:00:01.291350354  1037 0xb1e0e660 FIXME        rtpjitterbuffer
gstrtpjitterbuffer.c:1488:gst_jitter_buffer_sink_parse_caps:<rtpjitterbuffer0>
Unsupported timestamp reference clock
0:00:01.295135325  1037 0xb1e0e660 FIXME        rtpjitterbuffer
gstrtpjitterbuffer.c:1496:gst_jitter_buffer_sink_parse_caps:<rtpjitterbuffer0>
Unsupported media clock


*Anyway, I would like to thank you all for your magnificent help and work
you are doing and I wish you all happy Christmas and all the best to the new
year!
*
Best regards,
Ivo



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Happy Christmas !

horai
Actually, this test:
gst-launch-1.0 -v videotestsrc ! omxh264enc ! h264parse ! omxh264dec !
glimagesink
yields no error, but consumes up to 80% of CPU via top command.
Isn't this strange?



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel