在无头环境中构建支持 x11grab 的 ffmpeg

在无头环境中构建支持 x11grab 的 ffmpeg

有人知道如何在无头会话(例如 Open Build Service)中构建支持 x11grab 的 ffmpeg 吗?我可以在普通的 X11 会话中构建它,但没有 X 就不行。

由于 OBS 在构建包时本质上会创建一个无头会话,而 ffmpeg 会尝试自动从环境中推断出特性,因此生成的二进制文件和库不包含 x11grab 设备。我猜这只是在构建会话中安装正确的库及其开发对应项的问题,但一直无法找出正确的组合。

有人可以给我指明正确的方向吗?

答案1

x11grab 设备需要[/usr/include]/xcb/xcb.h,因此请安装提供该文件的任何软件包。在 Ubuntu 中,它由 libxcb1-dev 软件包提供。您可能还需要xcb/shm.h(libxcb-shm0-dev)、xcb/shape.h(libxcb-shape0-dev) 和xcb/xfixes.h(libxcb-xfixes0-dev)。

您可能需要一个虚拟 X 服务器环境(请参阅xvfb-run)。

相关内容