1入力目の映像を2入力目の解像度を元にリサイズするscale2ref
の使い方。主な用途は異なる解像度の動画をフィルタ内で比較、参照したりするときに参照動画の解像度はscale
フィルタでは取得できないので、その代わりにscale2ref
フィルタを使う。使えるオプションはscale
フィルタと同じ。
基本コマンド
input1は640×360、input2は1280x720p。
input1の解像度は1280×720にリサイズされ、input2はそのままの例。
ffmpeg -i input1 -i input2 -filter_complex scale2ref[0v][1v] -map [0v] -map 0:a -c:a copy output1 -map [1v] -map 1:a -c:a copy output2
input1の解像度はinput2の4分の1にリサイズされ、input2はそのままの例。
ffmpeg -i input1 -i input2 -filter_complex scale2ref=1/4*iw:1/4*ih[0v][1v] -map [0v] -map 0:a -c:a copy output1 -map [1v] -map 1:a -c:a copy output2
input1をinput2の解像度にリサイズしてinput2を出力しない例。nullsink
を使うと出力を無効にできる。
ffmpeg -i input1 -i input2 -filter_complex scale2ref[0v][1v];[1v]nullsink -map [0v] -map 0:a -c:a copy output1
さらにリサイズアルゴリズムを変えるならflagsを使う。
ffmpeg -i input1 -i input2 -filter_complex scale2ref=flags=lanczos[0v][1v];[1v]nullsink -map [0v] -map 0:a -c:a copy output1
公式ドキュメント:
FFmpeg Filters Documentation : scale
FFmpeg Filters Documentation : scale2ref
FFmpeg Filters Documentation : nullsink