MaterialInstance

A Track can have multiple MaterialInstances. A MaterialInstance references an actual file on a disk.

A MaterialInstance has a zone, indicating the location of the setup the MAI is stored on.
So, a single Track can have multiple MAI-s, with each of them being in a different zone. However, it is also possible to have multiple MAI-s, even within the same zone. This happens when the media format uses multiple files to store a single media item (e.g., audio and video in different files).

Some examples to make things clear:

A single file video on one location

Say you upload a simple .mp4 file. In this case, all the Tracks of the RAW MOI (both AUDIO and VIDEO) will point to the same MaterialInstance.

A single file video on multiple locations

Say you back up a simple .mp4 file with Edge. Then you ingest it into Limecraft Flow.
Limecraft Flow will now know of two MaterialInstances, each of them in a different zone. The zone indicates the physical location.

A P2 video on one location

P2 stores AUDIO and VIDEO in different files.
Limecraft Flow will know 5 MaterialInstances for a P2 video with 4 audio channels.

Property Reference

Field Name Required Type Description Format

alternateBackupLocation

String

alternateBackupMetadata

Object

alternateBackupType

String

archive1Location

String

archive1Metadata

Object

archive1Type

String

archive2Location

String

archive2Metadata

Object

archive2Type

String

archive3Location

String

archive3Metadata

Object

archive3Type

String

backupCompleted

Date

date-time

backupStarted

Date

date-time

businessKey

String

created

Date

The time when this resource was created

date-time

createdBy

String

The request or process that created this resource

creatorId

Long

The id of the user who created this resource

int64

deleted

Boolean

deletedTimestamp

Date

date-time

filename

String

fingerprints

Set of string

growing

Boolean

id

Long

The id of this resource

int64

lastUpdated

Date

The time when this resource was last updated

date-time

location

String

locationMetadata

Object

md5

String

md5Partials

String

md5VerificationCompleted

Date

date-time

md5VerificationStatus

String

Enum: NOT_VERIFIED, VERIFIED, REJECTED,

mediaObjectId

Long

int64

mediaObjectType

String

Enum: IMAGE, DOCUMENT, PENDING, AUDIO, VIDEO, SNIPPET, PACKAGE,

metadata

Boolean

modifiedBy

String

The request or process responsible for the last update of this resource

moiType

String

Enum: RAW, PROXY, EDL, SHOTSTITCH, STITCH, THUMB, THUMB_SHOT, THUMB_SIXTY, WAVEFORM, AUDIO_MONO, AUDIO_SPEECH, VOLDEMORT_XML, ATTACHMENT, HDR_PROXY, MEZZANINE_PROXY,

mxfReport

Boolean

objectType

String

The data model type or class name of this resource

onAlternateBackup

Boolean

onAlternateBackupTimestamp

Date

date-time

onArchive1

Boolean

onArchive1Timestamp

Date

date-time

onArchive2

Boolean

onArchive2Timestamp

Date

date-time

onArchive3

Boolean

onArchive3Timestamp

Date

date-time

onBackup

Boolean

onBackupTimestamp

Date

date-time

onFlow

Boolean

onFlowTimestamp

Date

date-time

onsite

Boolean

pathOnCard

String

pattern

String

productionId

Long

int64

removeFromQuota

Boolean

shouldBeOnAlternateBackup

Boolean

shouldBeOnAlternateBackupTimestamp

Date

date-time

shouldBeOnBackup

Boolean

shouldBeOnBackupTimestamp

Date

date-time

shouldBeOnFlow

Boolean

shouldBeOnFlowTimestamp

Date

date-time

size

Long

int64

tracks

Set of Track

transferDetails

TransferDetails

uid

String

uploading

Boolean

version

Long

The version of this resource, used for Optimistic Locking

int64

volumeLocations

List of VolumeLocation

zone

String

Limecraft Flow Location Flags

Material instances have the following location flags:

  • onFlow: indicates whether a file is present on the internal storage or not.

  • onBackup: indicates the material has been backed up to S3. Internal Limecraft Flow functionality.

  • onArchive1, onArchive2, onArchive3: indicates whether a file is present on an archive location or not.

And the following indicators of availability:

  • shouldBeOnFlow

  • shouldBeOnBackup

These indicate if the file should be present, or not, on the respective system.

If the material is present on Limecraft Flow (onFlow=true) but we set shouldBeOnFlow=false, it states that even though the material is present on Limecraft Flow, we do not want it there, so it will be removed by the material service (after a certain cooldown period).

Setting shouldBeOnFlow=true while onFlow is false is a state in which we expect the material to be present on Limecraft Flow, but it is not there. This means we might have to recover from some backup location, this behavior however is not (yet) supported completely.

onlineLocations

There is also the onlineLocations setting. This accepts fields like archive1, indicating the archive1 location is to be considered "online". Meaning the file is available for download, from that location.

onlineLocations is usually set on account or production level (in the account/production settings) and must be set before any material is added to the production. Changing this setting will yield incorrect online flags and break functionality.

The online flag is a property of MediaObjectInstance.materialInfo

If the media object instance materialInfo.online is set, the material is available for download through Limecraft Flow.