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 |
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 |
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 |
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 |
Le 23 déc. 2017 1:36 PM, "horai" <[hidden email]> a écrit :
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.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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 |
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 |
Free forum by Nabble | Edit this page |