ffmpeg 4.1 から使えるフィルタ。出力映像のフィールドタイプや色域などの色情報を記述する setparams フィルタの使い方。 入力映像は変更しないがフィルタやエンコーダの処理方法に影響を与える。

基本コマンド

SD 解像度の設定で記述する。
ffmpeg -i input -vf setparams=field_mode=prog:range=tv:color_primaries=smpte170m:color_trc=smpte170m:colorspace=smpte170m output

HD 解像度の設定で記述する。
ffmpeg -i input -vf setparams=field_mode=prog:range=tv:color_primaries=bt709:color_trc=bt709:colorspace=bt709 output

ちなみに、showinfo フィルタで色域などの色情報を調べることができる。ただし古いバージョンだと表示しない
ffplay -i input -vf showinfo

n:   0 pts:      0 pts_time:0       pos:  615334 fmt:yuv420p sar:1/1 s:640x360 i:P iskey:1 type:I checksum:34D2040D 
plane_checksum:[4CFF3752 C34B881E EC87448E] mean:[126 117 133] stdev:[52.7 7.8 6.1]
color_range:tv color_space:smpte170m color_primaries:smpte170m color_trc:smpte170m

しかし、setparams フィルタで書き換えても idet フィルタで調べたフィールドタイプは変えられない。

フレームがインターレースかどうかを調べる idet

公式ドキュメント:FFmpeg Filters Documentation : setparams

オプション

オプションの既定値はすべて auto になっている。int 型指定だが、対応する数字とオプション数が一致していない場合があるので文字指定する。

  • field_mode[int]
    • auto
    • bff
    • tff
    • prog
  • range[int]
    • auto
    • unspecified, unknown
    • limited, tv, mpeg
    • full, pc, jpeg
  • color_primaries[int]
    • auto
    • bt709
    • unknown
    • bt470m
    • bt470bg
    • smpte170m
    • smpte240m
    • film
    • bt2020
    • smpte428
    • smpte431
    • smpte432
    • jedec-p22
  • color_trc[int]
    • auto
    • bt709
    • unknown
    • bt470m
    • bt470bg
    • smpte170m
    • smpte240m
    • linear
    • log100
    • log316
    • iec61966-2-4
    • bt1361e
    • iec61966-2-1
    • bt2020-10
    • bt2020-12
    • smpte2084
    • smpte428
    • arib-std-b67
  • colorspace[int]
    • auto
    • gbr
    • bt709
    • unknown
    • fcc
    • bt470bg
    • smpte170m
    • smpte240m
    • ycgco
    • bt2020nc
    • bt2020c
    • smpte2085
    • chroma-derived-nc
    • chroma-derived-c
    • ictcp

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)