This should be pretty trivial, but I can't find a way to get it to work.
I want FFmpeg to take one JPEG image and an audio file as input and generate a video file of the same duration as the audio file (by stretching the still image for the whole duration).
I don't care very much about what video codec is used for output, but it is vital that I can use "copy" as the audio codec (i.e. copy the audio stream without transcoding it).
What is the right command line that would do that?
I tried:
ffmpeg -i image8.jpg -i sound11.amr -acodec copy test.avi
and tried a lot of combinations with and without -s 640x360
, -loop_input
, -shortest
, -t xxx
, -r 0.1
(artificially low frame rate in the hope that the video would be longer) and -f image2
Either I get errors or I get a video file of the duration of one frame.
I've googled around and found a dozen of proposed solutions (supposedly to this very same question) none of which works.
Can anybody suggest a working command and explain the rationale behind it?
ffmpeg -y -i image.png -i audio.mp3 -c:a copy result.avi