New MP4 Field Requests ©dir and ©wrt

I researched documentation online, that’s how the XML and the ITUNMOVI tag needs to be formatted. “directors” is a simple bit of text in a block of text whereas DIRECTOR is a completely different form of data.

The website did actually reformat the XML into an HTML block but I just selected it and used “Pre-formatted text” (the icon that looks like </>) to change it to a different style then deleted the HTML block above it. :slightly_smiling_face:

Once you’ve got that test ITUNMOVI into a test MP4, try it in Plex. Remember to “Refresh metadata” on the MP4 in Plex and that the library the MP4 is in is set to “Prefer local metadata”. You can confirm for sure by using “Edit” and you should see the director then set to Florian Heidenreich.

Also how did you get the community forum software to accept your formatted markup language?

@arb Yes Hooray that works for me too - and it even shows up in the Plex metadata editor - the difference was “director” vs “directors”

YES!!! :partying_face:

Right, good. Now’s the fun part:

  • Delete the ITUNMOVI tag.
  • Enter something into a DIRECTOR tag in Mp3Tag
  • Click the “Create ITUNMOVI” action: this will copy whatever you put into DIRECTOR into the “directors” part of a new XML in a new ITUNMOVI tag.
  • Refresh in Plex. :grimacing:

I’ve done the Plex test already and it works. It wasn’t working for me because I was using director instead of directors. So I want to test other fields too like producer and writer - I still don’t understand how you knew to use directors instead of director.

Literally just researched into how an ITUNMOVI XML should be structured :sweat_smile: It is a bit weird how it asks for “screen-writers” for a writer (or writers) but that’s just the way it is.

Cool! Do what you just did with DIRECTOR but now also with tags called PRODUCER, WRITER, ACTOR and COPYRIGHT. The action will look for those then do the same process.

If you don’t like those tags, you’re very welcome to change the expected values in the action. It’ll be far more convenient putting whatever tags you do use into your Tag Panel so you don’t have to use Extended Tags all the time.

I think I might understand your confusion a bit better: the tag you use must be called DIRECTOR as that’s what I made the action set to look for. If you prefer to use a tag called DIRECTORS, that’s very easy to change in the action. But you can’t changed the string value expected to a different name in the XML, if that makes sense.

@arb I’ve done the Plex test already and it works. It wasn’t working for me because I was using director instead of directors. So I want to test other fields too like producer and writer - I still don’t understand how you knew to use directors instead of director.

Just so you know Mp3tag passes the ARTIST field/(array?) to Plex just fine so I won’t need to use ACTOR. It’s a little weird in that ARTIST doesn’t show up in Plex’s metadata editor but the actors get displayed just fine, and modifications and deletions are honored. I guess I should check to see if your iTunMOVI action tries to overly ARTISTS with nulls in ACTOR.

Question: Does the iTunMOVI tag stay in the Plex record or is it deleted after it’s scraped? I guess I need to experiment a bit more but the fact that the iTunMOVI tag passes Director to Plex is HUGE, thanks for your help and patience. I also need to get your “Create iTunMOVI” script to work, I’ll start by going back over the instructions. It appears in the Actions menu but so far I haven’t gotten the handoff to succeed.

