Subtitle field on MP4 tags for audio files (M4A)


#1

Short story

Is it possible to configure MP3Tag to map the SUBTITLE field to the MP4 atom ---:com.apple.iTunes:SUBTITLE?

If so, please tell me how. If not, consider this a feature request.

Long story

I'm having trouble with MP3Tag's tag mapping for the field SUBTITLE to the MP4 atom desc.

I recently evaluated several UPnP servers (Asset UPnP, MinimServer, ReadyMedia). They can be configured to show subtitles, but none of them has shown the subtitle fields of my M4A files (FLAC and MP3 worked, though). I then found out that according to a iTunes Q&A, the desc atom is for video content only. I've read about a MP4 tag field ----:com.apple.iTunes:SUBTITLE on Hydrogenaudio and found out that is's used by some products (e.g. Picard, EZ CD AudioConverter, JAudiotagger, taglib-sharp).

I tried to override the tag mapping for my M4A files in Mp3Tag by setting a custom tag mapping of

  • Tag: MP4
  • Source: ---:com.apple.iTunes:SUBTITLE
  • Target: SUBTITLE

With this, the desc atom was no longer written (good), but the tag was not shown in UPnP servers either (bad).

I then tagged my M4A files with Picard. The subtitle was shown in the UPnP servers. Using a hex editor, I saw that the Picard-written structure is different from the MP3Tag-written structure. I suppose that I created a simple text tag field with MP3Tag, and that these iTunes tags are composed ones and have to be treated specially somehow.

My conclusion is that MP3Tag's default mapping is incompatible to the UPnP servers (at least, maybe also to other software) and that I didn't manage to change this default mapping according to my needs. Is this kind of custom mapping supported by Mp3Tag?

Christian


#4

Thanks for the detailed description and research.

There is currently now way of changing Mp3tag's internal mapping, so that SUBTITLE is written to an iTunes text atom instead of desc. This only works when using different field names.

I'm thinking about changing the mapping for the desc MP4 atom to DESCRIPTION with the next release. This way, the data entered previously via SUBTITLE is still accessible and compatibility with all the apps you've mentioned gets improved.


#5

I've changed this with Mp3tag v2.90c.


#6

Thank you very much for your instant support, Florian. I downloaded v2.90c beta and made a few tests. Everything works perfectly:

  • Values that were shown as SUBTITLE before are now shown as DESCRIPTION.
  • Values that are put into the SUBTITLE field are now stored in a field com.apple.iTunes:SUBTITLE
  • The server software is able to pick this up so that the subtitle is shown correctly.

Please don't forget to update the mapping documentation once the feature is production-ready.

Thanks a lot, and keep up the good work!


#7

Great — thanks for testing the change!

I've already updated the documentation that ships with the new version and will update the online version with the v2.91 release.