2

我正在寻找一个使用 C 或 Cpp 在 Linux 中捕获屏幕的程序。有人可以帮助提供骨架结构或程序可以帮助我吗?

谢谢并恭祝安康。

4

1 回答 1

2

如何使用 ffmpeg 截屏:

使用 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。

于 2013-06-05T06:42:33.547 回答