MediaArea / MediaInfoLib

Convenient unified display of the most relevant technical and tag data for video and audio files.
https://mediaarea.net/MediaInfo
BSD 2-Clause "Simplified" License
615 stars 168 forks source link

Support Publisher metadata in MP4 tags #1590

Open Crissov opened 1 year ago

Crissov commented 1 year ago

In File_Mpeg4.cpp, there is no support for the ©pub and ©nrt boxes holding publisher and narrator information, respectively. Other less common fields are probably unsupported, too.

PS: It would be nice if MP4 tag support was properly documented on the homepage as well. Also, that page (like the source code repo) is too hard to find there.

JeromeMartinez commented 1 year ago

In File_Mpeg4.cpp, there is no support for the ©pub and ©nrt boxes holding publisher and narrator information, respectively. Other less common fields are probably unsupported, too.

We definitely don't have an exhaustive list, and we add items when we have files with that and time. We already need first to scan all the unsupported field names in the files we have.

PS: It would be nice if MP4 tag support was properly documented on the homepage as well. Also, that page (like the source code repo) is too hard to find there.

This page is a lot outdated and would deserve more work, but this is not the priority of our sponsors so for when we have time for free work (not soon). Help would be appreciated there (the website is also open source).

Crissov commented 1 year ago

Generated from source code:

4CC

File_Mpeg4::Metadata_Get(std::string &Parameter, int64u Meta)

AtomicParsley ExifTool

Box/Atom Friendly Name Notes
©alb Album
©ard Director
©arg Arranger
©ART Performer
©aut Performer
©con Conductor
©cmt Comment
©cpy Copyright
©day _RecordedDate
©des _TitleMore
©dir Director
©dis TermsOfUse
©edl _TaggedDate
©enc _EncodedApplication
©fmt Origin
©gen Genre
©grp Grouping
©hos HostComputer
©inf _TitleMore
©key Keywords
©lyr Lyrics
©mak Make
©mod Model
©nam Title
©ope Original/Performer
©prd Producer
©PRD Product
©prf Performer
©req Comment
©sne SoundEngineer
©sol Conductor
©src DistributedBy
©st3 Subtitle
©swr _EncodedApplication
©too _EncodedApplication
©url Track/Url
©wrn Warning
©wrt Composer
©xpd ExecutiveProducer
aART Album/Performer
akID AppleStoreAccountType
albm Album Has a optional track number after the NULL byte
apID AppleStoreAccount
atID AlbumTitleID
auth Performer
catg Category
cnID AppleStoreCatalogID
cpil Compilation
cprt Copyright
desc Description
disk Part
dscp _TitleMore
egid EpisodeGlobalUniqueID
flvr Flavour
gnre Genre
geID GenreID
grup Grouping
hdvd HDVideo
itnu iTunesU
keyw Keyword
ldes LongDescription
name Title
pcst Podcast
perf Performer
pgap
plID PlayListID
purd PurchaseDate
purl PodcastURL
rate Rating
rtng Rating
sdes Description
sfID AppleStoreCountry
soaa Album/Performer/Sort SortAlbumArtist
soal Album/Sort SortAlbum
soar Performer/Sort SortArtist
soco Composer/Sort SortComposer
sonm Title/Sort SortName
sosn Title/Sort SortShow
stik ContentType
titl Title
tool _EncodedApplication
tmpo BPM
trkn Track
tven _PartID TVEpisodeID
tves Part TVEpisode
tvnn TVNetworkName
tvsh Collection TVShow
tvsn Season TVSeason
xid_ Vendor
year _RecordedDate
yyrc _RecordedDate

String Metadata

File_Mpeg4::Metadata_Get(std::string &Parameter, const std::string &Meta)

String Friendly Name Notes
com.apple.quicktime.copyright Copyright
com.apple.quicktime.displayname Title
aspect_ratio DisplayAspectRatio
date_recorded _RecordedDate
DATE _EncodedDate
iTunEXTC ContentRating
iTunMOVI iTunMOVI
iTunNORM
iTunes_CDDB_IDs
iTunSMPB
PERFORMER Performer
PUBLISHER Publisher
Crissov commented 1 year ago

