pullup
は逆テレシネフィルタで、ハードテレシネや 24000/1001 fps プログレッシブや 30000/1001 fps プログレッシブの映像に対応している。未来フレームを参照するように設計されていてパターン周期が不定期でも正しく逆テレシネし、重複フレームは自動で間引く。片フィールド補間は行わないのでその部分の映像はなめらかにはならない。最後に出力フレームレートが偶数の時は、正しいフレームレートを指定する。
関連記事
ffmpeg でインターレース解除
基本コマンド
日本で一般的な NTSC を 24000/1001 fps プログレッシブに変換する
2016年4月8日 ffplay は出力オプションに-r
が使えなかったので直した
ffplay -i input -vf pullup,fps=24000/1001
ffmpeg -i input -vf pullup -r 24000/1001 output
公式ドキュメント:FFmpeg Filters Documentation : pullup
オプション
変更できるオプションはいくつかあるが初期設定で重複フレームがなければ変更しない方が最善の結果になる。
- jl
左端を無視する設定。1ユニットあたり8ピクセル
範囲:0 – int_max[int]
既定値:1 - jr
右端を無視する設定。1ユニットあたり8ピクセル
範囲:0 – int_max[int]
既定値:1 - jt
上部を無視する設定。1ユニットあたり2ライン
範囲:0 – int_max[int]
既定値:4 - jb
下部を無視する設定。1ユニットあたり2ライン
範囲:0 – int_max[int]
既定値:4 - sb
処理の厳格さ
1 は重複フレームを減らすが、あまり動いていない映像の場合に重複フレームと判断して間引くかもしれない
-1 は処理を簡略がするがインターレースが残るかもしれない
範囲:-1 – 1[int]
既定値:0 - mp
メトリックチャンネルを指定する
輝度差分が少ない映像の場合には u, v を指定するといいかもしれない
範囲:0 – 2[int]
既定値:0- 0, l
輝度信号。既定値 - 1, u
青色成分の差分信号 - 2, v
赤色成分の差分信号
- 0, l
イマイチ分からんのですが、pullupの書式として例えばoptionのsbを使う場合の記載例等があれば助かります…
ffplay -i input -vf “pullup:sb:1” -r 24000/1001
でいいのか
ffplay -i input -vf “pullup sb1” -r 24000/1001
なのか…どっちでやってもエラーが出ないので分からんのですorz
フィルタにオプションを適応するのに最初は = でつないで次から : でつなぎ、別フィルタは , でつなげます
ffplay -i input -vf pullup=sb=1,fps=24000/1001
https://ffmpeg.org/ffmpeg-filters.html#Filtergraph-syntax-1
ffplay は出力オプションに -r が使えなかったので直した
有難う御座います
使っていて未だに全く理解できてない状態なので助かりました!