ビデオ/ストリームからフレームを抽出し、各フレームのタイムスタンプを書き出すコマンド ツールはありますか?

ビデオ/ストリームからフレームを抽出し、各フレームのタイムスタンプを書き出すコマンド ツールはありますか?

ffmpeg は、現在のフレームのタイムスタンプを出力ファイル名として書き出すコマンドライン引数をサポートしていないため、ビデオ/ビデオストリームから画像を抽出し、現在のフレームのタイムスタンプをファイル名として出力することをサポートするコマンドラインツールを必死に探しています。

このような要件に対応できるツールはありますか?

答え1

これは、ffmpegとバッチ名前変更ツール(例えば、高度な名前変更

40フレームごとに抽出したいとします

#1フレームとプレゼンテーションのタイムスタンプのリストを抽出します。

ffmpeg -i in.mp4 -vsync 0 -vf select=not(mod(n\,40)) frames-%d.jpg
       -vf select=not(mod(n\,40)) -f mkvtimestamp_v2 pts.txt

画像の他に、次のような pts.txt も取得します。

# timecode format v2
0
1600
3200
4800
6400
8000
9600
11200
12800
14400
16000

これらは抽出されたフレームのタイムスタンプであり、ミリ秒単位で表されます。

#2次に、リストを使用した名前変更をサポートするバッチ名前変更アプリを使用して、フレームのファイル名を変更します。またはシェル スクリプトを使用します。

関連情報