大约五年来,我在shell脚本中使用了ffmpeg来从我的Linux版Macbook的iSight中抓取一帧:
ffmpeg -f video4linux2 -s 640x480 -r 15 -i /dev/video0 -an -vframes 1 -vcodec mjpeg -y -sameq -ss 1.5 snapshot.jpg
我刚刚将我的Ubuntu发行版从Lucid升级到Natty(ffmpeg ver.6.6.2-4:0.6.2-1ubuntu1)。 现在该语法将启用iSight但无限期挂起。
[output snipped, ending with:]
frame= 0 fps= 0 q=0.0 Lsize= -0kB time=10000000000.00 bitrate= -0.0kbits/s
video:0kB audio:0kB global headers:0kB muxing overhead -inf%
如果没有'-ss'标志,它似乎成功抓住第一帧并立即退出 - 输出的唯一区别是:
frame= 1 fps= 0 q=0.0 Lsize= -0kB time=0.07 bitrate= -2.6kbits/s
video:16kB audio:0kB global headers:0kB muxing overhead -100.132730%
但是,'-ss 1.5'是将帧捕捉延迟1.5秒以使凸轮有足够时间调整曝光所必需的。
-itsoffset标志似乎很有希望,但似乎并没有改变ffmpeg的行为(即不挂起,但没有延迟)。
有什么想法吗?