pullup
フィルタは逆テレシネフィルタで、ハードテレシネや24000/1001fpsプログレッシブや 30000/1001fpsプログレッシブの混在した映像に対応している。ただし60i混在の30p化はうまくできない。未来フレームを参照するように設計されていてパターン周期が不定期でも正しく逆テレシネし、不要な重複フィールドを自動で間引く。片フィールド補間は行わないのでその部分の映像はなめらかにはならない。入力フレームレートが29.97fpsの場合は24000/1001fpsに、30fpsや(まれに)テレシネされた25fpsの場合は24fpsになる。
pullup
フィルタの後のPTS間隔はフレームを間引く前と変わらないVFRになり、そのまま出力するとフレームレートが元の映像のままになるので間引かれた後のフレームレートを指定することでPTS間隔も修正される。
ffmpeg でインターレース解除
映像と音声の pts を扱う setpts, asetpts
基本コマンド
日本で一般的なNTSCを24000/1001fpsプログレッシブに変換する。
2016年4月8日 ffplay は出力オプションに-r
が使えなかったので直した。
ffmpeg -i input -vf pullup -r 24000/1001 output
ffplay -i input -vf pullup,fps=24000/1001
再生だけならPTSを修正するだけでもよい。
ffplay -i input -vf pullup,setpts=N/((24000/1001)*TB)