【发布时间】:2021-01-09 07:03:02
【问题描述】:
我有一个 JPG 图像(随机选择),我想使用 ffmpeg 制作成 APNG 动画(以测试该过程)。它们都是相同的尺寸 (256x256)。但我似乎无法获得正确的语法来控制帧延迟和循环控制(永远循环)。从一系列图像创建 APNG 时,是否可以使用 ffmpeg 设置这些参数?如果是这样,有人可以提供正确的语法和/或显示示例命令吗?我搜索了 ffmpeg 文档,似乎找不到相关语法。
我可以执行以下操作,但它不会接受 -delay 或 -loop。我使用 Imagemagick 来输入图像。
这可行,但不会循环,并且运行速度非常快。
magick lena.jpg mandril3.jpg monet2.jpg zelda1.jpg PNG:- | ffmpeg -i - x.apng
这会给出有关延迟和/或循环的错误:
magick lena.jpg mandril3.jpg monet2.jpg zelda1.jpg PNG:- | ffmpeg -i - -delay 1000 -loop -1 x.apng
我也很想知道是否可以在不使用 ImageMagick 的情况下直接在 ffmpeg 中指定一系列图像作为输入。
对不起,我是 ffmpeg 的新手。我正在使用 ffmpeg 4.2.1。
【问题讨论】:
-
弗雷德,部分答案在这里...stackoverflow.com/a/43797017/2836621
-
你可以像这样trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/… 设置延迟,但我没有任何可以测试的东西。
-
谢谢
Mark。 -plays 用于控制循环。但是第二个链接没有提供使用setpts进行延迟的有效方法。 -
如果您想循环播放,则无法通过管道传输图像*。在trac.ffmpeg.org/wiki/Slideshow#Concatdemuxer 使用解复用器方法。 *从技术上讲,你可以,但它会消耗内存。
-
@Gyan谢谢,但这不是我想要的。但是您的链接确实告诉我如何处理延迟 - 使用输入帧速率。那行得通。
标签: animation ffmpeg imagemagick apng