New MP4 Field Requests ©dir and ©wrt

Yes, but it is possible plex can read it. Almost all MP4 metadata tags have been dictated by Apple. You can try this add a tag called iTunMOVI in MP3Tag and add this

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>directors</key><dict><key>name</key><string>MP3Tag Director</string></dict></dict></plist>

Check if you get a director in plex if you import the MP4 file after that.

I’m in way over my head with regard to the “Tag Field Mappings - Mp3tag Documentation” table but this is Copilot’s take on it:

What the Tag Field Mappings table actually is
It is a mapping table for text‑based tagging formats only:
• ID3v2 (MP3)
• VorbisComment (FLAC, Ogg)
• APEv2 (Monkey’s Audio, WavPack)
That’s it.
It does not apply to:
• MP4 atoms
• M4V video metadata
• QuickTime metadata
• iTunes metadata
• Custom MP4 fields
• Any atom beginning with ©
This is the key misunderstanding.
The table is not a universal “here’s how Mp3tag maps all fields across all formats.”
It is a very specific “here’s how Mp3tag maps its internal field names to ID3/Vorbis/APEv2 frames.”
That’s why it looks like Greek — it’s describing a completely different tagging system than the one you’re using.

Then both you and Copilot are in the same boat. It is way over the “head” of copilot.

iTunMOVI isn’t in the pull-down list of tags in [Correction:] Mp3tag. Doesn’t that indicate that the tag isn’t supported?

No, it means it doesn’t want to create it, but it could very well be able to read it.

Crap, my bad - I meant in the pull-down list in Mp3tag

I see, yes MP3Tag support it, but you add is as a “user-defined” field. Go to “Extended Tags” and add it there.

I added the Extended Tag to an mp4 file, added “Florian Heidenreich” as the value of the DIRECTOR field (not CONDUCTOR) and refreshed the metadata in Plex. Nothing. I can change it to CONDUCTOR if you want. But if even if this works, I’m not going to want to add that Extended Tag to every mp4 file that needs a Director credit. If this is just trying to prove something that’s fine.

I changed it to CONDUCTOR and that doesn’t work either :frowning:

Did you do what I told you? You have to create a tag called ItunMOVI and in the contents add the text I provided above. Then try to import that file into Plex, and check if it adds a director field. You have to edit the XML text for Directors, Screenwriters, Cast etc. but first I want to see that it works in Plex.

If it works, Convert tag to tag should be able to create an XML tag from your director field.

Here’s Copilot’s analysis of the “Tag fields exclusive to MP4 Name in Mp3tag” section of the cited “Tag Field Mappings” table:

What that table really means
The section you found — “Tag fields exclusive to MP4” — is not a list of fields Mp3tag fully supports.
It is a list of:
Internal Mp3tag field names that Mp3tag recognizes if the corresponding MP4 atom already exists.
That’s the key.
This table tells Mp3tag:
• “If you see an MP4 atom named ©dir, display it as DIRECTOR.”
• “If you see an MP4 atom named ©wrt, display it as WRITER.”
• “If you see an MP4 atom named shwm, display it as SHOWMOVEMENT.”
• etc.
It does not mean:
• Mp3tag exposes these fields in the UI
• Mp3tag lets you create these atoms
• Mp3tag lets you edit these atoms
• Mp3tag maps any Mp3tag field to these atoms
• Mp3tag writes these atoms when saving
This is the subtle but crucial distinction.

If Copilot is correct, the analysis of the Tag Field Mappings table looks like a smoking gun to me. But as I said before, I’m in way over my head here so please do feel free to correct the record

It does, if you use the extended tags dialogue or create a corresponding column or object in the tag panel.
There is no automatism to add such UI elements in relation to the loaded file.
As soon as you used one of these options to make such a field visible,

For all the supported standard atoms there is no need to map anything. That is why you do not find an entry in the mapping options.
So

Mp3tag does write the supported atoms.

What your player makes of this information is a completely different thing.
It is a pity, really, that I never got the results of the tests as requested here:

