Creating a video from an image and audio file with FFmpeg can be achieved in many different ways, but let’s keep it super simple:
ffmpeg -loop -1 -y -i theimage.jpg -i sound.mp3 -shortest output.mp4
This command will do an endless loop of the image with the sound.mp3 applied and once this audio stream ends the file will be saved as output.mp4.
This command doesn’t mention resolution, codec, bitrate etc so it may be quite large compared to the static image and the audio file.
Using -tune stillimage
is suited for this task, as it is optimized for lower deblocking.
Adding in -c:v libx264 -preset fast -crf 25
before the output can help keep the file on the smaller side.
Read more on the commands at the official documentation.