当两个输入中的第一个结束时,如何停止 FFMPEG 处理?

当两个输入中的第一个结束时,如何停止 FFMPEG 处理?

我想对编码剪辑与参考文件进行 SSIM 比较

我有一些时长未知的剪辑,它们与已知良好来源的内容相同。这些剪辑总是从内容的开头开始,但结尾却各不相同(即有些剪辑的时长为 30 秒,有些为 33 秒)。

我尝试使用以下命令:

ffmpeg -i clip.mov -i reference_file.mp4 -lavfi  "ssim" -f null -

但只有当持续时间过去后,处理才会终止reference_file.mp4,因此会使 SSIM 结果产生偏差。

clip.mov如果我事先不知道的持续时间,如何让 SSIM 处理在持续时间结束时停止clip.mov

答案1

ssim 支持最短选项

ffmpeg -i clip.mov -i reference_file.mp4 -lavfi  "ssim=shortest=1" -f null -

相关内容