使用命令行工具准确地从视频中截取快照

使用命令行工具准确地从视频中截取快照

我正在寻找一种从视频中截取精确截图的方法。精确到毫秒。我尝试使用ffmpeg以下命令:

ffmepg.exe -ss position-in-hours-minutes-milliseconds -i videoPath -y -f image2 \ -vcodec mjpeg -vframes 1 screenshot-path

但结果不准确。它不遵循毫秒原则。我需要一种遵循毫秒原则从视频中截取屏幕截图的方法。

谢谢。

答案1

我怀疑之前的回复误解了你关于毫秒精度的评论。如果你想要一种精确的方法来提取当前显示的帧,艾维德姆克斯可以安装为便携版本,使用起来非常简单。只需导航到所需的框架,然后选择文件/另存为图像即可。

如果您想使用 ffmpeg,下面的代码就足够了。

ffmpeg -i input.mp4 -ss 00:00:00.000 -update 1 -frames:v 1 out.bmp

您可以将输出更改为最常见的图像格式。

答案2

虽然这就像使用大炮(不是佳能)射杀跳蚤,两者皆可快捷键开放射击显示分辨率为 1/100 秒(即 10 毫秒)的时间,这不是相当你想要的...但有人可以通过注意小数点最低位的位置,并拉伸时间线,以便可以以毫秒为单位进行测量。

警告:这只适用于具有足够信息。以低于每秒 100 帧的速度录制的视频在毫秒级别上没有任何变化,如果使用时间压缩使用时,只有不同之处帧之间的时间间隔被记录下来,这使得在单个“帧”级别提取信息变得非常困难,甚至不可能,即,三角洲在全帧之间。

如果你有一台真正的高速摄像机,配有独立的录像机不是使用压缩,那么您就可以在不到 ms 的分辨率内看到整个帧...并且可能有专门的软件可以做到这一点。

相关内容