Thanks for the clarification — and I appreciate the pointer to the Tag Field Mapping table.
Just to make sure I’m understanding the documentation correctly:
• The table shows how Mp3tag recognizes certain MP4 atoms (like ©dir and ©wrt) if they already exist in the file.
• And Mp3tag will preserve those atoms when saving, which is great.
What I’m trying to do, though, is create or edit these atoms for files that don’t already contain them. As far as I can tell, Mp3tag doesn’t currently expose DIRECTOR (©dir) or WRITER (©wrt) as fields in the Tag Panel or Extended Tags unless the atoms are already present.
So my enhancement request is specifically about write support — the ability to add these atoms to MP4 files that don’t already have them. That’s the part I’m hoping could be added.
If I’ve misunderstood how to create these fields from scratch in Mp3tag, I’d be glad to learn the correct method.

This is still not correct. As I already wrote: there is no automatism to add (or remove) items in the tag panel or file list. You have to add a field for that.
E.g. to get ©wrt you have to create field for COMPOSER in MP3tag.
Or it is the other way round: the contents of the MP3tag internal variable gets written to ©wrt if it is an MP4 file or to TCOM if ID3Vx tags are written or an item with identifier 30 if it is a matroska file.
To create a new field in a file, there are several ways:

  • Enter the data in a corresponding item in the tag panel or the file list.
  • Create a new field e.g. COMPOSER in the extended tags dialogue
  • Use an action of the type "Format value" for e.g. COMPOSER
  • Use Convert>Tag-Tag for e.g. COMPOSER

so, no new fields need to be introduced in MP3tag - as you can see from the documentation.

So that is your misunderstanding, `DIRECTOR` and `COMPOSER` also writes to `©dir` and `©wrt` when the file is MP4.

Thanks for the detailed explanation — I appreciate you taking the time to walk through the mapping logic.
Just to clarify my specific use case: I’m working with MP4/M4V video files, and I’m trying to create the ©dir and ©wrt atoms so Plex can ingest Director and Writer metadata.
I understand that Mp3tag can recognize these atoms if they already exist, and will preserve them. That part works as expected.
What I haven’t been able to do is create a new ©dir or ©wrt atom in an MP4 file using Mp3tag. Creating a COMPOSER field doesn’t generate a ©wrt atom for MP4 — at least not in my testing. Mp3tag writes COMPOSER to the appropriate ID3/Vorbis/APEv2 frames, but it doesn’t map COMPOSER → ©wrt for MP4.
So my enhancement request is specifically about write support for these atoms, not recognition. If there’s a way to create a new ©dir or ©wrt atom in Mp3tag that I’ve overlooked, I’d be glad to learn it.

But unfortunately, it doesn’t work

So here’s the low-down:

  • Sadly, it’s unlikely Plex is going to add further support for MP4 tags/atoms/whatever so fields like DIRECTOR ©dir aren’t going to work, no matter what changes are made to Mp3Tag or any other editing software.
  • That doesn’t mean you can’t use DIRECTOR in your workflow to get what you want working in Plex, though…
  • Check this out: Apple and Plex can read cast, directors, producers, screen-writers and copyright from a local file using an external XML file called ITUNMOVI like what @AreDigg has shown.
  • Here’s the best bit: instead of an external file, Apple and Plex can actually read it from inside an MP4 using a custom ITUNMOVI tag you can set with Mp3Tag.
  • If you have iTunes or Apple TV installed, you can copy-paste an example of a whole XML into an ITUNMOVI tag then import an MP4 to prove it works before attempting with Plex again.
  • I don’t use Plex so admittedly I can’t guarantee it’ll work but check things like you have the Local Media Assets agents enabled and doing The Plex Dance ™. I’m also uncertain if it’ll show up in Plex’s own metadata editor but that’s not too bad a problem.

Hopefully by now it’s working but obviously it’s a hassle trying to edit multiple fields in an XML for however many files. When the time comes and you’re ready, I made this bad boy:

Create iTunMOVI.mta (2.1 KB)

  • Refer to this to install the action into the \Mp3tag\data\actions folder.
  • In Mp3Tag, save what you want into ACTOR, DIRECTOR, PRODUCER, WRITER and COPYRIGHT tags into an MP4 (ACTOR is based on an MKV tag and WRITER is totally custom.)
  • With the MP4 selected, run that action and it’ll create ITUNMOVI using the values of those tags for you. Double-check with Extended Tags and maybe even set up a wee Column value or a Tag Panel field using %itunmovi% so it’s easier to check.
  • If you need to refresh an ITUNMOVI tag, delete it from your file and run the action again.
  • If you want to change what tags are used (something like CAST or WRITTEN_BY), we can help you set that up :grimacing: