Qt 覆盖 GStreamer

Qt Overlay over GStreamer

考虑到当前设置我有一个问题:

该应用程序包含 2 个主要元素:

问题:

如何实现在流上显示叠加层,同时让两个部分全屏显示(填满整个屏幕)? 可能的解决方案:

我当前(不工作)的解决方案:

我自己找到了解决方案。分享如下:

1) 运行 /dev/fb1 上的 Qt 应用程序:

  • export QT_QPA_EGLFS_FB=/dev/fb1(将 /dev/fb1 指定为 eglfs 帧缓冲区)
  • echo 0 > /sys/class/graphics/fb1/blank(清空帧缓冲区)
  • fbset -fb /dev/fb1 --geometry <your geometry here>(设置帧缓冲区几何)
  • ./YourApplication -platform eglfs(运行 申请)

如果您想要完全不透明,同时让叠加层的部分完全透明,请使用颜色键。

2) 运行 /dev/fb0 上的 GStreamer:

  • gst-launch-1.0 videotestsrc ! imxg2dvideosink framebuffer=/dev/fb0

这是 eglfs 的解决方案。其他可能性是 linuxfb.