MP4-Felder (Atoms)

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.
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

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

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}