MP4 trouble

Love the look and feel of MP3TAG, but there is a problem that could make it unusable for me.

As soon as MP3TAG touches any of my MP4 files (created by Winamp), the tag is not recognised by my Pioneer (USB stick) car player. It's that simple really.

I did an experiment - just pressing "save" on a selected MP4 file, changing nothing. My player recognised all the tags before the save but afterwards it clearly thought that no valid tag information was present. Editing the tags within Winamp causes no such problem.

I will happily co-operate with any investigations you would like me to perform. Danke.

Does Optimize MP4 from the context menu change anything for you?

Sadly not. Optimize MP4 does not change anything (AFAIK) and the existing tag data displays correctly, but as soon as I press SAVE, without changing anything, the tag data does not display on my Pioneer.

Would it be useful if I were to email you a couple of small files of the same audio, one which works and the other (touched by MP3TAG) which does not?

I am having a similar problem with .m4a files and my PlayStation 3 and Sony Walkman NWZ-A726 (the brand new one). The mp4 tags written by Mp3Tag do not show up on either of these players.

I am also having a problem with MP4 files. The tags show the correct information when displayed in the Mp3tag software, but on my player, the artist is "Unknown", the album is "MP4 Album", and the tracks are "<track number> .m4a".

Also, what is this "Optimize MP4" of which you speak?

BUMP. Florian, any thoughts?

In case it helps, the same problem with mp3 files on my Samsung m250 was solved by setting Options>Tags,Mpeg,Write,ID3v2.3 ISO-8859-1, then selecting all files and clicking File > Save tag.

I'll try it, but I doubt that it will make any difference to my problem as MP4 doesn't have anything to do with ID3v2 tags – they are very much an MP3 thing and I have no problem with MP3 files; it's MP4, specifically M4A where there's trouble.

Yeah, mp4 files don't have ID3 tags but we could be suffering from a similar type of problem. I think in mp4 the tags can be stored in different ways and locations. Mp4box has several options that can control how an mp4 file is written.

Mp3tag probably needs some options on how to write mp4 files.

Could all of you have MP4 tags written at the beginning and at the end of the files? MP3tag writes the tags at the beginning of the file, but the other software you were/are using may have written them at the end of the file. MP3tag is iTunes compliant, so there should not be any issues with the iPod if only one set of tags were written at the beginning of the file.

Also, you could try using AtomicParsley with the -t option to check what is written in the atoms.

I hope this info is of some help.

Edit: Added link

I'll try to test that next time I get a chance.

PS- Sony players don't use the iTunes atoms at all, as far as I'm aware. They only use the standard native mp4 metadata.

Here are two runs of AtomicParsley -t, in the former of which the tags are visible (on my Pioneer player), on the latter they are not.

THIS FILE WORKS

Atom "----" [iTunSMPB] contains: 00000000 00000640 000000F4 000000000054B4CC 000
00000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Atom "©nam" contains: I Can't Explain
Atom "©wrt" contains: Pete Townshend
Atom "----" [gnid] contains: 3CD3N51R35456839U108556FFCEEE7E6AAA21CE57BDCB0A37D6
EP3
Atom "----" [gnxd] contains: GNXDWEcxAaE9hvAlJVCkotcytKfCln63WkeHfChAETys+Hv7xvU
C5kYCtUKp0kZ8fWCIrZ/9GjY7xyfUFdARgvEkeki7twW1gSVa83w+cXnKoqhAlQHusT3uDt5nujS+XbS
zEPMIMGA=
Atom "©ART" contains: The Who
Atom "aART" contains: The Who
Atom "©alb" contains: The Who The Ultimate Collection
Atom "©gen" contains: Classic Hard Rock
Atom "©day" contains: 1900
Atom "disk" contains: 1 of 2
Atom "----" [publisher] contains: Polydor
Atom "trkn" contains: 1
Atom "©too" contains: Winamp 5.531

THIS FILE HAS BEEN "DONE" BY MP3TAG, TAGS DO NOT WORK

Atom "trkn" contains: 1
Atom "disk" contains: 1 of 2
Atom "©gen" contains: Classic Hard Rock
Atom "©alb" contains: The Who The Ultimate Collection
Atom "©ART" contains: The Who
Atom "aART" contains: The Who
Atom "----" [gnid] contains: 3CD3N51R35456839U108556FFCEEE7E6AAA21CE57BDCB0A37D6
EP3
Atom "----" [gnxd] contains: GNXDWEcxAaE9hvAlJVCkotcytKfCln63WkeHfChAETys+Hv7xvU
C5kYCtUKp0kZ8fWCIrZ/9GjY7xyfUFdARgvEkeki7twW1gSVa83w+cXnKoqhAlQHusT3uDt5nujS+XbS
zEPMIMGA=
Atom "----" [iTunSMPB] contains: 00000000 00000640 000000F4 000000000054B4CC 000
00000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Atom "----" [publisher] contains: Polydor
Atom "©nam" contains: I Can't Explain
Atom "©too" contains: Winamp 5.531
Atom "©wrt" contains: Pete Townshend
Atom "©day" contains: 1900

____________________________________________________________

While it would appear that there has been a re-ordering of some of the tags, I'll leave interpretation of these results to you. Please ask if you would like any more tests.

Sorry for my ignorance, but what is Atomic Parsley? Is this another program that does what Mp3tag does? What are "atoms"? Is that another term for a parameter (i.e. Title, Artist, Album, etc. as used in MP3 files)? Did it solve your problem Pluto?

It is a standalone MP4 tagging program, but it also has other options to view how and where your files were tagged. Try the link.

@ pluto

Try this: tag a file using MP3tag then run AtomicParsley -T. Print out your results. Take that same file and tag it again in Winamp and run that one through AtomicParsley -T, as well. With my file I see results like this:

@ Beginning of File: Atom cART @ 23975 of size: 38, ends @ 24013

@ End of File: Atom cART @ 2885099 of size: 38, ends @ 2885137

If you see a big difference in numbers (like above) then most likely the reading problem is because of where the tag is located within the file.

I don't think that theory stands. Here are the two -T reports of the same files I used earlier. It looks to me as though the main data block is at the end in both cases. Interesting to note that MP3TAG seems to add an extra empty atom (4096 bytes) just before the main data block.

______________________________________________________________________
C:\>atomicparsley "_Made by Winamp.m4a" -T
Atom ftyp @ 0 of size: 24, ends @ 24
Atom moov @ 24 of size: 25135, ends @ 25159
     Atom mvhd @ 32 of size: 108, ends @ 140
     Atom iods @ 140 of size: 42, ends @ 182
     Atom trak @ 182 of size: 22635, ends @ 22817
         Atom tkhd @ 190 of size: 92, ends @ 282
         Atom mdia @ 282 of size: 22535, ends @ 22817
             Atom mdhd @ 290 of size: 32, ends @ 322
             Atom hdlr @ 322 of size: 33, ends @ 355
             Atom minf @ 355 of size: 22462, ends @ 22817
                 Atom smhd @ 363 of size: 16, ends @ 379
                 Atom dinf @ 379 of size: 36, ends @ 415
                     Atom dref @ 387 of size: 28, ends @ 415
                 Atom stbl @ 415 of size: 22402, ends @ 22817
                     Atom stsd @ 423 of size: 106, ends @ 529
                         Atom mp4a @ 439 of size: 90, ends @ 529
                             Atom esds @ 475 of size: 54, ends @ 529
                     Atom stts @ 529 of size: 24, ends @ 553
                     Atom stsz @ 553 of size: 21712, ends @ 22265
                     Atom stsc @ 22265 of size: 40, ends @ 22305
                     Atom stco @ 22305 of size: 512, ends @ 22817
     Atom udta @ 22817 of size: 1500, ends @ 24317
         Atom meta @ 22825 of size: 1018, ends @ 23843
             Atom hdlr @ 22837 of size: 33, ends @ 22870
             Atom ilst @ 22870 of size: 973, ends @ 23843
                 Atom ---- @ 22878 of size: 187, ends @ 23065
                     Atom mean @ 22886 of size: 28, ends @ 22914
                     Atom name @ 22914 of size: 20, ends @ 22934
                     Atom data @ 22934 of size: 131, ends @ 23065
                 Atom ©nam @ 23065 of size: 39, ends @ 23104
                     Atom data @ 23073 of size: 31, ends @ 23104
                 Atom ©wrt @ 23104 of size: 38, ends @ 23142
                     Atom data @ 23112 of size: 30, ends @ 23142
                 Atom ---- @ 23142 of size: 124, ends @ 23266
                     Atom mean @ 23150 of size: 30, ends @ 23180
                     Atom name @ 23180 of size: 16, ends @ 23196
                     Atom data @ 23196 of size: 70, ends @ 23266
                 Atom ---- @ 23266 of size: 210, ends @ 23476
                     Atom mean @ 23274 of size: 30, ends @ 23304
                     Atom name @ 23304 of size: 16, ends @ 23320
                     Atom data @ 23320 of size: 156, ends @ 23476
                 Atom ©ART @ 23476 of size: 31, ends @ 23507
                     Atom data @ 23484 of size: 23, ends @ 23507
                 Atom aART @ 23507 of size: 31, ends @ 23538
                     Atom data @ 23515 of size: 23, ends @ 23538
                 Atom ©alb @ 23538 of size: 55, ends @ 23593
                     Atom data @ 23546 of size: 47, ends @ 23593
                 Atom ©gen @ 23593 of size: 41, ends @ 23634
                     Atom data @ 23601 of size: 33, ends @ 23634
                 Atom ©day @ 23634 of size: 28, ends @ 23662
                     Atom data @ 23642 of size: 20, ends @ 23662
                 Atom disk @ 23662 of size: 30, ends @ 23692
                     Atom data @ 23670 of size: 22, ends @ 23692
                 Atom ---- @ 23692 of size: 83, ends @ 23775
                     Atom mean @ 23700 of size: 31, ends @ 23731
                     Atom name @ 23731 of size: 21, ends @ 23752
                     Atom data @ 23752 of size: 23, ends @ 23775
                 Atom trkn @ 23775 of size: 32, ends @ 23807
                     Atom data @ 23783 of size: 24, ends @ 23807
                 Atom ©too @ 23807 of size: 36, ends @ 23843
                     Atom data @ 23815 of size: 28, ends @ 23843
         Atom hnti @ 23843 of size: 474, ends @ 24317
             Atom rtp  @ 23851 of size: 466, ends @ 24317
     Atom trak @ 24317 of size: 429, ends @ 24746
         Atom tkhd @ 24325 of size: 92, ends @ 24417
         Atom mdia @ 24417 of size: 305, ends @ 24722
             Atom mdhd @ 24425 of size: 32, ends @ 24457
             Atom hdlr @ 24457 of size: 33, ends @ 24490
             Atom minf @ 24490 of size: 232, ends @ 24722
                 Atom nmhd @ 24498 of size: 12, ends @ 24510
                 Atom dinf @ 24510 of size: 36, ends @ 24546
                     Atom dref @ 24518 of size: 28, ends @ 24546
                 Atom stbl @ 24546 of size: 176, ends @ 24722
                     Atom stsd @ 24554 of size: 76, ends @ 24630
                         Atom mp4s @ 24570 of size: 60, ends @ 24630
                             Atom esds @ 24586 of size: 44, ends @ 24630
                     Atom stts @ 24630 of size: 24, ends @ 24654
                     Atom stsz @ 24654 of size: 20, ends @ 24674
                     Atom stsc @ 24674 of size: 28, ends @ 24702
                     Atom stco @ 24702 of size: 20, ends @ 24722
         Atom tref @ 24722 of size: 24, ends @ 24746
             Atom mpod @ 24730 of size: 16, ends @ 24746
     Atom trak @ 24746 of size: 413, ends @ 25159
         Atom tkhd @ 24754 of size: 92, ends @ 24846
         Atom mdia @ 24846 of size: 313, ends @ 25159
             Atom mdhd @ 24854 of size: 32, ends @ 24886
             Atom hdlr @ 24886 of size: 33, ends @ 24919
             Atom minf @ 24919 of size: 240, ends @ 25159
                 Atom nmhd @ 24927 of size: 12, ends @ 24939
                 Atom dinf @ 24939 of size: 36, ends @ 24975
                     Atom dref @ 24947 of size: 28, ends @ 24975
                 Atom stbl @ 24975 of size: 184, ends @ 25159
                     Atom stsd @ 24983 of size: 84, ends @ 25067
                         Atom mp4s @ 24999 of size: 68, ends @ 25067
                             Atom esds @ 25015 of size: 52, ends @ 25067
                     Atom stts @ 25067 of size: 24, ends @ 25091
                     Atom stsz @ 25091 of size: 20, ends @ 25111
                     Atom stsc @ 25111 of size: 28, ends @ 25139
                     Atom stco @ 25139 of size: 20, ends @ 25159
