Я пытаюсь использовать хроматический ключ GPU с GStreamer 1.16 (с Ubuntu 16.04). Для этого мне нужно использовать glvideomixer и элементы glalpha (videomixer & alpha работает, но это слишком медленно). Я установил его в соответствии с этим руководством: https://developer.ridgerun.com/wiki/index.php?title=Setting_a_GStreamer_Alternative_Environment
При использовании примера кода glvideomixer, предоставленного в документе (https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html//gst-plugins-base-plugins-glvideomixer.html):
gst-launch-1.0 glvideomixer name=m ! glimagesink \
videotestsrc ! video/x-raw, format=YUY2 ! glupload ! glcolorconvert ! m. \
videotestsrc pattern=12 ! video/x-raw, format=I420, framerate=5/1, width=100, height=200 ! queue ! \
glupload ! glcolorconvert ! m. \
videotestsrc ! glupload ! gleffects effect=2 ! queue ! m. \
videotestsrc ! glupload ! glfiltercube ! queue ! m. \
videotestsrc ! glupload ! gleffects effect=6 ! queue ! m.
Я получаю ошибку сегментации:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Redistribute latency...
Caught SIGSEGV
Spinning. Please run 'gdb gst-launch-1.0 26169' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
При использовании Gstreamer 1.8.3 (версия, предоставляемая Ubuntu 16.04) команда работает, но элемент glalpha отсутствует.
Работает ли у вас glvideomixer с 1.16?