PTSやピクチャータイプやピクセルフォーマット、ピクセル値などを調べるのに使うshowinfo、ashowinfo
フィルタの使い方。一般的な使い方はffplayで再生してコンソールに情報を流しながら見るもので、得た情報のメタデータを他のフィルタに渡すことは今のところできない。
メタデータを扱えるffmpegは個人のレポジトリにある:
libavfilter/vf_showinfo.c: Add metadata mode · cho-dev/FFmpeg-jwmod@b9e9219
基本コマンド
ffplay -i input -vf showinfo=1
ffplay -i input -af ashowinfo
ログをコンソールに流さずにテキストで保存する。
ffmpeg -report -i input -vf showinfo -an -f null - > nul 2>&1
先にFFREPORTでファイル名とデバグレベルを指定するとログのファイル名が指定できる。
set FFREPORT=file=showinfo.log:level=48
オプション
checksum[boolean]
showinfo
フィルタのみ。映像のチェックサム、ピクセル平均値、ピクセル標準偏差値を計算する。
既定値:1
範囲:0と1
公式ドキュメント:FFmpeg Filters Documentation : showinfo
公式ドキュメント:FFmpeg Filters Documentation : ashowinfo
解析内容
showinfo
- n
デコード開始からのフレーム番号。シークするとリセットされる。回避方法 - pts
PTS時間。よく見る時間はこれにタイムベースを掛けている - pts_time
PTS時間。非表示になるときは取得できていないか、意味をなさないなど - pos
デコード時点での累積ファイルサイズ - fmt
ピクセルフォーマット名 - sar
サンプルアスペクト比 - s
映像の解像度。横x縦 - i
スキャンタイプ。(”P”はプログレッシブ。”T”はトップフィールドファースト。”B”はボトムフィールドファースト) - iskey
キーフレームかどうか。0ならそれ以外 - type
ピクチャータイプ(”I”はI-frame。”P”はP-frame。”B”はB-frame。”?”は不明) - checksum
Adler-32チェックサム - plane_checksum
各チャンネルのAdler-32チェックサム - mean
各チャンネルのピクセル平均値 - stdev
各チャンネルのピクセル標準偏差値
SAR、DARについて
SARには「Sample Aspect Ratio」(mpeg4-avc)と「Pixel Aspect Ratio」(mpeg2)の2つの意味がある。
DARは「Display Aspect Ratio」で、「幅と高さの比率」を定義している。
SAR = DAR / PAR
ffmpeg – what’s the difference between SAR & PAR in video (Detailed Info) – Super User
PTS、timebaseについて
ffmpeg でのフレームレート設定の違い
映像と音声の pts を扱う setpts, asetpts
ashowinfo
- n
デコード開始からのフレーム番号。シークするとリセットされる。回避方法 - pts
PTS時間。よく見る時間はこれにサンプリング周波数を割っている - pts_time
PTS時間 - pos
デコード時点での累積ファイルサイズ - fmt
サンプルフォーマット名 - chlayout
チャンネルレイアウト名 - rate
サンプリング周波数 - nb_samples
オーディオ1フレームあたりのサンプル数 - checksum
Adler-32チェックサム - plane_checksums
各チャンネルのAdler-32チェックサム