lordmulder / LameXP

Audio Encoder Front-End
http://lordmulder.github.io/LameXP
Other
186 stars 18 forks source link

Missing Meta Data #28

Closed GTrue closed 8 years ago

GTrue commented 8 years ago

After doing a test on a few files (MP3 to low bitrate MP3), I noticed missing meta data/ID3 tag info in the converted file.

The original had data in fields Album artists, Copyright, Composers & Part of set. This data was not passed to the new file.

I suspect that this is a limitation of LAME.

Everything else worked fine.

lordmulder commented 8 years ago

Please note that, in order to "retain" meta-data, the following steps are required:

  1. Extract existing meta data from original input file
  2. Store meta-data internally
  3. Re-embed the meta-data into the created output file

This has to work with the 17 different decoders and the 12 different encoders supported by LameXP. So, in total, we have to support 204 different combinations! Needles to mention that each file format (MP3, AAC, etc) uses it's own separate way to store meta-data. And that the encoders differ largely in what meta-tags they support, and how the calling program (LameXP) has to pass these tags to the encoder.

In practice this means that LameXP has to maintain its own data-structure to internally store a file's meta-info. This data-structure is filled with info from the "original" file - as far as possible - and it will be forwarded the encoder - as far as possible. It should be clear that we need to design our internal data-structure carefully, so that it matches the meta-info that is provided from all supported input formats (or at least the vast majority of them) and that it matches the meta-info that can be embedded by all supported encoders (or at least the vast majority). Consequently, it should also be clear that this means that not all meta information that may be available in a specific file format XYZ can be retained.

To make a long story short, at this time, LameXP uses the following meta tags: