MP4-Felder (Atom/Box)

Ich habe mal geguckt, welche QuickTime/MP4-Metadaten-Atoms/-Boxes andere Programme laut ihrer Doku unterstützen und sie mit Mp3tag verglichen. Möglicherweise macht es Sinn, das eine oder andere auf eine Variable und damit ggf. auch auf ein ID3-Feld zu mappen sowie ggf. die Werte aus seltener verwendeten Atoms in semantisch äquivalente zu kopieren.

FFmpeg

Für FFmpeg habe ich keine offizielle Doku gefunden, aber das Multimedia.cx-Wiki wird öfter erwähnt. Sie scheint nicht ganz aktuell und vielleicht auch nicht ganz korrekt zu sein, aber besser als gar nichts.

  • Ich bin mir nicht sicher, ob die korrekte Schreibung des Feldes für das ARTIST-Atom klein ©art oder groß ©ART ist.
  • Mp3tag matcht COPYRIGHT auf TCOP in ID3v2 und cprt in MP4, aber FFmpeg matcht copyright auf ©cpy.
  • ©too (Tool) wird für Mp3tag nicht dokumentiert, FFmpeg speichert darin unabänderbar die libavformat-Version. Es könnte äquivalent zu ENCODEDBY (ID3: TENC) oder ENCODERSETTINGS (TSSE) sein.
  • FFmpeg unterstützt offenbar nur ©gen und nicht gnre für GENRE.
  • PODCASTDESC mappt auf TDES (ID3) und ldes (MP4), aber FFmpeg kennt nur letzteres als synopsis.
  • YEAR steht für TYER bzw. TDRC (v2.3 vs. v2.4) und ©day, während FFmpeg date auf TDRC abbildet, aber year auf ©day und TDRL, was Mp3tag als RELEASETIME bezeichnet.
1 Like

FFmpeg

Field in Mp3tag ID3v2.3/4 MP4 FFmpeg AVI FourCC
TVEPISODEID tven episode_id
TVEPISODE tves (episode_sort)
TVSEASON tvsn (season_number)
DISCNUMBER TPOS disk disc
TRACK TRCK trkn track IPRT
CONTENTGROUP ©grp grouping
CONTENTGROUP TIT1
TITLE TIT2 ©nam title INAM
TITLESORT TSOT sonm title-sort, (sort_name)
TVSHOW tvsh show
ALBUM TALB ©alb album IPRD
ALBUMSORT TSOA soal album-sort, (sort_album)
ARTIST TPE1 artist IART
ARTIST ©art (©ART) author
ARTISTSORT TSOP soar artist-sort, (sort_artist)
ALBUMARTIST TPE2 aART album_artist
CONDUCTOR TPE3 ©con performer
COMPOSER TCOM ©wrt composer
PUBLISHER TPUB publisher
TVNETWORK tvnn network
COPYRIGHT cprt
COPYRIGHT TCOP copyright
©cpy copyright ICOP
ENCODEDBY TENC encoded_by ITCH
©too libavformat version
ENCODERSETTINGS TSSE encoder ISFT
COMPILATION TCMP cpil compilation
ITUNESHDVIDEO hdvd (hd_video)
ITUNESMEDIATYPE stik (media_type)
GENRE TCON ©gen genre IGNR
GENRE gnre
LANGUAGE TLAN language ILNG
PODCASTDESC TDES
PODCASTDESC ldes synopsis
DESCRIPTION desc description
COMMENT COMM ©cmt comment ICMT
UNSYNCEDLYRICS USLT ©lyr lyrics
YEAR TYER / TDRC date(2.4) ICRD
YEAR ©day year
RELEASETIME TDRL date
ENCODINGTIME — / TDEN creation_time

PS: FFmpeg schreibt manche Boxen nur in bestimmten Modi (MP4 vs. MOV vs. 3GP) und verwendet beim Lesen zum Teil andere Variablennamen als beim Schreiben, v.a. mit Unterstrich für Sortierfelder, oder unterscheidet sie nur beim Schreiben und nicht beim Lesen (z.B. author vs. artist):

FFmpeg (lesen) MP4-Box
account_id apID
account_type akID (integer)
album_artist aART
album ©alb
artist ©ART, ©aut, ©art
category catg
chapter ©chp
comment ©cmt, ©inf
compilation cpil (integer)
composer ©com, ©wrt
copyright cprt, ©cpy
date ©day
description desc
director ©dir
disc disk (integer[/integer])
disclaimer ©dis
edit_date ©ed1
encoder ©enc, ©swr, ©too
episode_id tven
episode_sort tves (integer)
episode_uid egid (integer)
firmware FIRM
gapless_playback pgap (integer)
genre gnre (integer|string), ©gen (string)
grouping ©grp
hd_video hdvd (integer)
host_computer ©hst
keywords keyw
location ©xyz, loci
lyrics ©lyr
make manu, ©mak
media_type stik (integer)
model modl, ©mod
network tvnn
original_artist ©ope
original_format ©fmt
original_source ©src
performers ©prf
playback_requirements ©req
podcast pcst (integer)
producer ©prd, ©PRD
purchase_date purd
rating rtng (integer)
season_number tvsn (integer)
show tvsh
sort_album soal
sort_album_artist soaa
sort_artist soar
sort_composer soco
sort_name sonm
sort_show sosn
subtitle ©st3
synopsis ldes
title ©nam titl
track trkn (integer[/integer]), ©trk (integer)
URL ©url
warning ©wrn

ExifTool

Die Doku für ExifTool ist äußerst umfassend.

