My camera does simple time-lapse but it makes the videos in a 20fps format. I just want to change it to 30fps and yes I want to make the video play faster as a result. I do not want to only change the frames per second, I actually want all the frames to play faster! So it seems like this would be extremely simple, yet I can't find any help on google. I just want a cheap way of changing the frame rate. Thanks

2 Answers 2


So you want an output video with the same frames in the same order, but with just the timing changed. No problem.

ffmpeg can't do it without transcoding, unfortunately. So you'll need a program that can muck around with the timing info in the container. mkvmerge can do it, and so can MP4Box.

I knew I'd seen an answer to this when I googled on it before: https://askubuntu.com/questions/370692/how-to-change-the-framerate-of-a-video-without-reencoding

From there: the guy eventually found the right MP4Box command line (since he was working with MP4.)

MP4Box -add test_track1.h264:fps=30 -new dest.mp4

(where test_track1.h264 is the raw h.264 stream he demuxed from his source.mp4)

If a Matroska container works for you, there's also the option of:

mkvmerge -o out.mkv --default-duration 0:30fps --fix-bitstream-timing-information 0 in.mp4


In after effects you simply drag the clip to the new composition button, change composition frame rate to 30, enable time remap on clip, and drag the end time remap keyframe to 2/3rds in. It is cheap if you have after effects downloaded already, which is common.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.