Creating Instagram Videos from Images26 Feb 2017
Uploading Videos in Instagram is tricky, not every format is supported and the format needs to fulfil some video specifications. Here we get into the recipe for creating a proper video for instagram from a sequence of images.
In order to create a mp4 slideshow or video from a sequence of frames you can use ffmpeg, which is a common multimedia framework and command-line tool for decoding, encoding, converting and other functions usefull for working with various media formats. The command for creating a slideshow from a set of frames is
ffmpeg -i frame_%04d.png output.mp4
which creates a mp4 from images enumerated as (frame_0000, frame_0001, …), where
%4d specifies enumerations prepended with zeros. Enumerations without zeros are specified by
%d. This output video cannot be used for instagram, so we need to add further specifications to our command in order to be able to upload it on instagram. The resulting command is
ffmpeg -r 30 -i frame_%04d.png -c:v libx264 -c:a aac -ar 44100 -pix_fmt yuv420p output.mp4
In this command we specify the video codec with
-c:v libx246 the H.264 codec. The audio codec is denoted with
-c:a aac -ar 44100 which applies the AAC codec with 44100 Hz audio sampling frequency. The framerate can be specified with the
-r and is by default 25 fps. The
-pix_fmt flag specifies the pixel format where we need the
yuv420p format which is specifies a color sampling in YUV. A list of requirements can be found in the Instagram Video Requirements.