avconvを使用して、指定した時間にビデオ ファイルから 1 つの画像を取得したいと考えています。
libavについては、自分が何をしているのかを理解していると思うくらい読みましたが、実際に知るには十分ではありません。
私はもう試した:
avconv -ss 00:00:01.786 -r 25 -i input_video.h264 -frames 1 output_image.jpg
t を使用して「frames」パラメーターを回避するだけでなく、
avconv -ss 00:00:01.786 -r 25 -i input_video.h264 -t 0.01 output_image.jpg
hh:mm:ss.xxx 形式を使用するのではなく、秒単位で渡します。
avconv -ss 1.786 -r 25 -i input_video.h264 -t 0.01 output_image.jpg
ss が 0 (「0」、「00:00:00.000」、「0.0」など) に設定されている場合、output_image はビデオの最初のフレームにすぎません。予想通り。
ss のその他の値 (0.0001 であっても) は、ビデオの最後のフレームを示します。
Raspbian wheezy リポジトリの最新の avconv を使用しています。この動作は私にはバグのように感じますが、ビデオ ストリーミングのその他の複雑な点については、確信を持てるほどよく知りません。
誰かが私が間違っていることを知っていますか?
おまけの質問:実際には、同じビデオからこれらの画像を大量に取得したいと考えています。コマンドを一緒に文字列化することは、以前は機能していたようです。
avconv -ss 1.786 -r 25 -i input_video.h264 -t 0.01 output_image1.jpg
-ss 3.454 -r 25 -i input_video.h264 -t 0.01 output_image2.jpg
-ss 5.823 -r 25 -i input_video.h264 -t 0.01 output_image3.jpg
-ss etc,etc.
しかし、この問題をデバッグするために単一の画像に切り替えました。最初の問題が解決されたと仮定すると、それがこのコマンドを構成する最良の方法ですか、それともより良い方法がありますか?