Atom mdat @ 25159 of size: 1007411, ends @ 1032570
------------------------------------------------------
Total size: 1032570 bytes; 99 atoms total. AtomicParsley version: 0.9.0 (utf16)
Media data: 1007411 bytes; 25159 bytes all other atoms (2.437% atom overhead).
Total free atom space: 0 bytes; 0.000% waste.
______________________________________________________________________
C:\>atomicparsley "_No visible tags on Pioneer.m4a" -T
Atom ftyp @ 0 of size: 24, ends @ 24
Atom moov @ 24 of size: 25131, ends @ 25155
     Atom mvhd @ 32 of size: 108, ends @ 140
     Atom iods @ 140 of size: 42, ends @ 182
     Atom trak @ 182 of size: 22635, ends @ 22817
         Atom tkhd @ 190 of size: 92, ends @ 282
         Atom mdia @ 282 of size: 22535, ends @ 22817
             Atom mdhd @ 290 of size: 32, ends @ 322
             Atom hdlr @ 322 of size: 33, ends @ 355
             Atom minf @ 355 of size: 22462, ends @ 22817
                 Atom smhd @ 363 of size: 16, ends @ 379
                 Atom dinf @ 379 of size: 36, ends @ 415
                     Atom dref @ 387 of size: 28, ends @ 415
                 Atom stbl @ 415 of size: 22402, ends @ 22817
                     Atom stsd @ 423 of size: 106, ends @ 529
                         Atom mp4a @ 439 of size: 90, ends @ 529
                             Atom esds @ 475 of size: 54, ends @ 529
                     Atom stts @ 529 of size: 24, ends @ 553
                     Atom stsz @ 553 of size: 21712, ends @ 22265
                     Atom stsc @ 22265 of size: 40, ends @ 22305
                     Atom stco @ 22305 of size: 512, ends @ 22817
     Atom trak @ 22817 of size: 429, ends @ 23246
         Atom tkhd @ 22825 of size: 92, ends @ 22917
         Atom mdia @ 22917 of size: 305, ends @ 23222
             Atom mdhd @ 22925 of size: 32, ends @ 22957
             Atom hdlr @ 22957 of size: 33, ends @ 22990
             Atom minf @ 22990 of size: 232, ends @ 23222
                 Atom nmhd @ 22998 of size: 12, ends @ 23010
                 Atom dinf @ 23010 of size: 36, ends @ 23046
                     Atom dref @ 23018 of size: 28, ends @ 23046
                 Atom stbl @ 23046 of size: 176, ends @ 23222
                     Atom stsd @ 23054 of size: 76, ends @ 23130
                         Atom mp4s @ 23070 of size: 60, ends @ 23130
                             Atom esds @ 23086 of size: 44, ends @ 23130
                     Atom stts @ 23130 of size: 24, ends @ 23154
                     Atom stsz @ 23154 of size: 20, ends @ 23174
                     Atom stsc @ 23174 of size: 28, ends @ 23202
                     Atom stco @ 23202 of size: 20, ends @ 23222
         Atom tref @ 23222 of size: 24, ends @ 23246
             Atom mpod @ 23230 of size: 16, ends @ 23246
     Atom trak @ 23246 of size: 413, ends @ 23659
         Atom tkhd @ 23254 of size: 92, ends @ 23346
         Atom mdia @ 23346 of size: 313, ends @ 23659
             Atom mdhd @ 23354 of size: 32, ends @ 23386
             Atom hdlr @ 23386 of size: 33, ends @ 23419
             Atom minf @ 23419 of size: 240, ends @ 23659
                 Atom nmhd @ 23427 of size: 12, ends @ 23439
                 Atom dinf @ 23439 of size: 36, ends @ 23475
                     Atom dref @ 23447 of size: 28, ends @ 23475
                 Atom stbl @ 23475 of size: 184, ends @ 23659
                     Atom stsd @ 23483 of size: 84, ends @ 23567
                         Atom mp4s @ 23499 of size: 68, ends @ 23567
                             Atom esds @ 23515 of size: 52, ends @ 23567
                     Atom stts @ 23567 of size: 24, ends @ 23591
                     Atom stsz @ 23591 of size: 20, ends @ 23611
                     Atom stsc @ 23611 of size: 28, ends @ 23639
                     Atom stco @ 23639 of size: 20, ends @ 23659
     Atom udta @ 23659 of size: 1496, ends @ 25155
         Atom hnti @ 23667 of size: 474, ends @ 24141
             Atom rtp  @ 23675 of size: 466, ends @ 24141
         Atom meta @ 24141 of size: 1014, ends @ 25155
             Atom hdlr @ 24153 of size: 34, ends @ 24187
             Atom ilst @ 24187 of size: 968, ends @ 25155
                 Atom trkn @ 24195 of size: 32, ends @ 24227
                     Atom data @ 24203 of size: 24, ends @ 24227
                 Atom disk @ 24227 of size: 32, ends @ 24259
                     Atom data @ 24235 of size: 24, ends @ 24259
                 Atom ©gen @ 24259 of size: 41, ends @ 24300
                     Atom data @ 24267 of size: 33, ends @ 24300
                 Atom ©alb @ 24300 of size: 55, ends @ 24355
                     Atom data @ 24308 of size: 47, ends @ 24355
                 Atom ©ART @ 24355 of size: 31, ends @ 24386
                     Atom data @ 24363 of size: 23, ends @ 24386
                 Atom aART @ 24386 of size: 31, ends @ 24417
                     Atom data @ 24394 of size: 23, ends @ 24417
                 Atom ---- @ 24417 of size: 122, ends @ 24539
                     Atom mean @ 24425 of size: 28, ends @ 24453
                     Atom name @ 24453 of size: 16, ends @ 24469
                     Atom data @ 24469 of size: 70, ends @ 24539
                 Atom ---- @ 24539 of size: 208, ends @ 24747
                     Atom mean @ 24547 of size: 28, ends @ 24575
                     Atom name @ 24575 of size: 16, ends @ 24591
                     Atom data @ 24591 of size: 156, ends @ 24747
                 Atom ---- @ 24747 of size: 187, ends @ 24934
                     Atom mean @ 24755 of size: 28, ends @ 24783
                     Atom name @ 24783 of size: 20, ends @ 24803
                     Atom data @ 24803 of size: 131, ends @ 24934
                 Atom ---- @ 24934 of size: 80, ends @ 25014
                     Atom mean @ 24942 of size: 28, ends @ 24970
                     Atom name @ 24970 of size: 21, ends @ 24991
                     Atom data @ 24991 of size: 23, ends @ 25014
                 Atom ©nam @ 25014 of size: 39, ends @ 25053
                     Atom data @ 25022 of size: 31, ends @ 25053
                 Atom ©too @ 25053 of size: 36, ends @ 25089
                     Atom data @ 25061 of size: 28, ends @ 25089
                 Atom ©wrt @ 25089 of size: 38, ends @ 25127
                     Atom data @ 25097 of size: 30, ends @ 25127
                 Atom ©day @ 25127 of size: 28, ends @ 25155
                     Atom data @ 25135 of size: 20, ends @ 25155
