I have a 329MB MP3 file and a 200K JPEG image, which I'd like to combine into an MP4 file which simply plays the MP3 with the image in the background.

The way I go about it today is by using FFMPEG with the following command:

ffmpeg -loop 1 -i "$image" -i "$audio" -c:a copy -c:v libx264 -shortest output.mp4

This, however, generates a 818MB MP4 file - Taking a long time to encode, network bandwidth to upload later on, etc.

What's a more efficient way of creating the file, so the output is also of a smaller size? Surely there must be a way to get a video file which doesn't need to inflate the overall size by that much?

1 Answer 1


The best I could find was adding the -r 1 parameter, to indicate a lower frame rate. This helped quite a bit, though the output file size is still larger than I'd have expected it to be.

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.