Concat是一个自己的视频,但相反,使用ffmpeg

Vit*_*tam 10 video reverse ffmpeg

我能够逆转:

ffmpeg -i input.mp4 -vf reverse output_reversed.mp4
Run Code Online (Sandbox Code Playgroud)

我可以说:

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
Run Code Online (Sandbox Code Playgroud)

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

我想要实现的是乒乓效应,视频播放一次,然后播放.

谢谢!

Gya*_*yan 16

从技术上讲,你可以使用它

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
Run Code Online (Sandbox Code Playgroud)

但是反向滤波器会为大型视频使用大量内存.我添加了一个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
Run Code Online (Sandbox Code Playgroud)

  • 如果你在没有音频流的东西上使用它(我想在gif上运行它)你会得到一个错误,但是这样做:`ffmpeg -i input.mp4 -filter_complex"[0:v] reverse ,fifo [r]; [0:v] [r] concat = n = 2:v = 1 [v]" - map"[v]"output.mp4` (5认同)
  • 在上面的答案中添加了@tobek 的非音频解决方案 (2认同)
  • 尝试对 200mb 的视频文件执行此操作。它吃掉了我所有的 16GB 内存,然后冻结了我的电脑。只是添加一个示例来说明“大量内存”的含义 (2认同)