Actually I was referring to the field name “directors” in the XML. And that reminds me: If I have to use the the name “directors” for DIRECTOR in XML, how do I know what I’m supposed to call PRODUCER and COPYRIGHT in XML? (I don’t need ACTOR because Plex accepts ARTISTS and you already told me what to use for WRITER

All the other tags support delimited arrays (; or / or \\) so that’ll work for you too.

ARTIST is okay and it’s got good support in other software too but if you ever store music videos or documentaries/movies starring a band (e.g. Tenacious D in The Pick of Destiny), it might be worth considering using both ARTIST and ACTOR as separate values if you ever need a distinction: ITUNMOVI will pick up ACTOR as I said before, but I didn’t make it use ARTIST for that reason of distinction. That can be easily changed though if you go through the action in a text editor and use a “Replace” function on %actor% and $meta_sep(actor to change to %artist% and $meta_sep(artist.

Plex likely used ARTIST as an officially recognised substitute for any sort of an unofficial ACTOR tag. Still, Plex is rubbish for metadata, as we’ve both found out. :face_with_bags_under_eyes:

Buuuut thankfully it’s pretty good at refreshing your metadata without keeping relying on its own database so ITUNMOVI will stay as is until the next refresh and even if you use scraping functionality, as long as “Prefer local metadata” is set on your library.

Don’t worry about whether it’s director or directors or producer or producers in the XML: the action will do the hard work making the XML for you. :wink: You can always read over the ITUNMOVI tag once you’ve used the action to generate it to see how it’s laid out and what it uses.

You can check it from an iTunes movie to find out which keys are used. Anyway they are copy-warning studio cast directors codirectors producers screenwriters and also for cast you also have two keys first name for the actor and then actorof for the character.

So eg

<?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>copy-warning</key>
        <string>Do not eat my chicken!</string>
        <key>studio</key>
        <string>MP3Tag Studios</string>
        <key>cast</key>
        <array>
            <dict>
                <key>name</key>
                <string>CamdenTommy</string>
                <key>actorof</key>
                <string>Batman</string>
            </dict>
            <dict>
                <key>name</key>
                <string>Margot Robbie</string>
                <key>actorof</key>
                <string>Batwoman</string>
            </dict>
            <dict>
                <key>name</key>
                <string>arb</string>
                <key>actorof</key>
                <string>Himself</string>
            </dict>
        </array>
        <key>directors</key>
        <array>
            <dict>
                <key>name</key>
                <string>Florian Heidenreich</string>
            </dict>
        </array>
        <key>codirectors</key>
        <array>
            <dict>
                <key>name</key>
                <string>ohrenkino</string>
            </dict>
        </array>
        <key>producers</key>
        <array>
            <dict>
                <key>name</key>
                <string>MotleyG</string>
            </dict>
            <dict>
                <key>name</key>
                <string>Doug_Mackie</string>
            </dict>
        </array>
        <key>screenwriters</key>
        <array>
            <dict>
                <key>name</key>
                <string>Pepa Pig</string>
            </dict>
        </array>
    </dict>
</plist>

If all this work for Plex, I don't know, but they work on Apple TV.

Oh snap. I had no idea about actorof, clearly not enough research. :sob:

Sadly, I’ve checked and it’s not supported in Plex but I’m noting it down as it will be useful for other things. :drooling_face: Thank you!

copy-warning isn’t supported either, I’m not sure there’s any useful information could go into that aside from a stern warning that no-one will take notice of anyway. Thanks. :poultry_leg::man_running:

I am seeing unfortunately that with scraping from TMDB/IMDB enabled, custom cast/crew gets iffy about where it shows up in Plex apps. It consistently shows a director but again gets flaky about how many directors it shows when there’s multiple values.

codirectors I feel just get treated as an additional director after the “main” one. It’s also unsupported in Plex, how does it show up in Apple TV? As an extra section or just an addition to directors?

(Edit: actorof does show up… as an additional cast member. And is also incredibly picky about where it shows up depending on library type/app/scraping/overview/oh god why can’t this just be standardised.)

It seems to not be used anymore in newer Apple TV and in the TV app, I don't have iTunes anymore so not sure if it still show up there. This is how it is in Apple TV now (this is in Norwegian, but I am sure you can figure that out. Before instead of where it says actor, it showed the character name.



The copyright warning was only visible in iTunes. And directors and co-directors are all called the same, but directors comes before co-directors.

That’s honestly a shame that useful functionality - no matter how obscure or simple - has been removed. I’ve checked with the PC versions and there’s no support either. iTunes once the library’s restored is pretty much the same: codirectors is hidden in a sneaky little 🛈 icon in the Description column, copy-warning is tucked away in Get Info.

In hindsight, it’s seems to be a more complicated process for implementing actorof regarding what software could read it properly while fighting back Plex’s messy implementation in one straight-forward tagging workflow.

Thanks for pointing those extra fields out though, it’s something I’ll keep in mind if a use does ever appear for it again. :smiley:

Thank you for your explanation. I think we can leave it at that.

OK @arb, "Create iTunMOVI" works fine with Plex. Thanks for writing it and thanks for bringing it to my attention. I saw that "this is the answer but you're not going to like it" post on the Plex forum a long time ago and in fact I didn't like it, so I just kept moving - but now I see that it's the only way and with your Action it’s do-able - if not likeable. Following are some comments and a couple of questions but the bottom line is I have it up and running and it's pretty slick and it’s not what I had in mind, but I can certainly live with it.

I added the iTunMOVI tag to the Mp3tag tag panel, multiline. That's an easy way to check out the XML. So - if I change the XML in the iTunMOVI tag on the Mp3tag tag panel, will it update the mp4 metadata (so I don't have to delete the tag and re-create it)?

Does iTunMOVI process multiple comma-separated DIRECTORs in the Mp3tag DIRECTOR field?

Is the Plex field "Country" on the Plex Tags panel supported by iTunMOVI?

What happens if I have multiple lines selected in Mp3tag when I press the iTunMOVI "Action" button? does it perform the action on each row individually or does it just propagate the first one down through the rest of the list? Or does it do nothing or something else?

Somebody said they weren't sure whether the iTunMOVI takg updates are visible in the Plex metadata editor panels - Yes the "Create iTunMOVI" action does update the Plex metadata panels, at least it does for DIRECTOR (haven't tried other tags yet but I expect them to follow suit).

I've been using "ARTIST" instead of "ACTOR" or "CAST" and it's been working fine. Although now "DIRECTOR" gets added to the list of ARTISTs in addition to being displayed separately as a DIRECTOR. Maybe if I used ACTOR instead of ARTIST it wouldn't also include the Director? Not a big deal and it's a little late in the game for me to switch, but if anyone knows whether and how ARTIST, ACTOR and CAST differ from each other I'd appreciate knowing. I could experiment but I'd prefer input from one you experts, if you know the answer.

Thanks again for solving a problem that IMO you shouldn’t have had to solve.

I don’t know what an iTunes movie is - unless it’s a movie with a .mov file type and I don’t have any of those. But it doesn’t matter, I copied your XML and am going to hold on to it for future reference. Do any of the fields support CSV (comma separated values)? That would simplify the XML by getting rid of at least some of the arrays (I’m just curious). Thanks for your help!!

I can’t find an Mp3tag for “PRODUCER” so I guess that means that “Create ItunMOVI” won’t work - and if I really want it I have to code the XML myself ? Or am I looking in the wrong place?

See e.g. here:

Good to hear! I agree, it’s not a great situation but we can at least make the best of what we got. :man_shrugging:

Yes, you can update it from the Tag Panel but it’s a far easier workflow to store all your actual metadata into DIRECTOR tag etc. then update ITUNMOVI via the action. If you start manually editing ITUNMOVI with different data from your tags, it’ll get confusing and you’ll risk easy mistakes in the XML’s formatting.

tldr; No, try \\ ; or / using the action, but the action could support , if necessary.

iTunMOVI as an XML file and as an ITUNMOVI tag represents separate “directors” values as blocks like:

            <dict>
                <key>name</key>
                <string>CamdenTommy</string>
                <key>actorof</key>
                <string>Batman</string>
            </dict>

The DIRECTOR tag - or rather any tags in Mp3Tag - have separate values represented by \\, e.g.

CamdenTommy\\arb

It’s the correct way of doing so and you won’t see \\ in other software, like Windows File Explorer will recognise these separate values but represent this by ;

… but surprise surprise! Not all software supports it, so the other options are ; or / which aren’t really separated. They’re just visual representations and still have their own problems.

The action currently will look for \\ ; or / in your tags to separate values. It’ll then convert each value into the correct format for iTunMOVI. I'd strongly recommend changing comma-delimited tags to any of these as there’s more potential for names to include , although that is mostly musicians like “Tyler, the Creator” or “Earth, Wind and Fire”.

No, sadly not by ITUNMOVI or any local metadata. :face_with_diagonal_mouth: I’d say its still worthwhile storing it in a custom COUNTRY tag. Hint hint: you can then copy it into COMMENT and it’ll get picked up by your OS’s indexing system so you can search for your media by country that way :grimacing:

As in multiple files? It’ll create a separate ITUNMOVI tag for all those files so yes, performs it individually. :grinning_face:

Not sure myself, though I was removing/re-adding libraries while testing to brute force changes. :sneezing_face:

Strange. Is this in Mp3Tag or Plex?

ARTIST is an official tag that lots of software likes to use in different ways, like musicians, actors, author, director etc. That’s why it’s better relying on distinct tags especially when it gets put into a definitive “director” value using iTunMOVI XML.

ACTOR isn’t an official Mp3Tag tag nor an MP4 tag but it is an official MKV tag and can be used properly just by calling it that label in Mp3Tag. Again, the action uses this instead of ARTIST for the same reason of distinction as DIRECTOR.

CAST is a totally made-up tag that was just an example. :grimacing: You can label tags whatever you want for you own workflow but it’s better to try and use as many official ones where possible (it’s not always possible).

Just a video file purchased/downloaded from iTunes, either MP4 or M4V format. Will normally come with metadata including ITUNMOVI that we can use as a reference to how Apple does their metadata.

Just type PRODUCER as a custom labelled tag, set it up in Tag Panel, use the action and you’re sorted. :wink:

@ohrenkino‘s right to point out there’s other values that can be seen as a “producer” like COMPOSER, LYRICIST and PUBLISHER depending on software/your personal workflow. For Plex, it must be read from ITUNMOVI.

I believe it’s Plex. And I meant that if I add “arb” as a director in iTunMOVI, Plex correctly displays “arb” as the Director but also adds “arb” to the list of artists.