luser 25 Posted August 7, 2023 Share Posted August 7, 2023 It's possible to update some, but not all, Emby "metadata" fields using a file's embedded meta information. It would be great if it was possible to populate all or more Emby "metadata" fields using file meta information. From my testing (with MP4), it's only possible to populate the following Emby "metadata" fields with file meta information: - Title => Read from the `©nam` QuickTime tag - Overview => Read from the `ldes` QuickTime tag - Year => Read from the `©day` QuickTime tag - Genres => Read from the `©gen` and `gnre` QuickTime tags I'd really like to be able to populate the following fields with file meta information as well: - People - Studios *It was reported that this field could be populated using the `cprt` QuickTime tag. However, this doesn't work for me. - Tags This functionality already exists, as it's possible to update some Emby "metadata" fields. Therefore, I assume allowing the missing fields to be updated wouldn't be a big undertaking. Thank you Link to comment Share on other sites More sharing options...
Luke 37230 Posted August 7, 2023 Share Posted August 7, 2023 HI, regarding studios, I've never heard of the cprt field but we do support the copyright field. People are supported in two forms: WM/MediaCredits itunes formatted embedded info Link to comment Share on other sites More sharing options...
luser 25 Posted August 7, 2023 Author Share Posted August 7, 2023 (edited) The `cprt` (ID) tag is considered the copyright field. What iTunes tags do I need to update to populate the following Emby fields? I've tried them all and only four (mentioned above) have an effect. - People - Tags Edited August 7, 2023 by luser Link to comment Share on other sites More sharing options...
Luke 37230 Posted August 7, 2023 Share Posted August 7, 2023 the itunes format is an entire xml structure embedded as a tag: http://www.apple.com/DTDs/PropertyList-1.0.dtd It's not something I would suggest trying to mimic. I was just responding to indicate that it is supported via that. I haven't heard of other ways to store a list of people in embedded metadata. What's commonly used out there? Link to comment Share on other sites More sharing options...
luser 25 Posted August 7, 2023 Author Share Posted August 7, 2023 (edited) Multiple values, separated by `\\`. It already works for genres. There are a bunch of QuickTime tags that Emby doesn't use. Any of them would work. Here's a list. https://exiftool.org/TagNames/QuickTime.html. Also, it wouldn't have to be a QuickTime tag. It could be a EXIF tag (https://exiftool.org/TagNames/EXIF.html). Edited August 7, 2023 by luser Link to comment Share on other sites More sharing options...
luser 25 Posted August 7, 2023 Author Share Posted August 7, 2023 (edited) Multiple values, separated by `\\`. It already works for genres. There are a bunch of QuickTime tags that Emby doesn't use; artist, director, author, Conductor, Publisher, and so on. Any of them would work. Here's a list. https://exiftool.org/TagNames/QuickTime.html. Also, it wouldn't have to be a QuickTime tag. It could be a EXIF tag (https://exiftool.org/TagNames/EXIF.html). (editing posts no longer works) Edited August 7, 2023 by luser 1 Link to comment Share on other sites More sharing options...
luser 25 Posted August 7, 2023 Author Share Posted August 7, 2023 | Tag ID | Tag Name | Writable | Values / Notes | | ------ | --------------------- | --------- | ------------------------------------------------------------ | | '----' | iTunesInfo | - | --> [QuickTime iTunesInfo Tags](https://exiftool.org/TagNames/QuickTime.html#iTunesInfo) | | '@PST' | ParentShortTitle | string | | | '@ppi' | ParentProductID | string | | | '@pti' | ParentTitle | string | | | '@sti' | ShortTitle | string | | | 'AACR' | Unknown_AACR? | string | | | 'CDEK' | Unknown_CDEK? | string | | | 'CDET' | Unknown_CDET? | string | | | 'GUID' | GUID | string | | | 'VERS' | ProductVersion | string | | | 'aART' | AlbumArtist | string | | | 'akID' | AppleStoreAccountType | int8s | 0 = iTunes 1 = AOL | | 'albm' | Album | string/ | | | 'apID' | AppleStoreAccount | string | | | 'atID' | AlbumTitleID | int32s | | | 'auth' | Author | string | | | 'catg' | Category | string | | | 'cnID' | AppleStoreCatalogID | int32s | | | 'covr' | CoverArt | string | | | 'cpil' | Compilation | int8s | 0 = No 1 = Yes | | 'cprt' | Copyright | string | | | 'desc' | Description | string/ | | | 'disk' | DiskNumber | undef | | | 'dscp' | Description | string/ | | | 'egid' | EpisodeGlobalUniqueID | string | | | 'geID' | GenreID | int32s | --> [QuickTime GenreID Values](https://exiftool.org/TagNames/QuickTime.html#GenreID) | | 'gnre' | Genre | undef/ | | | 'grup' | Grouping | string/ | | | 'gshh' | GoogleHostHeader | string | | | 'gspm' | GooglePingMessage | string | | | 'gspu' | GooglePingURL | string | | | 'gssd' | GoogleSourceData | string | | | 'gsst' | GoogleStartTime | string | | | 'gstd' | GoogleTrackDuration | string | | | 'hdvd' | HDVideo | int8s | 0 = No 1 = Yes | | 'itnu' | iTunesU | int8s | 0 = No 1 = Yes | | 'keyw' | Keyword | string | | | 'ldes' | LongDescription | string | | | 'pcst' | Podcast | int8s | 0 = No 1 = Yes | | 'perf' | Performer | string | | | 'pgap' | PlayGap | int8s | 0 = Insert Gap 1 = No Gap | | 'plID' | PlayListID | int32s[2] | | | 'prID' | ProductID | string | | | 'purd' | PurchaseDate | string | | | 'purl' | PodcastURL | string | | | 'rate' | RatingPercent | string | | | 'rldt' | ReleaseDate | string | | | 'rtng' | Rating | int8s | 0 = none 1 = Explicit 2 = Clean 4 = Explicit (old) | | 'sdes' | StoreDescription | string | | | 'sfID' | AppleStoreCountry | int32s | --> [QuickTime AppleStoreCountry Values](https://exiftool.org/TagNames/QuickTime.html#AppleStoreCountry) | | 'shwm' | ShowMovement | int8s | 0 = No 1 = Yes | | 'soaa' | SortAlbumArtist | string | | | 'soal' | SortAlbum | string | | | 'soar' | SortArtist | string | | | 'soco' | SortComposer | string | | | 'sonm' | SortName | string | | | 'sosn' | SortShow | string | | | 'stik' | MediaType | int8s | 0 = Movie (old) 1 = Normal (Music) 2 = Audiobook 5 = Whacked Bookmark 6 = Music Video 9 = Movie 10 = TV Show 11 = Booklet 14 = Ringtone 21 = Podcast 23 = iTunes U | | 'titl' | Title | string/ | | | 'tmpo' | BeatsPerMinute | int16s | | | 'trkn' | TrackNumber | undef | | | 'tven' | TVEpisodeID | string | | | 'tves' | TVEpisode | int32s | | | 'tvnn' | TVNetworkName | string | | | 'tvsh' | TVShow | string | | | 'tvsn' | TVSeason | int32u | | | 'yrrc' | Year | string | | | "©ART" | Artist | string | | | "©alb" | Album | string | | | "©ard" | ArtDirector | string | | | "©arg" | Arranger | string | | | "©aut" | Author | string/ | | | "©cmt" | Comment | string | | | "©com" | Composer | string/ | | | "©con" | Conductor | string | | | "©cpy" | Copyright | string/ | | | "©day" | ContentCreateDate | string | | | "©des" | Description | string | | | "©dir" | Director | string | | | "©enc" | EncodedBy | string | | | "©gen" | Genre | string | | | "©grp" | Grouping | string | | | "©lyr" | Lyrics | string | | | "©mvc" | MovementCount | int16s | | | "©mvi" | MovementNumber | int16s | | | "©mvn" | MovementName | string | | | "©nam" | Title | string | | | "©nrt" | Narrator | string | | | "©ope" | OriginalArtist | string | | | "©prd" | Producer | string | | | "©pub" | Publisher | string | | | "©sne" | SoundEngineer | string | | | "©sol" | Soloist | string | | | "©st3" | Subtitle | string | | | "©too" | Encoder | string | | | "©trk" | Track | string | | | "©wrk" | Work | string | | | "©wrt" | Composer | string | | | "©xpd" | ExecutiveProducer | string | | | "©xyz" | GPSCoordinates | string | | Link to comment Share on other sites More sharing options...
luser 25 Posted August 7, 2023 Author Share Posted August 7, 2023 The `cprt` QuickTime tag does work for me. I'm not sure what mistake I made previously. I probably forgot to re-scan metadata. I'm able to populate multiple studios by separating them with `\\` or `,` . This is a perfect example. The "Studios" field is populated based on the value of the copyright (`cprt`) tag. If this same scenario existed for tags and people, I'd be grateful! Using the same logic as "Studios"... - "People" could be populated using the value of the Artist (`©ART`) tag - "Tags" could be populated using the value of the Grouping (`©grp`) tag Link to comment Share on other sites More sharing options...
luser 25 Posted August 8, 2023 Author Share Posted August 8, 2023 (edited) (I can't edit the initial post so I'll summarize here) Only a subset of Emby "metadata" fields can be populated. > I tested this by populating every QuickTime ItemList tag with a string data type. - Title => Read from the `©nam` QuickTime tag - Overview => Read from the `ldes` QuickTime tag - Year => Read from the `©day` QuickTime tag - Genres => Read from the `©gen` and `gnre` QuickTime tags - Studios => Read from the `cprt` QuickTime tag Functionality for all other Emby "metadata" fields is missing. - Tags, People, and so on Suggested fix: - People => Read from the `©ART` QuickTime tag - Tags => Read from the `©grp` QuickTime tag Edited August 8, 2023 by luser 1 Link to comment Share on other sites More sharing options...
Luke 37230 Posted August 8, 2023 Share Posted August 8, 2023 Hi, yes it's something we can look at supporting. Thanks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now