0

我正在尝试编写一个在 Windows 平台上用 C++ 记录和保存屏幕的应用程序。我不知道从哪里开始。我假设我需要某种 API(FFMPEG,也许是 OpenGL?)。有人能指出我正确的方向吗?

4

1 回答 1

0

您可以从查看 Windows 远程桌面协议开始,也许为此提供了一些编程库。

我知道有一种产品可以拦截对 Windows GDI dll 的调用并使用它来存储屏幕绘图活动。

一种更简单的方法是尽可能多地进行屏幕截图,并以某种方式最小化冗余数据(在帧之间没有变化的屏幕部分)。

如果您的应用程序所需的输出是视频文件(如 mpeg),您最好只抓取帧并将它们输入视频编码器。我不知道这些天编码器有多快。Ffmpeg 将是一个很好的起点。

如果编码器速度不够快,您可以尝试存储帧并在之后对视频文件进行编码。连续的帧应该有很多匹配的像素,所以你可以用它来减少存储的数据量。

于 2012-12-13T05:19:44.017 回答