我的最终目标是从 30 分钟或 1 小时长的视频中获取有意义的快照。“有意义”有点野心,所以我简化了我的要求。
图像应该清晰 - 不模糊。
最初,我认为这意味着获得“关键帧”。由于关键帧很多,我决定选择最接近视频第三分钟的关键帧,这对我来说通常“有意义”。我遵循了以下建议:FFmpeg 命令找到最接近第 3 分钟的关键帧
但问题是这些关键帧通常(并不总是)模糊。一个例子是:

然后我尝试使用 FFmpeg 为视频制作有意义的缩略图,这确实有助于获得更有意义的快照,但我仍然经常(并非总是)得到像上面这样的模糊帧。
您会注意到这种图像本质上是 2 个不同场景的重叠。然而,有时我会得到对我有用的图像 - 像这样:

上图意义不大,但很清晰。
理想情况下,我希望 FFmpeg 不返回模糊帧。或者,我想使用脚本来检测模糊帧并从 5 帧中选择最不模糊的帧。有谁知道如何做到这一点?
我使用 FFmpeg 在第 3 分钟提取关键帧。这意味着它是第3*60*25帧(假设25 FPS)。现在,该帧通常不是关键帧。
我想提取最接近上述帧的帧,但确保它是关键帧。这意味着该帧可能出现在视频第三分钟之前或之后几秒钟。
我到处都找遍了,没有任何运气!我是在 Linux 上执行此操作,因此如果您使用的是 FFmpeg 以及专门安装或捆绑的东西,请告诉我!