FFprobe による動画フォーマットの調査¶
FFprobe を使って動画ファイルの形式などを調査する方法のメモです。
ファイルの概要を表示する¶
ffprobe -i "${FILE}"
ストリームの詳細情報を JSON で取得する¶
ffprobe -i "${FILE}" -loglevel quiet \
-show_streams -print_format json
特定の情報のみ取得する場合は jq でフィルタして取得する。(例: フレームレート)
ffprobe -i "${FILE}" -loglevel quiet \
-show_streams -print_format json \
| jq -r '.streams[0].r_frame_rate'
フレーム種別を確認する¶
動画内の各フレームの種別を表示する。I がキーフレーム。
ffprobe -i "${FILE}" -loglevel quiet \
-select_streams v -show_frames -show_entries frame=pict_type -of csv
キーフレームのフレーム番号のみ表示する場合
ffprobe -i "${FILE}" -loglevel quiet \
-select_streams v -show_frames -show_entries frame=pict_type -of csv \
| grep -n 'I$' | cut -d ':' -f 1
各フレームのタイムスタンプを確認する¶
ffprobe -i "${FILE}" -loglevel quiet \
-show_frames -print_format flat -select_streams v:0 \
| grep pkt_pts=