Atom free @ 25155 of size: 4096, ends @ 29251
Atom mdat @ 29251 of size: 1007411, ends @ 1036662
------------------------------------------------------
Total size: 1036662 bytes; 100 atoms total. AtomicParsley version: 0.9.0 (utf16)
Media data: 1007411 bytes; 29251 bytes all other atoms (2.822% atom overhead).
Total free atom space: 4096 bytes; 0.395% waste. Padding available: 4096 bytes.
------------------------------------------------------
______________________________________________________________________

There appear to be far larger structural changes than I would have expected for a mere 'do nothing' save. It's all fairly consistent until we get to approx 22817 into the file; then it all gets a bit wild.

Moderation: Added codeboxes to reduce size.

The structural difference that you see is probably just the order in which each program wrote to the atoms, so I don't believe that this is an issue. Both tags seem to be written at the beginning of the file, so I don't suspect now that that is the issue. So, maybe Florian upon reviewing your posts, will have some answers about this. I use MP3tag with foobar2000 and an 80G iPod Classic, as well as with a 4th Gen iPod and I have never encountered a single problem. At this point, I am at a loss on what else to do. I am sorry that I can't be of more help to you.

One last thing, does your Pioneer equipment book state in it what type of MP4 tags that it uses? Does it mention "iTunes Compliant" or any other such wording? For instance, my car MP3 player states that it can only read ID3v1 & ID3v2.3 ISO-8859-1 type tags, so I am restricted from using UTF and ID3v2.4 tagging.

My files work on my iPod fine too so that's really not an issue.

I've downloaded the official Sony Walkman CD ripper and the tags work fine in it's .m4a files. But all the ones that I've ripped from Easy CD-DA Extractor won't work with the Sony players.

My point is that MP4 or M4A file tags written with MP3tag are iTunes compliant and will work with most players that follow Apple's lead. Some players read certain fields from different areas of the tags. foobar2000 for example, writes Album Artist in a different area than Apple. It doesn't write the "performersortorder" the same as Apple does. Performersortorder is written to "soar", but foobar2000 writes it to ""----" [PERFORMERSORTORDER]". The thing that is confusing to me is that looking at pluto's readout from AtomicParsley is that it looks like in most cases that the tags in both files are written to the same atoms. At this point it is beyond my scope of what I know about MP4 container tags (which isn't all that much), just the basic stuff.