ItemList

  • PODCASTID (Episode Global Unique ID) wird in der Mp3tag-Doku klein egid, bei ExifTool aber groß egID geschrieben.
  • Daneben kennt ExifTool weitere MP4-IDs:
    • atID (Album Title ID),
    • plID (Playlist ID),
    • prID (Product ID),
    • akID (Apple Store Account Type) und
    • sfID (Apple Store Country).
  • Für CONTENTGROUP gibt es neben ©grp auch das Atom grup.
  • Für TITLE gibt es neben ©nam (Name) auch das 3GP-Atom titl.
  • Für ALBUM gibt es neben ©alb auch das 3GP-Atom albm.
  • Für COPYRIGHT (TCOP) gibt es neben ©cpy auch das 3GP-Atom cprt.
  • Für ARTIST gibt es neben ©art auch die Atoms ©aut (QT) und auth (3GP) für Author.
  • Für COMPOSER gibt es neben ©wrt(Writer) auch das Atom ©com.
  • Die Atoms perf (Performer, 3GP) und ©nrt (Narrator) scheinen Mp3tag unbekannt zu sein.
  • Für PUBLISHER (ID3: TPUB) gibt es das Atom ©pub (Publisher), das Mp3tag nicht zu kennen scheint.
  • Das boolesche Apple-Atom itnu identifiziert(e) offenbar akademischen Content von iTunes U.
  • Für GENRE kennt ExifTool neben ©gen und gnre (3GP) auch geID (Genre ID).
  • Für DESCRIPTION kennt ExifTool neben desc auch ©des (QT) und dscp (3GP) als Description.
  • Für YEAR oder RELEASETIME kommen neben ©day auch yrrc (Year, 3GP) und rldt (Release Date) infrage.

PS: ©swr, ©mak, ©mod, ©xyz, ©key sind weitere spezifische Atoms für QT/MOV.
PPS: Ich glaube, ich habe immer noch keine richtige Ahnung von MP4-Atoms/Boxes.

MP4RA-Tabellen

$20 denotes U+0020, the Space character.

Type: ISO family

