標準で使える scale
フィルタの使い方。外部ライブラリに zscale
フィルタがありこちらは HDR、高品質リサイズ向けで処理速度は scale
フィルタより速くない。
基本コマンド
アスペクト比を維持しながら横幅1280ピクセルにリサイズする。
ffmpeg -i input -vf scale=1280:-1 output
さらに縦幅が奇数になる場合には繰り上げて偶数にする。
ffmpeg -i input -vf scale=1280:-2 output
アスペクト比を維持しながら長辺1280ピクセルより大きいとき長辺1280ピクセルにリサイズする。小さければそのまま。
ffmpeg -i input -vf "scale=if(gte(iw\,ih)\,min(1280\,iw)\,-2):if(lt(iw\,ih)\,min(1280\,ih)\,-2)" output
リサイズ方法を lanczos に変える。
ffmpeg -i input -vf scale=1280:-2:flags=lanczos output
ffmpeg -i input -vf scale=1280:-2 -sws_flags lanczos output
accurate_rnd を併用する。
ffmpeg -i input -vf scale=1280:-2 -sws_flags accurate_rnd+lanczos output
ガンマ補正を行う。既定値では行わない。
ffmpeg -i input -vf scale=1280:-2 -gamma 1 output
公式ドキュメント:FFmpeg Filters Documentation : scale
オプション
- width, w[string]
出力解像度の横幅
0 は入力と同じ。-1 はアスペクト比を揃えて縦解像度に合わせる。-n でnの倍数で割りきれるように繰り上げて調整する - height, h[string]
出力解像度の縦幅
0 は入力と同じ。-1 はアスペクト比を揃えて横解像度に合わせる。-n でnの倍数で割りきれるように繰り上げて調整する - size, s[string]
横幅x縦幅。使える書式 - flags[string]
リサイズアルゴリズムの指定。設定値は後述 - interl[boolean]
インターレース保持のリサイズ指定- 0:保持しない。既定値
- 1:保持する
- in_color_matrix[string]
入力カラーマトリクス- auto:既定値
- bt709
- fcc
- bt601
- smpte240m
- out_color_matrix[string]
出力カラーマトリクス
設定値は in_color_matrix と同じ - in_range[int]
入力カラーレンジ- auto, unknown
- jpeg, full, pc
- mpeg, limited, tv
- out_range[int]
出力カラーレンジ
設定値は in_range と同じ - force_original_aspect_ratio[int]
縦横どちらに合わせアスペクト比維持してリサイズするか- 0, disable:無効。既定値
- 1, decrease:短い方に合わせる
- 2, increase:長い方に合わせる
- param0, param1
不明 - eval[int]
リサイズの評価方法。動的にリサイズできるオプションがないので用途不明- init:1フレーム目で固定
- frame:フレーム毎に変動
縦横幅に使える書式
これも使える。ffmpeg で使える計算書式
- in_w, iw
入力横幅 - in_h, ih
入力縦幅 - out_w, ow
横幅(width, w)で指定した値。縦幅の指定に横幅でリサイズした後の値を使うときに使う - out_h, oh
縦幅(height, h)で指定した値。横幅の指定に縦幅でリサイズした後の値を使うときに使う - a
iw / ih - sar
サンプルアスペクト比 - dar
(iw / ih) * sar - hsub, vsub
入力クロマサブサンプル値。yuv422p だと hsub は 2、vsub は 1 - ohsub, ovsub
出力クロマサブサンプル値。yuv422p だと hsub は 2、vsub は 1
リサイズアルゴリズム
- fast_bilinear
- bilinear
- bicubic
- experimental
- neighbor
- area
- bicublin
- gauss
- sinc
- lanczos
- spline
- print_info
- accurate_rnd
- full_chroma_int
- full_chroma_inp
- bitexact