How ffmpeg maps metadata?

3

I have my music library on my machine in flac and ogg format. However, to be able to listen to the music in the car, I convert the flac/ogg files to mp3 using ffmpeg. There are a couple of issues that I don't understand how to fix:

  1. ffmpeg seems to automatically read the tags from ogg/flac files and convert them to mp3 tags. For a flac file all I need to do is ffmpeg -i input.flac output.mp3 and this is done. For an ogg file, I need an additional command line parameter: ffmpeg -i input.ogg -map_metadata 0:s:0 output.mp3. Now, the issue is that when I have multiple tags under same key, for example multiple ARTIST= tags ffmpeg merges them as a single TPE1 tag in the mp3 file (which is very useful) but it puts a single ; in between two values. For example, if the ogg/flac file has two artist tags as ARTIST=Artist One and ARTIST=Artist Two the mp3 file will have a TPE1 which reads as Artist One;Artist Two which is a bit wired. I was wondering how can I tell ffmpeg to use another delimiter to join two filed, for example ; (so that the resulting TPE1 tag in the above reads Artist One; Artist Two instead)?
  2. I have embedded the cover art images of the albums into the flac/ogg files. This is precisely done using --import-picture-from option of metaflac for flac files and setting COVERART tag equal to the output of base64 --wrap=0 cover_image for the ogg files. Now, in conversion to mp3 using ffmpeg as explained above everything works fine with flac and the cover art image is also automatically embedded in the output file but for ogg files, the resulting mp3 will not have the image. Am I doing something wrong?

kMaster

Posted 2015-12-02T13:32:41.003

Reputation: 141

No answers