Code Description Specification
ID32 ID3 version 2 container id3v2
UITS Unique Identifier Technology Solution Universal Music Group
ainf Asset information to identify, license and play DECE
assp alternative startup sequence properties ISO
avcn AVC NAL Unit Storage Box DECE
bidx Box Index ISO-Partial
bloc Base location and purchase location for license acquisition DECE
bpcc Bits per component JPEG2000
buff Buffering information NALu Video
bxml binary XML container ISO
ccid OMA DRM Content ID OMA DRM 2.1
cdef type and ordering of the components within the codestream JPEG2000
cinf complete track information ISO
clip reserved ISO
cmap mapping between a palette and codestream components JPEG2000
co64 64-bit chunk offset ISO
coin Content Information Box DECE
colr specifies the colourspace of the image JPEG2000
crgn reserved ISO
crhd reserved for ClockReferenceStream header MP4v1
csgp compact sample to group ISO
cslg composition to decode timeline mapping ISO
cstb corrected wall clock start time ONVIF
ctab reserved ISO
ctts (composition) time to sample ISO
cvru OMA DRM Cover URI OMA DRM 2.1
dihd Data Integrity Hash ISO-Partial
dinf data information box, container ISO
dint Data Integrity ISO-Partial
dref data reference box, declares source(s) of media data in track ISO
dsgd DVB Sample Group Description Box DVB
dstg DVB Sample to Group Box DVB
edts edit list container ISO
elst an edit list ISO
emsg event message DASH
etyp extended type and type combination ISO
evti Event information ATSC 3.0
fdel File delivery information (item info extension) ISO
feci FEC Informatiom ISO
fecr FEC Reservoir ISO
fidx Box File Index ISO-Partial
fiin FD Item Information ISO
fire File Reservoir ISO
fpar File Partition ISO
free free space ISO
frma original format box ISO
frpa Front Part ISO-Partial
ftyp file type and compatibility ISO
gitn Group ID to name ISO
grpi OMA DRM Group ID OMA DRM 2.0
grpl Groups List box HEIF
hdlr handler, declares the media (handler) type ISO
hmhd hint media header, overall information (hint track only) ISO
hpix Hipix Rich Picture (user-data or meta-data) Hipix
icnu OMA DRM Icon URI OMA DRM 2.0
idat Item data ISO
ihdr Image Header JPEG2000
iinf item information ISO
iloc item location ISO
imap reserved ISO
imda Identified media data ISO
imif IPMP Information box ISO
infe Item information entry ISO
infu OMA DRM Info URL OMA DRM 2.0
iods Object Descriptor container box MP4v1
ipco ItemPropertyContainerBox HEIF
iphd reserved for IPMP Stream header MP4v1
ipma ItemPropertyAssociation HEIF
ipmc IPMP Control Box ISO
ipro item protection ISO
iprp Item Properties Box HEIF
iref Item reference ISO
j2kH JPEG 2000 header item property J2KHEIF
jP$20$20 JPEG 2000 Signature JPEG2000
jp2c JPEG 2000 contiguous codestream JPEG2000
jp2h Header JPEG2000
jp2i intellectual property information JPEG2000
kmat reserved ISO
leva Leval assignment ISO
load reserved ISO
loop Looping behavior WhatsApp
lrcu OMA DRM Lyrics URI OMA DRM 2.1
m7hd reserved for MPEG7Stream header MP4v1
matt reserved ISO
md5i MD5IntegrityBox HEIF
mdat media data container ISO
mdhd media header, overall information about the media ISO
mdia container for the media information in a track ISO
mdri Mutable DRM information OMA DRM 2.0
meco additional metadata container ISO
mehd movie extends header box ISO
mere metabox relation ISO
meta Metadata container ISO
mfhd movie fragment header ISO
mfra Movie fragment random access ISO
mfro Movie fragment random access offset ISO
minf media information container ISO
mjhd reserved for MPEG-J Stream header MP4v1
moof movie fragment ISO
moov container for all the meta-data ISO
mstv MVC Sub-track view box NALu Video
mvcg Multiview group NALu Video
mvci Multiview Information NALu Video
mvdr MVDDepthResolutionBox NALu Video
mvex movie extends box ISO
mvhd movie header, overall declarations ISO
mvra Multiview Relation Attribute NALu Video
nmhd Null media header, overall information (some tracks only) ISO
ochd reserved for ObjectContentInfoStream header MP4v1
odaf OMA DRM Access Unit Format OMA DRM 2.0
odda OMA DRM Content Object OMA DRM 2.0
odhd reserved for ObjectDescriptorStream header MP4v1
odhe OMA DRM Discrete Media Headers OMA DRM 2.0
odrb OMA DRM Rights Object OMA DRM 2.0
odrm OMA DRM Container OMA DRM 2.0
odtt OMA DRM Transaction Tracking OMA DRM 2.0
ohdr OMA DRM Common headers OMA DRM 2.0
padb sample padding bits ISO
paen Partition Entry ISO
pclr palette which maps a single component in index space to a multiple-component image JPEG2000
pdat Partial Data ISO-Partial
pdin Progressive download information ISO
pfhd Partial File Header ISO-Partial
pfil Partial File ISO-Partial
pitm primary item reference ISO
ploc Partial Segment Location ISO-Partial
pnot reserved ISO
prft Producer reference time ISO
pseg Partial Segment ISO-Partial
pshd Partial Segment Header ISO-Partial
pssh Protection system specific header ISO Common Encryption
ptle Partial Top Level Entry ISO-Partial
res$20 grid resolution JPEG2000
resc grid resolution at which the image was captured JPEG2000
resd default grid resolution at which the image should be displayed JPEG2000
rinf restricted scheme information box ISO
saio Sample auxiliary information offsets ISO
saiz Sample auxiliary information sizes ISO
sbgp Sample to Group box ISO
schi scheme information box ISO
schm scheme type box ISO
sdep Sample dependency NALu Video
sdhd reserved for SceneDescriptionStream header MP4v1
sdtp Independent and Disposable Samples Box ISO
sdvp SD Profile Box SDV
segr file delivery session group ISO
seii SEI information box NALu Video
senc Sample specific encryption data ISO Common Encryption
sgpd Sample group definition box ISO
sidx Segment Index Box 3GPP
sinf protection scheme information box ISO
skip free space ISO
smhd sound media header, overall information (sound track only) ISO
srmb System Renewability Message DVB
srmc System Renewability Message container DVB
srpp STRP Process ISO
ssix Sub-sample index ISO
sstl SVC Sub-track layer box NALu Video
stbl sample table box, container for the time/space map ISO
stco chunk offset, partial data-offset information ISO
stdp sample degradation priority ISO
sthd Subtitle Media Header Box ISO
stmg MVC Sub-track multiview group box NALu Video
strd Sub-track definition ISO
stri Sub-track information ISO
stsc sample-to-chunk, partial data-offset information ISO
stsd sample descriptions (codec types, initialization etc.) ISO
stsg Sub-track sample grouping ISO
stsh shadow sync sample table ISO
stss sync sample table (random access points) ISO
stsz sample sizes (framing) ISO
stti Sub-track tier box NALu Video
stts (decoding) time-to-sample ISO
styp Segment Type Box 3GPP
stz2 compact sample sizes (framing) ISO
subs Sub-sample information ISO
suep signer identity information ONVIF
sumi supplemental surveillance meta information MPEG-VSAF
surl Source URL ISO-Partial
swtc Multiview Group Relation NALu Video
tenc Track Encryption ISO Common Encryption
tfad Track fragment adjustment box 3GPP
tfdt Track fragment decode time ISO
tfhd Track fragment header ISO
tfma Track fragment media adjustment box 3GPP
tfra Track fragment radom access ISO
tibr Tier Bit rate NALu Video
tiri Tier Information NALu Video
tkhd Track header, overall information about the track ISO
traf Track fragment ISO
trak container for an individual track or stream ISO
tref track reference container ISO
trep track extension properties ISO
trex track extends defaults ISO
trgr Track grouping information ISO
trik Facilitates random access and trick play modes DECE
trun track fragment run ISO
tstb TileSubTrackGroupBox NALu Video
ttyp track type and compatibility ISO
tyco type and-combination ISO
udta user data ISO
uinf a tool by which a vendor may provide access to additional information associated with a UUID JPEG2000
ulst a list of UUID’s JPEG2000
url$20 a URL JPEG2000
uuid user-extension box ISO
vmhd video media header, overall information (video track only) ISO
vwdi Multiview Scene Information NALu Video
xml$20 XML container ISO
xml$20 a tool by which vendors can add XML formatted information JPEG2000

hpix also in User-Data.

Type: User-Data

