The problem is that your input contains album artwork, which ffmpeg
parses as video.
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16, 192 kb/s
Stream #0:1: Video: mjpeg, yuvj420p, 512x512, 90k tbr, 90k tbn, 90k tbc
It tries to convert the video, but doesn't find a valid output codec for the MPEG-4 format (M4A is just another name). This is because you compiled ffmpeg
without libx264
, which ffmpeg
needs in that case, as it doesn't have a native H.264 encoder.
Anyway, you need to prevent it from trying to convert the artwork/video. Add -vn
to the options:
ffmpeg -i Kalimba.mp3 -c:a aac -vn Kalimba.m4a
Some tips:
- FAAC is not supported by ffmpeg anymore. Use the built-in AAC encoder instead.
- Encoding to
.aac
works because the output format cannot contain video, soffmpeg
won't try to convert the video/artwork stream in the first place.