I use Zeranoe build of FFmpeg. It converts mp3 files into m4a files just fine, as far as the audio stream is concerned, but I can't figure out a way to keep the songs album cover jpeg, which ffmpeg for some reason recognizes as
Stream #0:1: Video: mjpeg, yuvj420p, 200x200 [SAR 120:120 DAR 1:1]
included into the output.m4a
file. When I use the following command line:
ffmpeg.exe -i 09.mp3 -map 0 -codec:a libvo_aacenc -ab 320k -ar 44100 -ac 2 -codec:v copy output.m4a
I get the no tag, codec not currently in the container
error. And yet, when I run ffprobe with a .m4a
file ctreated by iTunes, there it is:
Stream #0:1: Video: mjpeg, yuvj420p, 350x350 [SAR 72:72 DAR 1:1]
So, is there a way to copy the songs cover as well with ffmpeg conversion?
Best Answer
As far as I'm concerned, there's no easy way to tell FFmpeg to set the album artwork for an MP4 container, which you'd typically use for AAC audio (
.m4a
). You can however use AtomicParsley to add the artwork later, via command line.Here's how you can install AtomicParsley:
apt-get install atomicparsley
brew install atomicparsley
But first, we'll need to extract the artwork, e.g. as a JPEG file:
We can then use AtomicParsley to add the album artwork:
This will not overwrite the original file but create a temporary file instead, e.g.
output-temp-15274.m4a
. If you want the original to be overwritten, add the--overWrite
option to the command, e.g.:And voilà: