【问题标题】:Using Delphi or FFMpeg to create a movie from image sequence使用 Delphi 或 FFMpeg 从图像序列创建电影
【发布时间】:2010-12-02 07:17:25
【问题描述】:

我的 Delphi 应用程序创建了一个名为 frame_001.png 到 frame_100.png 的序列。

我需要将其编译成影片剪辑。根据他们的文档,我认为最简单的方法可能是从命令行调用 ffmpeg:

用于从许多图像创建视频:

ffmpeg -f image2 -i foo-%03d.jpeg -r 12 -s WxH foo.avi

语法 foo-%03d.jpeg 指定使用由三个数字组成的十进制数用零填充来表示序列号。它与 C printf 函数支持的语法相同,但只适用于接受普通整数的格式。

发件人:http://ffmpeg.org/ffmpeg-doc.html#SEC5

但是我的文件是(无损)png 格式,所以我必须先使用 imagemagick 进行转换。

我的命令行现在是:

ffmpeg.exe -f image2 -i c:\temp\wentelreader\frame_%05d.jpg -r 12 foo.avi

然后我得到错误:

[image2 @ 0x133a7d0]Could not find codec parameters (Video: mjpeg) c:\temp\wentelreader\Frame_C:\VID2EVA\Tools\Mencoder\wentel.bat5d.jpg: could not find codec parameters

我做错了什么?

或者,这可以用 Delphi 轻松完成吗?

【问题讨论】:

    标签: delphi batch-file ffmpeg


    【解决方案1】:

    不确定您是否有兴趣,但 @http://ultrastardx.svn.sourceforge.net/viewvc/ultrastardx/trunk/src/lib/ffmpeg/ 有 delphi 标头 所以你可以使用 DLL vs 命令行。

    -布拉德

    【讨论】:

      【解决方案2】:

      查看错误消息中的文件名。这不可能是对的。百分号需要一直到达您正在运行的程序,但它被批处理文件扩展,其中%0 扩展为文件的全名和路径。将批处理文件中的百分号加倍:

      ffmpeg.exe -f image2 -i c:\temp\wentelreader\frame_%%05d.jpg -r 12 foo.avi

      另外,既然你已经说过你的文件被命名为frame_001.png,它只有三个数字,为​​什么还要五个

      【讨论】:

      • 谢谢罗伯!现在回想起来很明显......我现在收到以下错误,也从批处理文件中尝试过: c:\temp\wentelreader\Frame_%05d.jpg: I/O error occurred 通常这意味着输入文件被截断和/或损坏。 frame_001.png 只是一个示例,我决定稍后引用我的代码。真正的文件名是 Frame_00000.jpg - Frame_03961.jpg。
      • 好的更新 - 使用原始 png 现在似乎可以工作了。我认为我在 jpeg 中的路径错误。再次感谢!
      【解决方案3】:

      ffmpeg 可以从 png 图像创建电影,为什么你认为你必须将它们转换为 jpeg?

      【讨论】:

      • 我之前遇到了一个错误,这让我假设并且在(稀疏!)手册中没有提到 png。谢谢,很高兴知道。现在,如果我能弄清楚命令行:)
      • png 或 jpeg 不是问题 - 我无法让命令行工作,因为它将 %0d 参数替换为我从中调用它的批处理文件的名称。
      • @rob 给了你答案使用 %%05f 而不是 %05d
      【解决方案4】:

      DelphiFFMpeg 中的人已经为 FFMpeg 制作了一个组件包装器。它非常昂贵,但值得一试。但是你想要做的很简单,命令行对你来说已经足够了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-06
        • 2010-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-21
        相关资源
        最近更新 更多