首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ffmpeg插值循环以使其平滑

ffmpeg插值循环以使其平滑
EN

Stack Overflow用户
提问于 2017-02-20 02:21:08
回答 2查看 2.2K关注 0票数 3

我正在使用ffmpeg创建循环视频,其中循环是完全平滑的,就像在所有帧之间移动一样。我有27张图像,其中一张在另一张中转换,所以第0帧=第27帧我在图像之间使用-vf minterpolate=fps=30,因此过渡非常平滑。我有-framerate 10,所以在理论上插值过滤器创建了3个额外的帧。所以我删除了第27帧并创建了一个视频

ffmpeg -framerate 10 -start_number 0 -i ./-start_number/%d.png -vf "minterpolate=fps=30“

但是当它循环时,0和最后一帧之间没有过渡,并且不平滑。如何在循环之间创建平滑过渡?我试图离开27帧,当粘合视频时,删除最后一帧,这是重复的。但是不知道怎么剪切只有一帧,到时候它就失败了。

请帮我用minterpolate滤波器得到平滑的环路。

EN

回答 2

Stack Overflow用户

发布于 2017-02-20 14:30:03

如果我没理解错的话,当它循环时,从最后一帧到第一帧没有插值。快速解决方案是复制第一个帧并将其重命名,使其成为最后一个帧。因此,如果1.png是第一张图像,27.png是最后一张,那么将1.png复制为28.png。现在,运行您当前的命令。在循环关节处,您将有一个重复的1/28.png的额外帧。这将使视频时长增加0.033秒。如果您需要删除它,请在minterpolate之后应用trim=end_frame=83

票数 1
EN

Stack Overflow用户

发布于 2017-02-23 02:17:12

我将视频解压后重新插入到帧中,并看到在第一帧之间的开头出现了问题。也许minterpolate跳过了一些东西,但我使用trim=start_frame=81:end_frame=162解决了它,所以我生成了两倍的图像,并在第一次循环后对其进行了剪切。我知道,这是开销,并试图只增加3-4个额外的帧,但只有这种组合工作得很好。

@Mulvya,谢谢你的回答,你帮了我很多

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42331046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档