Code Description Specification
ades description of the content for accessibility purposes (similar to the HTML alt attribute); formatted as for the cprt user-data item Apple
albm Album title and track number for media 3GPP
alou Album loudness base ISO
angl Name of the camera angle through which the clip was shot Apple
auth Author of the media 3GPP
clfn Name of the clip file Apple
clid Identifier of the clip Apple
clsf Classification of the media 3GPP
cmid Identifier of the camera Apple
cmnm Name that identifies the camera Apple
coll Name of the collection from which the media comes 3GPP
cprt copyright etc. ISO
date Date and time, formatted according to ISO 8601, when the content was created. For clips captured by recording devices, this is typically the date and time when the clip’s recording started. Apple
dscp Media description 3GPP
gnre Media genre 3GPP
hinf hint information ISO
hnti Hint information ISO
hpix Hipix Rich Picture (user-data or meta-data) Hipix
kind Track kind ISO
kywd Media keywords 3GPP
loci Media location information 3GPP
ludt Track loudness container ISO
manu Manufacturer name of the camera Apple
modl Model name of the camera Apple
orie Orientation information 3GPP
perf Media performer name 3GPP
reel Name of the tape reel Apple
rtng Media rating 3GPP
scen Name of the scene for which the clip was shot Apple
shot Name that identifies the shot Apple
slno Serial number of the camera Apple
strk Sub-track information ISO
thmb Thumbnail image of the media 3GPP
titl Media title 3GPP
tlou Track loudness base ISO
tsel Track selection ISO
urat User 'star' rating of the media 3GPP
yrrc Year when media was recorded 3GPP

8.2 3GPP asset meta data

A user-data box (udta) … may be present in conforming files. …

  • titl – title for the media (…)
  • dscp – caption or description for the media (…)
  • cprt – notice about organisation holding copyright for the media file (…)
  • perf – performer or artist (…)
  • auth – author of the media (…)
  • gnre – genre (category and style) of the media (…)
  • rtng – media rating (…, with 4-char Entity and Criteria fields, e.g. BBFC and PG13)
  • clsf – classification of the media (…, with 4-byte Entity and 2-byte Table Index)
  • kywd – media keywords (…, with integer Count and Array)
  • loci – location information (…, coordinates Long/Lat/Alt/Body etc.)
  • albm – album title and track number for the media (…, includes track number)
  • yrrc – recording year for the media (…, integer value)
  • coll – name of the collection from which the media comes (…)
  • urat – user 'star' rating of the media (…, 10 through 50, or 0)
  • thmb — thumbnail image of the media (…, only JPEG)
  • orie – orientation information (…, camera Zoom/Pan/Rot/Tilt)

ID3 version 2 meta data

(id32 inside meta)

Type: QuickTime

Code Description Specification
albm Album title and track number for media 3GPP
auth Author of the media 3GPP
clsf Classification of the media 3GPP
clip Visual clipping region container QT
cprt copyright etc. ISO
crgn Visual clipping region definition QT
crgn Visual clipping region definition QT
ctab Track color-table QT
dcfD Marlin DCF Duration OMArlin
elng Extended Language Tag QT
imap Track input map definition QT
kmat Compressed visual track matte QT
load Track pre-load definitions QT
matt Visual track matte for compositing QT
pnot Preview container QT
wide Expansion space reservation QT

albm, auth, clsf, cprt are also in the User-Data section.

Edit 2021-03-08: OMA DRM URLs updated.
Edit 2021-04-03: Split tables by Type.
Edit 2021-04-08: 3GPP quote

Original Apple Quicktime (MOV) Atoms

QTFF udta

Type Description Sorting
©arg Name of arranger
©ark Keywords for arranger yes
©cok Keywords for composer yes
©com Name of composer
©cpy Copyright statement
©day Date the movie content was created
©dir Name of movie’s director
©ed1©ed9 Edit dates and descriptions
©fmt Indication of movie format (computer-generated, digitized, and so on)
©inf Information about the movie
©isr ISRC code
©lab Name of record label
©lal URL of record label
©mak Name of file creator or maker
©mal URL of file creator or maker
©nak Title keywords of the content yes
©nam Title of the content
©pdk Keywords for producer yes
©phg Recording copyright statement, normally preceded by the symbol ℗
©prd Name of producer
©prf Names of performers
©prk Keywords of main artist and performer yes
©prl URL of main artist and performer
©req Special hardware and software requirements
©snk Subtitle keywords of the content yes
©snm Subtitle of content
©src Credits for those who provided movie source content
©swf Name of songwriter
©swk Keywords for songwriter yes
©swr Name and version number of the software (or hardware) that generated this movie
©wrt Name of movie’s writer
AllF Play all frames—byte indicating that all frames of video should be played, regardless of timing
hinf Hint Track User Data Atom—statistical data for real-time streaming of a particular track.
hnti Movie Hint Info Atom—data used for real-time streaming of a movie or a track.
name Name of object
tnam Localized Track Name optionally present in Track user data.
tagc Media Characteristic Tags optionally present in Track user data—specialized text that describes something of interest about the track.
LOOP Long integer indicating looping style. This atom is not present unless the movie is set to loop. Values are 0 for normal looping, 1 for palindromic looping.
ptv Print to Video—display movie in full screen mode. This atom contains a 16-byte structure.
SelO Play selection only—byte indicating that only the selected area of the movie should be played
WLOC Default window location for movie—two 16-bit values, {x,y}

Leo van Stee: “On date, time, location and other metadata in MP4/MOV files”

Tolle Auflistung. Apple hatte auch das Dokument "iTunes Metadata Format Specification" publiziert. Die erste version 2005, die letzte Aktualisierung die ich kenne war von 2008. Das Dokument stellt Apple schon seit einigen Jahren nicht mehr zur Verfügung. Aber es war maßgebend für viele der Tags, die Musikplayer und -tagger unterstützen, da die meisten versucht haben zu iTunes kompatibel zu sein. Hier sind die relevanten Tags aus der Spezifikation:

Defined tags recognized by iTunes

Element Additional Description Tag Data Type
Album Name ©alb UTF string
Artist ©ART UTF string
User Comment ©cmt UTF string
Cover Art One or more cover art images covr JPEG/PNG/BMP data
Copyright cprt UTF string
Release Date YYYY-MM-DD format string (may beincomplete, i.e. only year) ©day UTF string
Encoded By Person or company that encoded the recording ©enc UTF string
Pre-defined Genre Enumerated value from ID3 tag set, plus 1 (set identifier = 0) gnre enum
User Genre User-specified string ©gen UTF string
Song Name ©nam UTF string
Track Sub-Title ©st3 UTF string
Encoding Tool Software which encoded the recording ©too UTF string
Composer ©wrt UTF string
Album Artist Artist for the whole album (if different than the individual tracks) aART UTF string
Disc Compilation Is disc part of a compilation? cpil 8-bit "boolean" integer
Disc Number The data-type 0 is used, implicitly identifying the disk-number record used above disk Binary data
Grouping Overall work (like TIT1 in ID3) grup UTF string
Content Rating Does song have explicit content? rtng 8-bit "boolean" integer
Beats Per Minute tmpo 32-bit integer
Track Number The data-type 0 is used, implicitly identifying the track-number record used above trkn Binary data

The following tags may also be used; not all software recognizes or interprets them:

Element Additional Description Tag Data Type
Art Director Person(s) responsible for non-photographic artwork used with content ©ard UTF string
Arranger Person(s) responsible for the particular adaptation of composition ©arg UTF string
Lyricist/Author Name Writer of the song lyrics ©aut UTF string
Copyright Acknowledgement(s) Ackowledgements of those granting permission to use copyrighted material ©cak UTF string
Conductor Name of the person who directed the orchestra ©con UTF string
Song Description Explanation of the son g ©des UTF string
Director Name of director for Movie/Video ©dir UTF string
Equalization preset name Setting for Equalization of content ©equ UTF string
Liner Notes Explanatory notes about a record album, cassette, or compact disk included on the jacket or in the packaging. ©lnt UTF string
Record Company Company releasing the song ©mak UTF string, URL
Original Artist Name of artist originally attributed with content ©ope UTF string
Phonogram Rights (P-Line) Like a copyright, but using the circled P symbol, for audio rights ©phg UTF string
Producer Person(s) responsible for creating/supervising the song ©prd UTF string
Performer Name/URL of the individual primary members of the band/group ©prf UTF string, URL
Publisher Company publishing the song ©pub UTF string
Sound Engineer The name of the person doing sound engineering ©sne UTF string
Soloist Name of the musician who performs the solo ©sol UTF string
Credits Credits for those who provided source content ©src UTF string
Thanks/Dedications Notes of acknowledgement/recognition from Artist ©thx UTF string
Online Extras Links to content that can only be accessed when connected to the Internet ©url URL
Executive Producer Person(s) responsible for creating/supervising the song ©xpd UTF string

Das beantwortet auch einige der Besonderheiten, die Du oben erwänst:

©gen: Freitext, gnre: Genre-ID aus der ID3-Spezifikation.

grup für grouping erwähnt das Dokument auch. Aber aktuelles iTunes / Apple Music verwendet tatsächlich ©grp. Vielleicht wurde das später geändert oder war schon immer so. Ich weiß nicht ob grup gelesen werden würde.

©art ist normalerweise der Künstler, der auch die Credits bekommt. ©aut ist ganz klar der Autor (Text und/oder Musik).

1 Like

Ich habe gestern mal öffentlich über Github bei der MP4RA nachgefragt:

Die Seite hat scheinbar was Metadaten für Musik-Dateien angeht recht wenig relevant. Keines der in der Praxis relevanten Atome ist dort gelistet (©alb, ©ART, aART, covr, ©gen, ©nam, ...). Ausnahme ist cprt.

Und selbst von denen, die dort aufgeführt sind, wären nur wenige für Musik wirklich relevant. Ein paar wenige wie albm, coll, gnre, cprt und evtl. noch ein paar mehr. Aber in der Praxis unterstützt wird dann eher was Apple mit iTunes und ihrem Store liefert.

Unabhängig davon, ob iTunes/Music die Daten tatsächlich verwendet, würde ich @Florian für Mp3tag vorschlagen, die folgenden MP4-Boxen für existierende ID3-Variablen hinzuzufügen, zumindest die fett hervorgehobenen:

Name in Mp3tag ID3v2 MP4
ENCODERSETTINGS TSSE ©too (©swr?)
GROUPING GRP1 (catg? Category)
SETSUBTITLE TSST (©snm? Content Subtitle)
SUBTITLE TIT3 ©st3 Subtitle
INVOLVEDPEOPLE IPLS / TIPL ©src Credits (©thx?, ©cak?)
MUSICIANCREDITS TMCL ©src Credits (©thx?, ©cak?)
PUBLISHER TPUB ©pub Publisher, ©mak? Record Company, (©lab? Record Label)
LYRICIST TEXT ©aut Lyricist/Author
ORIGLYRICIST TOLY ©aut? Lyricist/Author, (©swk? Songwriter)
ENCODEDBY TENC ©enc Encoded by, ©sne? Sound Engineer
MIXARTIST TPE4 ©arg Arranger
ORIGARTIST TOPE ©ope Original Artist
ORIGYEAR TORY / TDOR (©ed0?)
ENCODINGTIME TDEN (©ed1?)
TAGGINGTIME TDTG (©ed2?)
RELEASETIME TDRL (rldt?, yrrc?)
ISRC TSRC ©isr
MEDIATYPE TMED (©fmt?)
LANGUAGE TLAN (elng?)
WWW WXXX ©url
WWWARTIST WOAR ©prf?, (©prl?)
WWWAUDIOFILE WOAF (©mal?)
WWWPUBLISHER WPUB (©lal?)
ORIGFILENAME TOFN (clfn?)
POPULARIMETER POPM (urat?)
RATING MM / RATING WMP POPM (urat?)

Für die folgenden Felder sehe ich keine Entsprechungen:

