我正在寻找一个使用 C 或 Cpp 在 Linux 中捕获屏幕的程序。有人可以帮助提供骨架结构或程序可以帮助我吗?
谢谢并恭祝安康。
使用 x11grab 设备:
ffmpeg -f x11grab -r 25 -s 1024x768 -i :0.0+100,200 output.flv
这将从桌面获取图像,从左上角 (x=100, y=200) 开始,宽度和高度为 1024x768。
如果你也需要音频,你可以像这样使用 alsa:
ffmpeg -f x11grab -r 25 -s 1024x768 -i :0.0+100,200 -f alsa -ac 2 -i 脉冲输出.flv
因此,您可以简单地将其放入capture.sh
并从您的代码中运行它:
#include <cstdlib>
int main(){ std::system("./capture.sh"); }
如果必须在不调用外部实用程序的情况下执行此操作,则可以直接使用 libffmpeg。