Metadata boxes supported elsewhere:

Box Meaning Supported by Comment
©ark Keywords for arranger QuickTime
©cak Copyright Acknowledgement(s) VLC, Apple optional Ackowledgements of those granting permission to use copyrighted material
©chp chapter FFmpeg
©cok Keywords for composer QuickTime
©com Name of composer(s) VLC, MediaMonkey, QuickTime, FFmpeg, GPAC/MP4Box
©dsa Display Source As VLC
©ed1 … ©ed9 Edit dates and descriptions QuickTime, FFmpeg
©equ Equalization preset name Apple optional Setting for Equalization of content
©gnr genre GPAC/MP4Box
©hst Host Computer VLC, FFmpeg
©isr ISRC MediaMonkey, QuickTime
©lab Name of record label QuickTime
©lal URL of record label QuickTime
©lnt Liner Notes VLC, Apple optional Explanatory notes about a record album, cassette, or compact disk included on the jacket or in the packaging.
©mal URL of file creator or maker QuickTime
©nak Title keywords of the content QuickTime
©nrt Narrator Mp3tag
©pdk Keywords for producer QuickTime
©phg Phonogram Rights (P-Line) VLC, Apple optional, QuickTime Like a copyright, but using the circled P symbol ℗, for audio recording rights
©prk Keywords of main artist and performer QuickTime
©prl URL of main artist and performer QuickTime
©pub Publisher Mp3tag, VLC, Apple optional Company publishing the song
©snk Subtitle keywords of the content QuickTime
©snm Subtitle of content QuickTime
©swf Name of songwriter QuickTime
©swk Keywords for songwriter QuickTime
©thx Thanks/Dedications VLC, Apple optional Notes of acknowledgement/recognition from Artist
©trk TrackNumber VLC, FFmpeg, GPAC/MP4Box Track
©wrk Work Kid3, Mp3tag
©xyz location FFmpeg
@PRM EncodedBy VLC Adobe Premiere
@PRQ EncodedBy VLC Adobe Qt
AllF Play all frames—byte indicating that all frames of video should be played, regardless of timing QuickTime
FIRM firmware FFmpeg
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. QuickTime
MCPS EncodedBy VLC Cleaner Pro
SelO Play selection only—byte indicating that only the selected area of the movie should be played QuickTime
WLOC Default window location for movie—two 16-bit values, {x,y} QuickTime
covr Artwork, Cover Art, Picture iTunes, MediaMonkey, Kid3, GPAC/MP4Box One or more cover art images
empo Classification: Tempo MediaMonkey
gshh YouTube Host VLC
gspm YouTube Ping Message VLC
gspu YouTube Ping Url VLC
gssd YouTube Source Data VLC
gsst YouTube Start Time VLC
gstd YouTube Track Duration VLC
hinf Hint Track User Data Atom—statistical data for real-time streaming of a particular track. QuickTime
hnti Movie Hint Info Atom—data used for real-time streaming of a movie or a track. QuickTime
isrc ISRC MediaMonkey
kyyw keywords GPAC/MP4Box
loci location FFmpeg
lyrc Lyricist(s) / Written by MediaMonkey
manu make FFmpeg
modl model FFmpeg
mood Classification: Mood(s) MediaMonkey
oart Original Artist MediaMonkey
occa Classification: Occasion(s) MediaMonkey
oday Original Date (Year) MediaMonkey
olyr Original Lyricist MediaMonkey
otit Original Title MediaMonkey
peop Involved People MediaMonkey
ptv Print to Video—display movie in full screen mode. This atom contains a 16-byte structure. QuickTime
publ Publisher MediaMonkey
qual Classification: Quality MediaMonkey
tagc Media Characteristic Tags optionally present in Track user data—specialized text that describes something of interest about the track. QuickTime
tnam Localized Track Name optionally present in Track user data. QuickTime
vndr Vendor VLC