Name in Mp3tag ID3v2
FILEOWNER TOWN
FILETYPE TFLT
INITIALKEY TKEY
LENGTH TLEN
MOOD TMOO
NETRADIOOWNER TRSO
NETRADIOSTATION TRSN
ORIGALBUM TOAL
WWWAUDIOSOURCE WOAS
WWWCOMMERCIALINFO WCOM
WWWCOPYRIGHT WCOP
WWWPAYMENT WPAY
WWWRADIOPAGE WORS

Das sollte ©grp sein, da so auch von Playern unterstützt.

Das kennt Mp3tag schon, aber mit anderem Mapping und entsprechend anderer Bedeutung:

Mp3tag ID3v2 MP4
CONTENTGROUP TIT1 ©grp

Das ID3v2-Frame GRP1 aus der Mp3tag-Doku ist nicht Teil des Standards, sondern wurde von Apple erfunden:

Ich sehe darin das Problem der Kompatibilität mit anderere Software. Falls ich z.B. SUBTITLE als ©st3 schreiben würde, könnten andere Programme wie z.B. MusicBrainz Picard oder foobar2000 nicht mehr darauf zugreifen.

Ich gehe davon aus, dass die Unterstützung dann nach und nach umgesetzt werden würde, aber erstmal würde es eine Zeit der Inkompatibilität geben, unter der dann meistens die Benutzer zu leiden haben.

Sind Dir denn Programme bekannt, die die fett hervorgehobenen MP4-Felder unterstützen? Ich frage das aus Interesse und nicht als Teil einer Argumentation.

Nein, ich habe noch nicht untersucht, welche Tag-, Verwaltungs- oder Abspielprogramme diese Boxen lesend unterstützen oder sogar selbst schreiben.
Es wäre sinnvoll, eine entsprechende Testdatei zu präparieren und in verschiedenen Programmen zu testen.

Musicbrainz Picard und Foobar2000 verwenden die private Box ---- mit dem iTunes-Namensraum: ----:com.apple.iTunes:TAGFELD.

Here's a comparison of ----:com.apple.iTunes: boxes supported by Musicbrainz Picard and Foobar2000 with the more obscure MP4 boxes I suggested be added to Mp3tag above.

Mp3tag ID3v2.4 tag field (v2.3) MP4 box MP4 private box Foobar2000 Picard title Picard variable
POPULARIMETER / RATING MM / RATING WMP POPM (urat)
ORIGYEAR TORY (TDOR) (©ed0)
ENCODINGTIME TDEN (©ed1)
TAGGINGTIME TDTG (©ed2)
RELEASETIME TDRL (rldt, yrrc)
ENCODEDBY TENC ©enc, ©sne
PUBLISHER TPUB ©pub, ©mak, (©lab) LABEL Label Record Label label
MUSICIANCREDITS TMCL ©src (©thx, ©cak)
INVOLVEDPEOPLE TIPL (IPLS) ©src (©thx, ©cak)
TIPL:engineer (IPLS:engineer) ENGINEER Engineer Engineer engineer
TIPL:mix (IPLS:mix) MIXER Mix Engineer Mixer mixer
TIPL:producer (IPLS:producer) PRODUCER Producer Producer producer
TIPL:DJ-mix (IPLS:DJ-mix) DJMIXER Mix-DJ Mix-DJ djmixer
CONDUCTOR TPE3 ©con :white_check_mark: CONDUCTOR Conductor Conductor conductor
MIXARTIST TPE4 ©arg REMIXER Remixed By / Mix Artist Remixer remixer
LYRICIST TEXT ©aut LYRICIST Lyricist Lyricist lyricist
ORIGLYRICIST TOLY ©aut, (©swk)
ORIGARTIST TOPE ©ope
SUBTITLE TIT3 ©st3 SUBTITLE Track Subtitle Subtitle subtitle
SETSUBTITLE TSST (©snm) DISCSUBTITLE Disc / Set Subtitle (for multi-disc sets) Disc Subtitle discsubtitle
GROUPING GRP1 (catg)
LANGUAGE TLAN (elng) LANGUAGE Language Language language
MEDIATYPE TMED (©fmt) MEDIA Media Type / Release Format Media media
MOOD TMOO MOOD Mood Mood mood
ISRC TSRC ©isr ISRC ISRC ISRC isrc
ENCODERSETTINGS TSSE ©too (©swr)
TXXX:BARCODE BARCODE Barcode Barcode barcode
TXXX:CATALOGNUMBER CATALOGNUMBER Catalogue Number Catalog Number catalognumber
TXXX:SCRIPT SCRIPT Script Script script
WWWCOPYRIGHT (multiple or non-URL) TXXX:LICENSE LICENSE License License license
WWWCOPYRIGHT (single URL) WCOP LICENSE License License license
WWWAUDIOFILE WOAF (©mal)
WWWARTIST WOAR ©prf, (©prl)
WWWPUBLISHER WPUB (©lal)
WWW WXXX ©url
ORIGFILENAME TOFN (clfn)
INITIALKEY TKEY initialkey Initial Key key

MusicBrainz etc.

