タイムラプス撮影動画の29.97fps化


OM-D M10Mark2のインターバル撮影機能を使い、いわゆるタイムラプス撮影をしてみました。

tkp_q5Mav0qJs.gif

OLYMPUSでは撮影した画像の他に15fps FHDのMotionJPEGの動画にしてくれるのですが、ちょっとカクカクしていてぎこちないのでフレームレートだけ上げて滑らかにしようと考えました。(上の画像は動画から生成した10fpsのGIFアニメーションです)

フレームレートだけをいじるため、再生時間は15fpsに比べて短くなります。

15fps->29.97fps

$ ffmpeg -i input.avi -r 30000/1001 -filter:v "setpts=0.5005*PTS" -vcodec mjpeg -q:v 1 output.avi

15fps->24fps

$ ffmpeg -i input.avi -r 24         -filter:v "setpts=0.625*PTS"  -vcodec mjpeg -q:v 1 output.avi

おまけ。OLYMPUSが出力したFHDのAVIからGIFアニメーションを作る。下記の例では開始時間15秒目で、そこから20秒のGIFアニメーションを10fpsで生成する。

$ ffmpeg -i input.avi -filter:v "crop=1440:1080:240:0,scale=320:240" -ss 15 -t 0:00:20 -r 10 output.gif