有人知道如何在无头会话(例如 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
)。