我想要记录屏幕(通过每秒捕获15个屏幕截图)。这部分我知道怎么做。但我不知道如何将其写成一些流行的视频格式。我找到的最佳选择是将帧写入分离的PNG文件并使用命令行Mencoder,它可以将它们转换为多种输出格式。但也许有人有另一个想法?
要求:
此致
答案 0 :(得分:5)
Argalatyr已经提到了ffmpeg。
有两种方法可以让它发挥作用:
通过产生新流程。您所要做的就是准备正确的输入(例如,可以是一系列jpeg图像)和正确的命令行参数。之后,您只需调用ffmpeg.exe并等待它完成。
ffmpeg使用了一些做实际工作的dll。您可以直接在Delphi应用程序中使用这些dll。这是一个更多的工作,因为它更低级,但最终它会让你更好地控制发生的事情,以及你在处理时向用户显示的内容。
以下是一些可以查看的解决方案:
FFVCL商业。实际上看起来相当不错,但我太贪心了,不能在此花钱。
Open Source Delphi headers for FFMpeg。我已经尝试过,但我从未设法让它发挥作用。
我最终从开源卡拉OK程序(UltraStar Deluxe)中提取了DLL包装器。我不得不删除一些依赖项,但最终它的工作就像一个魅力。
相关(帕斯卡)代码可在此处找到:
http://ultrastardx.svn.sourceforge.net/viewvc/ultrastardx/trunk/src/lib/ffmpeg-0.10/
答案 1 :(得分:-1)
之前有一些与Delphi组件here的讨论。这是一个非常简单的组件,有时会产生一些奇怪的电影。也许是一个开始。