約 5 年間、シェル スクリプトで ffmpeg を使用して、Linux でアップした Macbook の iSight から 1 つのフレームを取得してきました。
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. 0.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 の動作を変更していないようです (つまり、ハングしませんが、遅延はありません)。
何か案は?