我正在寻找一种从视频中截取精确截图的方法。精确到毫秒。我尝试使用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 的分辨率内看到整个帧...并且可能有专门的软件可以做到这一点。