编程屏幕录像机 - 输出问题

时间:2012-06-20 15:20:42

标签: delphi video-processing freepascal lazarus

我想要记录屏幕(通过每秒捕获15个屏幕截图)。这部分我知道怎么做。但我不知道如何将其写成一些流行的视频格式。我找到的最佳选择是将帧写入分离的PNG文件并使用命令行Mencoder,它可以将它们转换为多种输出格式。但也许有人有另一个想法?

要求:

  • 必须是多平台解决方案(我正在使用Free Pascal / Lazarus)。 Windows,Linux,MacOS
  • 存在一些图书馆吗?
  • 可能是复杂的命令行应用程序,它也为我录制屏幕,但我必须有可能在将整个原始数据转换为流行的视频格式之前编辑帧
  • 所有能给我一些想法的材料都值得赞赏。 API,图书馆,甚至用于FPC之外的其他语言(我会尝试重写或找到一些等价物)
  • 我考虑过将帧写入视频RAW格式,然后使用Mencoder(他可以处理)或其他解决方案,但找不到任何用于视频RAW数据的API / doc

此致

2 个答案:

答案 0 :(得分:5)

Argalatyr已经提到了ffmpeg。

有两种方法可以让它发挥作用:

  1. 通过产生新流程。您所要做的就是准备正确的输入(例如,可以是一系列jpeg图像)和正确的命令行参数。之后,您只需调用ffmpeg.exe并等待它完成。

  2. ffmpeg使用了一些做实际工作的dll。您可以直接在Delphi应用程序中使用这些dll。这是一个更多的工作,因为它更低级,但最终它会让你更好地控制发生的事情,以及你在处理时向用户显示的内容。

  3. 以下是一些可以查看的解决方案:

答案 1 :(得分:-1)

之前有一些与Delphi组件here的讨论。这是一个非常简单的组件,有时会产生一些奇怪的电影。也许是一个开始。