ID3v2 tag field MP4 private box Picard title Picard variable
TXXX:ARTISTS ARTISTS Artists artists
TXXX:ASIN ASIN ASIN asin
TXXX:Acoustid Id Acoustid Id AcoustID acoustid_id
TXXX:Acoustid Fingerprint Acoustid Fingerprint AcoustID Fingerprint acoustid_fingerprint
TXXX:MusicMagic Fingerprint fingerprint MusicIP Fingerprint musicip_fingerprint
TXXX:MusicIP PUID MusicIP PUID MusicIP PUID musicip_puid
TXXX:MusicBrainz Album Release Country MusicBrainz Album Release Country Release Country releasecountry
TXXX:MusicBrainz Album Status MusicBrainz Album Status Release Status releasestatus
TXXX:MusicBrainz Album Type MusicBrainz Album Type Release Type releasetype
TXXX:MusicBrainz Album Artist Id MusicBrainz Album Artist Id MusicBrainz Release Artist ID musicbrainz_albumartistid
TXXX:MusicBrainz Album Id MusicBrainz Album Id MusicBrainz Release ID musicbrainz_albumid
TXXX:MusicBrainz Artist Id MusicBrainz Artist Id MusicBrainz Artist ID musicbrainz_artistid
TXXX:MusicBrainz Disc Id MusicBrainz Disc Id MusicBrainz Disc ID musicbrainz_discid
TXXX:MusicBrainz Original Album Id MusicBrainz Original Album Id MusicBrainz Original Release ID musicbrainz_originalalbumid
TXXX:MusicBrainz Original Artist Id MusicBrainz Original Artist Id MusicBrainz Original Artist ID musicbrainz_originalartistid
TXXX:MusicBrainz Release Group Id MusicBrainz Release Group Id MusicBrainz Release Group ID musicbrainz_releasegroupid
TXXX:MusicBrainz Release Track Id MusicBrainz Release Track Id MusicBrainz Track ID musicbrainz_trackid
TXXX:MusicBrainz TRM Id MusicBrainz TRM Id MusicBrainz TRM ID musicbrainz_trmid (deprecated)
TXXX:MusicBrainz Work Id MusicBrainz Work Id MusicBrainz Work ID musicbrainz_workid
UFID:http://musicbrainz.org MusicBrainz Track Id MusicBrainz Recording ID musicbrainz_recordingid
TXXX:REPLAYGAIN_ALBUM_GAIN REPLAYGAIN_ALBUM_GAIN ReplayGain Album Gain replaygain_album_gain
TXXX:REPLAYGAIN_ALBUM_PEAK REPLAYGAIN_ALBUM_PEAK ReplayGain Album Peak replaygain_album_peak
TXXX:REPLAYGAIN_ALBUM_RANGE REPLAYGAIN_ALBUM_RANGE ReplayGain Album Range replaygain_album_range
TXXX:REPLAYGAIN_REFERENCE_LOUDNESS REPLAYGAIN_REFERENCE_LOUDNESS ReplayGain Reference Loudness replaygain_reference_loudness
TXXX:REPLAYGAIN_TRACK_GAIN REPLAYGAIN_TRACK_GAIN ReplayGain Track Gain replaygain_track_gain
TXXX:REPLAYGAIN_TRACK_PEAK REPLAYGAIN_TRACK_PEAK ReplayGain Track Peak replaygain_track_peak
TXXX:REPLAYGAIN_TRACK_RANGE REPLAYGAIN_TRACK_RANGE ReplayGain Track Range replaygain_track_range

VLC

Dem VLC-Quellcode zufolge liest das Programm praktisch alle jemals von Apple dokumentierten MP4-Metadaten-Felder.

Formatübergreifende Metadatenfelder

Atom VLC-Variable Kommentar
©nam Title Full name
©alb Album Album
©aut Artist
©ART Artist
aART AlbumArtist
©pub Publisher
©dir Director
©cpy Copyright
©cmt Description Comment
©des Description Description
desc Description
©day Date Creation Date
©gen Genre Genre
©trk TrackNumber Track
©url URL URL
©too EncodedBy Encoder Tool
©enc EncodedBy Encoded By
@PRM EncodedBy Adobe Premiere
@PRQ EncodedBy Adobe Qt
MCPS EncodedBy Cleaner Pro

MP4-spezifische Metadatenfelder

Atom VLC-Variable Kommentar
©wrt Writer
©com Composer
©prd Producer
©arg Arranger
©ard Art Director
©con Conductor
©prf Performers
©ope Original Performer
©sne Sound Engineer
©sol Soloist
©xpd Executive Producer
©inf Information
©dis Disclaimer
©req Requirements
©fmt Original Format
©dsa Display Source As
©hst Host Computer
©src Providers Source Content
©wrn Warning
©swr Software
©lyr Lyrics
©phg Phonogram Rights
©pub Publisher
©mak Record Company
©mod Model
©PRD Product
©gen Genre
©grp Grouping
©st3 Sub-Title
©des Song Description
©lnt Liner Notes
©cak Copyright Acknowledgement
©thx Thanks
aART Album Artist
flvr Encoding Params
purl Podcast URL
vndr Vendor
xid_ Catalog Number

Google/YouTube

Atom VLC-Variable Kommentar
gshh YouTube Host
gspm YouTube Ping Message
gspu YouTube Ping Url
gssd YouTube Source Data
gsst YouTube Start Time
gstd YouTube Track Duration

GPAC / MP4Box

Die direkte Unterstützung von iTunes-Tags wurde in MP4Box erst vor kurzem aktualisiert. Sie entspricht jetzt ungefähr dem Stand von Mp3tag, Foobar2000 und Picard. Außerdem können auch beliebige udta-Boxen hinzugefügt und gelesen werden:

  • mp4box -tag-list
  • mp4box -itags tag_name=tag_value [ :tag_name=tag_value ]*
  • mp4box -itags filename

Ich habe für die folgende Tabelle Informationen aus den Quellcodedateien isomedia.h und constants.c zusammengeführt.

