Web カメラを使用してビデオをキャプチャし、キャプチャしたビデオ フレームごとに 1 つの画像を出力する必要があります。
マルチファイルシンクで gstreamer を使用してみました。
gst-launch v4l2src device=/dev/video1 ! video/x-raw-yuv,framerate=30/1 ! ffmpegcolorspace ! pngenc ! multifilesink location="frame%d.png"
ただし、これは実際にはすべてのフレームを出力するわけではありません。つまり、30 fps で 2 秒間記録すると、60 枚の画像が得られません。これは、エンコーディングがそれほど高速に実行できないためであると想定しているため、別の方法が必要です。
1 つのパイプラインでビデオをキャプチャし、別のパイプラインでそのビデオをフレームに変換すればうまくいくかもしれないと考えましたが、コーデックについて十分に知りません。ビデオを h264 や mp4 などのファイルにエンコードしてから再度デコードする必要がありますか?
誰か考えや提案はありますか?たとえば、Adobe Premiere などのアプリケーションを使用するのではなく、コードでこれを行う必要があることに注意してください。
ありがとう!