我正尝试出于科学目的提取视频的“每10帧中恰好有1帧”(即提取1,剩下9则重复)。视频为105帧,3.5秒,29.97fps(h.264,.mov,由Nikon D3100制作)。
我已经在这里上传了。
VLC
下面的命令应产生10帧,但仅产生6张图像。我尝试了不同的场景比率,但它们都不产生正确的帧数(甚至无法校正)。
vlc 1.mov --video-filter=scene --vout=dummy --scene-ratio=10 --scene-prefix=img- --scene-path=. vlc://quit
有人可以告诉我这是什么问题吗?
FFmpeg
FFmpeg似乎没有完全适合我的命令。下面的命令每秒提取3帧,但是由于FPS并非恰好是30(2.97),因此不会为我产生正确的结果。
另外,即使使用此命令,FFmpeg也无法给出正确的帧数。对于3.5秒的视频,我期望最多10帧,但是我得到的是12帧!
ffmpeg -i 1.mov -y -an -sameq -r 3 -f image2 -vcodec mjpeg %03d.jpg
我怎样才能实现自己想要的?
-sameq
并没有执行您可能认为的操作,并且已从当前版本中删除(真正的ffmpeg,即我不确定它是否在Ubuntu假ffmpeg中)。请改用qscale。