MP4-Feld MP4Box-Variable GF_ISOM_ITUNE_ ID3v2
©nam title, name NAME TIT2
©ART artist ARTIST TPE1
aART album_artist, albumArtist ALBUM_ARTIST TPE2
©alb album ALBUM TALB
©grp group, grouping GROUP TIT1
©com composer COMPOSER TCOM
©wrt writer WRITER TEXT
©con conductor CONDUCTOR TPE3
©cmt comment, comments COMMENT COMM
©gnr genre GENRE_USER TCON dynamic
gnre genre GENRE TCON dynamic
©day created, releaseDate CREATED TYER
©trk track TRACK
trkn tracknum TRACKNUMBER TRCK
disk disk DISK TPOS
tmpo tempo TEMPO TBPM
cpil complilation COMPILATION TCMP typo
tvsh show, tvShow TV_SHOW
tven episode_id, tvEpisodeID TV_EPISODE
tvsn season, tvSeason TV_SEASON
tves episode, tvEPisode TV_EPISODE_NUM
tvnn network, tvNetwork TV_NETWORK
desc sdesc, description DESCRIPTION
ldes ldesc, longDescription LONG_DESCRIPTION TDES
©lyr lyrics LYRICS USLT
sonm sort_name, sortName SORT_NAME TSOT
soar sort_artist, sortArtist SORT_ARTIST TSOP
soaa sort_album_artist, sortAlbumArtist SORT_ALB_ARTIST TSO2
soal sort_album, sortAlbum SORT_ALBUM TSOA
soco sort_composer, sortComposer SORT_COMPOSER TSOC
sosn sort_show, sortShow SORT_SHOW
covr cover, artwork COVER_ART
cprt copyright COPYRIGHT TCOP
©too tool, encodingTool TOOL
©enc encoder, encodedBy ENCODER TENC
purd pdate, purchaseDate PURCHASE_DATE
pcst podcast PODCAST
purl url, podcastURL PODCAST_URL
kyyw keywords KEYWORDS TKWD
catg category CATEGORY TCAT
hdvd hdvideo HD_VIDEO
stik media, mediaType MEDIA_TYPE
rtng rating, contentRating RATING
pgap gapless GAPLESS
---- ITUNES_DATA (TXXX)

Einige Boxen werden in einem Kommentar erwähnt, da sie nicht implementiert bzw. schreibgeschützt sind:apID, akID, cnID, sfID, atID, plID, geID und ©st3.

Mit Mp3tag v3.06b habe ich Unterstützung für folgende iTunes-spezifischen Felder eingebaut:

  • ITUNESALBUMID (plID),
  • ITUNESARTISTID (atID),
  • ITUNESCOMPOSERID (cmID),
  • ITUNESCOUNTRYID (sfID),
  • ITUNESGENREID (geID),
  • und XID (xid )
1 Like

MediaMonkey 5 speichert einige Werte in nicht standardisierten Boxen innerhalb von User Data udta. Für MOV werden einige zusätzliche Boxen unterstützt sowie QT-Metadata-Atoms in mdta:com.apple.quicktime.. Für beide werden private Felder von iTunes :com.apple.iTunes: und WMP :Xtra:WM/ in ---- unterstützt. Felder in eckigen Klammern werden nur gelesen und nicht geschrieben, darunter 3GPP.

Property ID3v2 MP4 + MOV iTunes ---- WMP ---- MOV mdta
Title TIT2 ©nam, [titl] title
Artist(s) / Director(s) TPE1 ©ART, [auth] ©dir director
Album / Podcast TALB ©alb album
Album Artist(s) TPE2 aART
Date (Year) TDRC, TYER, TDAT ©day year
Genre(s) TCON ©gen, gnre genre
Disc # TPOS disk DISCNUMBER PartOfSet
Track # TRCK trkn TRACKNUMBER
Rating POPM rate SharedUserRating rating.user
Comment COMM ©cmt / ldes, [desc, ©des] [©inf] comment, [description]
Artwork APIC covr
Grouping TIT1 ©grp ContentGroupDescription collection.user
Composer(s) TCOM ©wrt [©com]
Conductor(s) TPE3 CONDUCTOR Conductor
Lyricist(s) / Written by TEXT [lyrc] LYRICIST Writer
Involved People IPLS [peop] INVOLVED PEOPLE
Original Title TOAL [otit] ORIGINAL ALBUM
Original Artist TOPE [oart] ORIGINAL ARTIST
Original Lyricist TOLY [olyr] ORIGINAL LYRICIST
Original Date (Year) TDOR, TORY [oday] ORIGINAL DATE
Beats Per Minute TBPM tmpo
ISRC TSRC [isrc] [©isr] ISRC
Publisher TPUB [publ] ORGANIZATION Publisher
Encoder TSSE ©too
Copyright TCOP cprt [©cpy] copyright
Classification: Tempo COMM:Songs-DB_Tempo, COMM:MusicMatch_Tempo [empo] TEMPO
Classification: Mood(s) TMOO, non-standard COMM:MusicMatch_Mood [mood] MOOD Mood
Classification: Occasion(s) COMM:Songs-DB_Occasion, COMM:MusicMatch_Situation [occa] OCCASION
Classification: Quality COMM:Songs-DB_Preference, COMM:MusicMatch_Preference [qual] QUALITY
Lyrics USLT ©lyr
Custom Field X COMM:Songs-DB_CustomX CUSTOMX
Volume Leveling Coefficient TXXX:replaygain_track_gain, TXXX:replaygain_track_peak, TXXX:replaygain_album_gain, RGAD, [RVA2] replaygain_track_gain, replaygain_track_peak, replaygain_album_gain
Initial Key TKEY initialkey
Extended tag NAME TXXX:NAME NAME
Parental rating PARENTAL RATING
TV Episode number tves / tven
TV Season number tvsn
TV Show name = Series tvsh
Producer [©prd] PRODUCER
Actor(s) ©prf ACTORS