使用 ffmpeg 将视频与其自身连接,但相反

发布于 2025-01-11 03:21:41 字数 347 浏览 5 评论 0原文

我能够反转:

ffmpeg -i input.mp4 -vf reverse output_reversed.mp4

我可以连接:

ffmpeg -i input.mp4 -i input.mp4 -filter_complex "[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4

但是我可以用一个命令连接视频的反向版本吗?

我想要实现的是乒乓球效果,视频播放一次,然后立即向后播放。

谢谢!

I was able to reverse with:

ffmpeg -i input.mp4 -vf reverse output_reversed.mp4

And I can concat with:

ffmpeg -i input.mp4 -i input.mp4 -filter_complex "[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4

But can I concat with a reverse version of the video, with a single command?

What I am trying to achieve is a ping pong effect, where the video plays once, then plays backwards right after.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

会发光的星星闪亮亮i 2025-01-18 03:21:41

从技术上讲,您可以使用

ffmpeg -i input.mp4 -filter_complex "[0:v]reverse,fifo[r];[0:v][0:a][r] [0:a]concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4

但反向过滤器将使用大视频的大量内存。我添加了一个 fifo 过滤器来避免丢帧。但测试一下看看。 (我没有反转音频)

如果您的剪辑没有音频,上述命令将抛出错误 - 相反,请使用:

ffmpeg -i input.mp4 -filter_complex "[0:v]reverse,fifo[r];[0:v][r] concat=n=2:v=1 [v]" -map "[v]" output.mp4

Technically, you can do it using

ffmpeg -i input.mp4 -filter_complex "[0:v]reverse,fifo[r];[0:v][0:a][r] [0:a]concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4

But the reverse filter will use a lot of memory for large videos. I've added a fifo filter to avoid frame drops. But test and see. (I haven't reversed the audio)

If your clip has no audio, the above command will throw an error – instead, use:

ffmpeg -i input.mp4 -filter_complex "[0:v]reverse,fifo[r];[0:v][r] concat=n=2:v=1 [v]" -map "[v]" output.mp4
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文