微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FFmpeg Overlay Filter 改变源 FPS

如何解决FFmpeg Overlay Filter 改变源 FPS

我想在另一个慢动作视频上叠加一个视频。 令人惊讶的是,叠加层也变成了慢动作。

我正在应用以下命令:

ffmpeg
  -to 00:00:01.000 -i camera1.mp4                       // original video
  -ss 00:00:02.000 -to 00:00:09.000 -i confeti.mov      // overlay video
  -filter_complex '[0]setpts=3.333*PTS[s0]; [s0][1]overlay'  // change FPS of original video and overlay
  -r 24 out.mp4

输出可以在这里看到:out.mp4

如您所见,原始视频播放时“五彩纸屑”覆盖速度较慢,原始视频结束后会恢复正常速度。

知道它为什么会发生以及如何修复吗?

解决方法

覆盖过滤器在第一个输入提供的帧的顶部绘制覆盖视频。如果您使用 setpts 将第一个输入的帧隔开,“密度”将会降低,并且不会有足够的中间帧来绘制来自叠加输入的所有帧。

在 setpts 后添加 fps 过滤器以提供更多基础帧。

[0]setpts=3.333*PTS,fps=24[s0]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。