そしてx264のrawファイルをmp4boxでmuxしたときのfpsの微妙なズレについての仮説。

623 :名無しさん@編集中 :05/03/02 22:36:32 id:w441jfhV
チラシのウラ……

タイムコード中のおかしなfpsは24fps部分の終端補正

例えば、30fps1249フレームを24fps化する場合、
あるべきフレーム数は 1249x24/30= 999.2フレーム

実際には小数点以下切捨て 999フレームになるので、
0.2フレーム分の再生時間が足りなくなる

で、最終フレームの時間(fps)を補正して、
0,997,23.976
998,998,19.98
#23.976fps/1.2=19.98fps

小数点以下が切り捨て/切り上げのどちらになるかは多分…

Auto24Fps/IT/Decimate等…切捨て
SelecEvery/PullDown等…パラメータによる(VDMにかけて確認したほうが早い?)
Weave/Layer等 …切り上げ


範囲を結合してから24fps化しない( (trim + trim ).f24 にしない)のは
チャプター打ちの都合

範囲の先頭にチャプターを打つ事にすれば、
単純にソースのフレーム数から経過時間が計算できるんで
(終端補正は必要)

を参考にすると分かる通り、5*x framesじゃない30fps映像素材を逆テレシネして24fpsに間引くと、24fps部分の最終のフレームが1/23.976sec表示し終わっても再生時間には足りない(達しない)ことになる。…らしい(ぇ。そのため、最終frameだけfpsを調整するという終端補正という技。
で、MP4Boxは固定フレームレートしか扱えない(と思う)のでこの辺を勝手にに調整しようとして全体のfpsを少しづつ伸ばして23.975…(多分この後ろにも続く)なんていう中途半端なことになっているんじゃないかなと思った。
あくまでも仮説。