Introduction
Our transcoders analyze metadata based on the data model below.
The same data model is used to write metadata back to images.
AdmiralCloud automatically updates metadata of images (IPTC, etc) as soon as the metadata in AdmiralCloud changes if it is defined in the related format.
Reading Metadata
TBC
Writing Metadata
The format defines which fields will be embedded into the image. In order to map AdmiralCloud metadata fields to image metadata fields (IPTC, EXIF, XMP) we use a basic mapping you can find below.
You can change this mapping using the metadata configuration of the format itself. If you want to change it on a more global level, you can also use the customer’s mediaMetadataConfiguration object.
Example 1 – Format with metadata instructions
The following setup in formats will write the AdmiralCloud field “container_name” to IPTC field “Headline” (see mapping below). And it will write the AC field “meta_photographer to the XMP field “Creator
// settings
"metadata":[
{
"metaTitle":"meta_photographer"
},
{
"metaTitle":"container_name"
}
]
Example 2 – Use custom mapping
This setup will write the custom field “meta_c123_myfield” to the XMP field “myfield”
// settings
"metadata" [
{
"metaTitle": "meta_c123_myfield",
"keyWrite": "myfield",
"typeWrite": "xmp"
}
]
Automatic updating of metadata in images
If metadata for a mediacontainer is updated, the preview images (format 6) as well as formats with metadata in command structure (settings) will be automatically updated within the next minute.
Note, not every update will immediately trigger this update – we collect metadata changes within the same minute and only trigger the update once after that minute.
Mapping
The mapping format definition is always an array of object. Each object contains of the properties defined in section Data Model
Data Model
Field | Type | Required | Description |
type | string | yes | exif/iptc |
key | string|array | yes | Key name in Exif/IPTC as analyzed by exiftool If you use an array the first match is used |
path | string | field to AdmiralCloud media field (if the value should be written to media instead of metadata). Leave empty if you want to create an entry in metadata table | |
metaTitle | string | field name for AdmiralCloud metadata. Make sure to use the following structure: “meta_TYPE_KEY”, e.g. meta_exif_lensModel | |
lock | boolean | If true, the value is locked in metadata and cannot be overwritten | |
method | string | Usually we use Exiftool for analysis. You can set method to “identify” if you want to use Imagemagick’s identify method instead. | |
fn | string | An optional function to use for preparing the value. Options are: parseInt, “size”, “format”. You can use your own function like this: fn: (val) => { return parseInt(val) } | |
mapping | array | Mapping for values. An array of objects with type, key and value |
Basic mapping
Field | Type | AC Field | Notes |
City | iptc | meta_iptc_city | |
Country-PrimaryLocationCode | iptc | meta_productionCountry | |
CopyrightNotice | iptc | meta_copyright | |
Creator | iptc | meta_iptc_creator | If you want to write this field, use xmp:creator |
Credit Line | iptc | meta_iptc_creditLine | |
Description | iptc | container_description | Precedence 1 |
Caption | iptc | container_description | Precedence 2 |
Caption-Abstract | iptc | container_description | Precedence 3 |
by_line | iptc | container_description | Precedence 4 |
Description Writer | iptc | meta_iptc_descriptionWriter | |
Headline | iptc | container_name | Precedence 1 |
Title | iptc | container_name | Precedence 2 |
ObjectName | iptc | container_name | Precedence 3 |
Instructions | iptc | meta_iptc_instructions | |
JobId | iptc | meta_iptc_jobId | |
Rights Usage Terms | iptc | meta_iptc_rightsUsageTerms | |
Source | iptc | meta_iptc_source | |
Subject Code | iptc | meta_iptc_subjectCode | |
Creator | xmp | meta_photographer | |
TBC |