<div dir="ltr">One of the limitation with the cairooverlay element is that it require RGB format, so it will always downgrade your pipeline speed (if convert is needed, that is usually the case). This fact, is due to the under cairo image format limitation.<div>
<br></div><div>I think that the solution depends of what king of content you want to add to the stream. How complex ? Static ? </div><div><br></div><div>I never tried, but I think that you can compose images with opengl element. If I was you, I will try to look in this direction.  </div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Mar 15, 2014 at 8:12 AM, Michael Tyson <span dir="ltr"><<a href="mailto:michael@tyson.id.au" target="_blank">michael@tyson.id.au</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I’m trying to use cairooverlay to add some content to live video frames displayed on a Raspberry Pi.<br>
<br>
I’ve not been able to get video frames to appear onscreen while drawing from udpsrc, so I did some testing using get-inspect and a file-based test video:<br>
<br>
gst-launch-1.0 filesrc location=big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 ! qtdemux ! h264parse ! omxh264dec ! autovideoconvert ! cairooverlay ! autovideoconvert ! eglglessink<br>
<br>
I discovered that including cairooverlay in the video pipeline introduces a massive performance hit at 720p: The video playback goes from the video’s native framerate to about 1 or 2 frames per second. I guess cairooverlay doesn’t work with the zero-copy stuff happening between omxh264dec and eglglessink.<br>

<br>
Curious about using appsrc and videomixer instead, I tried another pipeline, using videotestsrc (in place of appsrc) and a videomixer:<br>
<br>
gst-launch-1.0 filesrc location=big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 ! qtdemux ! h264parse ! omxh264dec ! autovideoconvert ! videomixer name=mix !  eglglessink sync=false videotestsrc ! mix.<br>
<br>
The same thing happened: Frame rate dropped below usable values.<br>
<br>
I’m wondering: Is there any way, using the Gstreamer framework, that one can achieve acceptable frame rates while applying an overlay?<br>
<br>
Cheers,<br>
Michael<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br></div>