5

i use this command to merge many mp3 files in a directory:

ffmpeg -f concat -safe 0 -i <(for f in ./*.mp3; do echo "file '$PWD/$f'"; done) -c copy ./output.mp3

and now i want to convert output.mp3 to mp4 format. i want that my TV receiver read that mp4. what can i do?

1
  • my TV receiver can read mp4 files that i downloaded from youtube and mp4 torrent files
    – Alien_xxx
    Commented Jul 8, 2021 at 14:10

2 Answers 2

11

Using an image

ffmpeg -loop 1 -i input.jpg -i input.mp3 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:-1:-1:color=black,setsar=1,format=yuv420p" -shortest -fflags +shortest output.mp4

This command uses the scale + pad filters to make image fit into 1920x1080, setsar filter to set a normal Sample Aspect Ratio, then the format filter sets the chroma subsampling to YUV 4:2:0 for playback compatibility.

See Resizing videos with ffmpeg to fit into specific size for more info and examples.

Generating a color background

If you want a plain color background use the color filter:

ffmpeg -f lavfi -i color=c=blue:s=1280x720 -i input.mp3 -shortest -fflags +shortest output.mp4

Adding text

You can add text with the drawtext filter:

ffmpeg -f lavfi -i color=c=blue:s=1280x720 -i input.mp3 -vf "drawtext=fontfile=/path/to/font.ttf:text='Your Text':fontcolor=white:fontsize=24:box=1:[email protected]:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2" -shortest -fflags +shortest output.mp4

See Text on video using ffmpeg for many more examples.

Visualization (waveforms, etc)

See How do I turn audio into video (that is, show the waveforms in a video)?

2
  • Is there a way to use a small pre-encoded video instead of an image and loop it for the duration of MP3 file?
    – Paul
    Commented Apr 21, 2022 at 11:48
  • Very good overview! At "Adding text": how can I make linebreaks at 'Your text'?
    – cis
    Commented Jul 9 at 15:14
5

Make a black image in some image editor, save it as image.jpg and use this one;

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

(see ffmpeg wiki)

1
  • it doesn't work.receiver after a long time said "format was not supported"
    – Alien_xxx
    Commented Jul 10, 2021 at 12:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .