Metadata Management

How to read, write, and manage asset metadata in the Nomad Media platform.

Metadata Management

Metadata Manifest Importing (Sidecar Files)

Sidecar files with metadata properties can be imported automatically. This is most commonly used when external metadata exists for media but is not contained within the media file itself — for example, dates, locations, or tags.

Rules

  1. The metadata file must exist in the same folder as the asset file.
  2. The metadata file must be named with the same name as the asset file, with \ appended to the end:
    • \ → - \ → 3. The contents of the metadata file are JSON as a single dictionary.

How It Works

  • A job runs every 5 minutes to look for metadata files for matching.
  • When found, it looks for the associated file by removing \ from the filename and searching in the same folder. If not found, the metadata file is ignored.
  • When matched, the metadata file contents are parsed and applied to the asset.
  • After successful matching, the metadata file is moved to the metadata-archive bucket and associated as a related asset to the original file. It disappears from the UI folder view.
  • Metadata is stored in the internal \ attribute of the file manifest, except for specific fields (see table below). All custom key values are merged into the search record for the asset.

Configuration

To enable automatic manifest mapping, set \ to \ in the \ section of the system configuration:

File Format

Field Notes

  • Each key is matched against the \ field in the Asset Metadata definition. The property must exist — otherwise an error is returned.
  • Data types must match the field definition (boolean, date, guid, string, number). Boolean values must be \ or ; dates should be in ISO 8601 format (e.g. ).
  • Dropdown choices (single and multi-select) can accept either the record ID or the exact title string.

Special Keys

KeyNotes
\Single or list of values. Each can be a string or ID. String values are matched exactly against existing tags. Does not create new tags.
\Single or list of values. Each can be a string or ID. String values are matched exactly against existing collections. Does not create new collections.
\Overwrites the system \ property (normally retrieved from S3). Not stored in .
\Overwrites the system \ property. Not stored in .
\Overwrites the system \ property. Must be a UUID matching an existing language in the system. Not stored in .

Uploading SRT and Other Subtitle Files

Sometimes you have subtitle files in SRT or other formats that need to be converted to VTT for use in web video players. VTT is the most standard format for web video players. The system can automatically convert non-VTT formats.

Step 1: Upload the Subtitle File with the Correct Type

In the Admin Console, navigate to the asset's Related Assets tab and click \ next to the Subtitles section. Select the correct format and language.

Critical: You must select the correct format (e.g. SRT) in the upload dialog. See the format identification guide below if unsure which format your file uses.

Step 2: Auto-Create the VTT File

After uploading, select Reprocess Asset from the top-right menu. After a minute or so (while "Registering"), the new VTT file will appear in the Related Assets list. Both the original subtitle file and the new auto-generated VTT file will be visible. The VTT file is what the video playback UI uses for captions.


Identifying Subtitle File Formats

SRT (SubRip Subtitle) —

  • Structure: Sequential numeric index, timestamp line, text content, blank line separator
  • Timestamp format: \ (comma before milliseconds)
  • Key identifier: Numbered blocks starting at , timestamps use \ with commas

WebVTT (Web Video Text Tracks) —

  • Structure: Starts with \ header, optional cue identifiers, timestamp line, text content
  • Timestamp format: \ (dot before milliseconds)
  • Key identifier: File must begin with \ on the first line; uses dots instead of commas

SSA / ASS (SubStation Alpha) — \ /

  • Structure: INI-like sections: , , - Key identifier: Begins with ; dialogue lines prefixed with

TTML (Timed Text Markup Language) — \ / \ /

  • Structure: XML-based with \ root element
  • Key identifier: XML declaration + \ root element with \ namespace

SCC (Scenarist Closed Captions) —

  • Key identifier: \ header; data is hex-encoded

STL (EBU Subtitles) —

  • Structure: Binary format (EBU Tech 3264); not human-readable

MicroDVD —

  • Structure: Frame-based timing in curly braces
  • Key identifier: Lines start with

Quick Identification Checklist

CheckFormat
First line is \VTT
Numbered blocks with \ and commas in timestampsSRT
Numbered blocks with \ and dots in timestamps (no \ header)Malformed SRT or headerless VTT
Starts with \SSA/ASS
XML with \ root elementTTML/DFXP
Starts with \SCC
Lines start with \MicroDVD
Binary / not human-readableLikely STL (EBU)