Greetings.
I'm looking for a reliable way to composite a bunch of video frames into a single one on my server (arch linux amd64). As far as I know ``videomixer'' is sort of deprecated and everybody suggest ``compositor''. Unfortunately compositor's performance is horrible in my case for some reason (on quite powerful 6th gen mobile Xeon, maybe I'm doing something wrong, but it fails to merge 10 frames into one 720p at 25 fps). On the other hand glvideomixer works as a charm, however it fails to initialize egl context without Xorg server instance running (which is undesirable on a server). It fails with: 0:00:29.691145203 742 0x7f5b400e7190 WARN glbasefilter gstglbasefilter.c:393:gst_gl_base_filter_decide_allocation: error: Failed to initialize egl: EGL_NOT_INITIALIZED 0:00:38.723218316 549 0x7fe5bc0e69e0 INFO GST_ERROR_SYSTEM gstelement.c:1938:gst_element_message_full_with_detils:<glcolorconvertelement2> posting message: Failed to initialize egl: EGL_NOT_INITIALIZED 0:00:38.723237521 549 0x7fe5bc0e69e0 WARN basetransform gstbasetransform.c:974:gst_base_transform_do_buffer pool:<glcolorconvertelement2> Subclass failed to decide allocation even with EGL_PLATFORM=drm Is there a way to make opengl elements work on a server without X server? Or is there any way to improve compositor performance? Here is my pipeline: https://imgur.com/a/eAisO _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel pipeline.dot (279K) Download Attachment |
Le 20 déc. 2017 9:00 AM, "cicero" <[hidden email]> a écrit : Greetings. It still need improvement, like more optimization and thread support. Its no different then videomixer in this regard. One trick is to set the background to black, that helps. You can also do multiple composition in order to use multiple threads. the other hand glvideomixer works as a charm, We only support GLX and Wayland on Linux (set GST_GL_WINDOW=x11/wayland). DRM support is being worked on.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Administrator
|
Yes, the compositor element seems to do single threaded composition thereby
maxing out on a single core. Not sure when this would be addressed. You can raise a request on bugzilla for the same :) ~BO -- 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 cicero
Wed, 20 Dec 2017 09:49:06, Nicolas Dufresne:
> It still need improvement, like more optimization and thread support. Its > no different then videomixer in this regard. One trick is to set the > background to black, that helps. You can also do multiple composition in > order to use multiple threads. I see. Well setting background to black and scaling via separate videoscale elements improved performance a lot, thank you. However, it's still far behind glvideomixer. I would also prefer to mix frames on GPU since my app is already quite CPU intensive. Thanks for the link, I will try this patch and see if I can provide any help. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |