FFMPEG.exe を使用して、さまざまなビデオからフレームを抽出しています。これはプログラムによる解決策であり、(ffprobe を使用して) 合計フレーム数や期間を取得するのは難しいことが判明する可能性があるため、コンソール出力を使用して個々のフレームのタイムスタンプを検出できると考えていますが、N フレームごとに 1 つの出力行を取得しています。このような:
frame= 20 fps=0.0 q=0.0 size= 0kB time=00:00:01.72 bitrate= 0.0kbits/s
frame= 40 fps= 38 q=0.0 size= 0kB time=00:00:04.02 bitrate= 0.0kbits/s
frame= 60 fps= 39 q=0.0 size= 0kB time=00:00:06.14 bitrate= 0.0kbits/s
frame= 70 fps= 38 q=0.0 Lsize= 0kB time=00:00:07.86 bitrate= 0.0kbits/s
すべてのフレームの出力を強制するコマンド ライン オプションはありますか? もしそうなら、私はそのtime=
部分を抽出することができました。これは現在使用されているコマンド ラインです。
ffmpeg.exe -i video.avi -y -threads 0 -vsync 2 %10d.jpeg
理想的には、フレームのタイムスタンプを書き込む他の形式に置き換える%10d.jpeg
ことですが、これは存在しないと思います。