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

Dib*_*ibo 8 delphi freepascal video-processing lazarus

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

要求:

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

问候

Wou*_*ick 5

Argalatyr已经提到了ffmpeg.

有两种方法可以让它工作:

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

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

以下是一些检查解决方案: