.. _ffmpeg_cmds: ffmpeg Commands =============== Here is a collection of useful `ffmpeg `_ commands for converting image stacks to mp4s. The basic command should look like this: .. code:: shell ffmpeg -i frame_%5d.png -vcodec libx264 -pix_fmt yuv420p out.mp4 Where ``-i frame_%5d.png`` specifies the file pattern for the image stack. In this case the files have a 5 digit integer padded with zeros (i.e frame_00000.png, frame_00001.png, frame_00002.png, ...). The ``-vcodec libx264`` specifies the use of the H264 codec, and the ``-pix_fmt yuv420p`` specifies the pixel format. Finally, ``out.mp4`` specifies the output file name and mp4 container. Other common flags that can be used to modify the resulting video are: +-------------------+----------------------------------------------------------+ | Command | Description | +===================+==========================================================+ | -r 60 | set the frame rate, in this case to 60 frames per second | +-------------------+----------------------------------------------------------+ | -vf "transpose=1" | where the transpose parameter can be: | | | | | | * 0 = 90 Counter-clockwise and Vertical Flip (default) | | | * 1 = 90 Clockwise | | | * 2 = 90 Counter-clockwise | | | * 3 = 90 Clockwise and Vertical Flip | +-------------------+----------------------------------------------------------+ | -crf 25 | quality for constant quality mode, higher the number the | | | smaller lower quality video. | +-------------------+----------------------------------------------------------+ putting it all together: .. code:: shell ffmpeg -r 20 -i frame_%5d.png -vf "transpose=1" -vcodec libx264 -pix_fmt yuv420p -crf 20 out.mp4