Aaf ExportRequest
This is used to start the export towards AAF.
Property Reference
The properties below are not all applicable to an AAF export request, as the ExportRequest object is shared between aaf export, subtitle export etc.
| Field Name | Required | Type | Description | Format |
|---|---|---|---|---|
aafClipColorDefinitions |
✘ |
List of AAFClipColorDefinition |
List of aaf clip color definitions |
|
aafGroupDefinitions |
✘ |
List of AAFGroupDefinition |
List of aaf group definitions |
|
aafMarkerDefinitions |
✘ |
List of AAFMarkerDefinition |
List of aaf marker definitions |
|
aafSequenceDefinitions |
✘ |
List of AAFSequenceDefinition |
List of aaf sequence definitions |
|
advanced |
✘ |
Boolean |
||
bins |
✘ |
List of BinConfig |
For fcp/premiere exports. List of bins to create in the export. The value is a field of clipMetadata, the label is a human-readable label. |
|
clipName |
✘ |
List of string |
For fcp/premiere exports. Array of clipMetadata fields, used to construct the clip name in the export. Example ['scene', 'offload_path_3']. |
|
disclaimers |
✘ |
List of DisclaimerConfiguration |
||
downloadName |
✘ |
String |
The filename to use. It is best to omit the extension, it will be added automatically. |
|
ebuDisplayStandardCode |
✘ |
Integer |
For subtitle_ebustl exportType. |
int32 |
ebuStlLanguageCode |
✘ |
String |
For subtitle_ebustl exportType. |
|
ebuStlMarginBottom |
✘ |
Integer |
For subtitle_ebustl exportType. Bottom margin. |
int32 |
ebuStlMarginTop |
✘ |
Integer |
For subtitle_ebustl exportType. Top margin. |
int32 |
ebuStlTeletextDoubleHeight |
✘ |
Boolean |
For subtitle_ebustl exportType. |
|
ebuStlTeletextUseBox |
✘ |
Boolean |
For subtitle_ebustl exportType. |
|
ebuStlTextJustification |
✘ |
String |
For subtitle_ebustl exportType. |
|
editDecisionListId |
✘ |
Long |
The id of the EditDecisionList to export. It is not necessary to provide the editorialObjectId / subEditorialObjectId parameters if this is provided. |
int64 |
editorialObjectId |
✘ |
Long |
id of the EditorialObject to export |
int64 |
exportConfiguration |
✘ |
exportConfiguration |
||
exportName |
✘ |
Boolean |
Prefix clip name with episode, scene, shot & take labels |
|
exportType |
✘ |
String |
The type of export. For example, subtitle_ebuttd. |
|
extraMetadata |
✘ |
List of FieldSelector |
For aaf export only. Extra metadata to set on the clips in the export. By default, all customFields and the cameraId are added to the AAF. |
|
fileNameTemplate |
✘ |
String |
How to construct the filenames inside the zip. |
|
fontFamily |
✘ |
String |
For exportType transcript_pdf_text, the font family to use in the pdf. |
|
fontSize |
✘ |
String |
For exportType transcript_pdf_text, the font size to use in the pdf. |
|
format |
✘ |
String |
||
headers |
✘ |
List of string |
Information to put in the header of the export file. For exportType transcript_pdf_text this will be at the top of the pdf file. |
|
includeAnnotations |
✘ |
List of string |
List of annotation funnels to include as markers on the clips. For now, only ClipAnnotation and TranscriptAnnotation are supported. |
|
includeColorCodes |
✘ |
Boolean |
For subtitle exports. Export with color tags. |
|
includeCommentsAsSubclips |
✘ |
Boolean |
For aaf export only. Create subclips in the AAF for Limecraft Flow subclips (comments) |
|
includeGroupClipsInAAF |
✘ |
Boolean |
For aaf export only. You can make this false if multicam sync is not needed. |
|
includeSequenceInAAF |
✘ |
Boolean |
For aaf export only. Include a sequence containing all the clips in the export. |
|
includeSourceChainToAAF |
✘ |
Boolean |
For aaf export only. Include the Master MOBs in the AAF. Set true if you want to import the clips in your bin. |
|
includeSubclipsInAAF |
✘ |
Boolean |
For aaf export only. Include the subclips in the export. You can make this false if you do not want to export any audiosync information. |
|
language |
✘ |
String |
For subtitle / transcript exports. Which language to export for the clip(s). |
|
mediaFolder |
✘ |
String |
File path resolve in fcp/fcpxml/premiere. Path of the parent folder where the media is located. Typically, a drive letter(windows) or a volume. (only applicable when `pathResolveLocation=FILENAME`). |
|
pathResolveLocation |
✘ |
String |
File path resolve in fcp/fcpxml/premiere. Specify which location information should be used in export. For example FILENAME, LOCATION, ARCHIVE1, ARCHIVE2, ARCHIVE3, ALTERNATE. |
Enum: FILENAME, LOCATION, ARCHIVE1, ARCHIVE2, ARCHIVE3, ALTERNATE, |
profile |
✘ |
String |
The profile chosen for this export. Possible values depend on the particular export, but often corresponds to the MediaObjectInstance profile. |
|
redo |
✘ |
Boolean |
Run again, even if the workflow already ran in this context. |
|
redoSingleTask |
✘ |
Boolean |
||
resolveMethod |
✘ |
String |
File path resolve in fcp/fcpxml/premiere. Method to use to resolve media paths. Can be OFFLOADPATH or ORIGINAL. (only applicable when pathResolveLocation=FILENAME) |
Enum: ORIGINAL, OFFLOADPATH, |
select |
✘ |
Object |
Use this to define the query to search for things to export. |
|
skipActiveWorkflowTest |
✘ |
Boolean |
||
sourceType |
✘ |
String |
||
storeMasterMobIds |
✘ |
Boolean |
For aaf export only. Store used mastermob ids for subclip and group clip, only used in interplay sync, false by default |
|
subEditorialObjectId |
✘ |
Long |
id of the child EditorialObject to export. The editorialObjectId should contain the id of the parent EditorialObject. |
int64 |
subtitlePresetId |
✘ |
String |
For subtitle exports. Export the subtitle with this subtitlePresetId. |
|
targetPath |
✘ |
String |
||
timeBase |
✘ |
String |
Set to 'smpte' for SMPTE time and to 'media' for time relative to start of video. |
|
type |
✘ |
String |
The MediaObjectInstance type to use for media. For example RAW, EDL, PROXY. |
Enum: RAW, PROXY, EDL, SHOTSTITCH, STITCH, THUMB, THUMB_SHOT, THUMB_SIXTY, WAVEFORM, AUDIO_MONO, AUDIO_SPEECH, VOLDEMORT_XML, ATTACHMENT, HDR_PROXY, MEZZANINE_PROXY, |
useOverrideTimecode |
✘ |
String |
||
useReferenceTimecode |
✘ |
String |
||
useStoredMasterMobIds |
✘ |
Boolean |
For aaf export only. Use stored mastermob ids, only used in interplay sync, false by default |
|
useTrackNumbers |
✘ |
Boolean |
For aaf export only. Number tracks according to original metadata (with gaps). |
|
waitForWorkflow |
✘ |
Boolean |
||
workflowLabel |
✘ |
String |
Example
{
// determine which media to use during export (by type and profile)
"type": "EDL",
"profile": "auto", // auto takes any avid media (moi with aaf)
"exportName": true, // Prefix clip name with episode, scene, shot & take labels
// determine which type to export (avid, premiere, ...)
"exportType": "aaf.aaf",
// Number tracks according to original metadata (with gaps).
// use track numbers from source, e.g. 4,5,6 or just start at 1, e.g. 1, 2, 3
"useTrackNumbers": false,
// only these funnels are loaded to be used as markers (can be filtered later)
"includeAnnotations": [
"ReviewComment"
],
// determine which media to group together, will do equivalent of multicam sync on selected
// media even if not synced in flow/edge, these group clips are numbered sequentially
"aafGroupDefinitions": [
{
"query": {},
"name": "[(${ context.editorialObject.parent.title })] [(${ context.editorialObject.title })] Sync",
"color": "#911eb4"
}
],
// determine clip color based on metadata (query is on a solr object)
"aafClipColorDefinitions": [
{
"color": "#3cb44b",
"query": {
"key": "cameraName",
"values": [
"TAS1"
]
},
"clipTypes": [
"MASTERCLIP"
]
}
],
// define markers on clips, subclips, ...
"aafMarkerDefinitions": [],
// Create subclips in the AAF for Limecraft Flow subclips (comments)
"includeCommentsAsSubclips": false,
// Include the subclips in the export. You can make this false if you do not want to export any audiosync information.
"includeSubclipsInAAF": true,
// Include the Master MOBs in the AAF. Set true if you want to import the clips in your bin.
"includeSourceChainToAAF": true,
// Include a sequence containing all the clips in the export. // replaced with sequence definition
"includeSequenceInAAF": true,
// You can make this false if multicam sync is not needed.
"includeGroupClipsInAAF": true
}
Colors - aafClipColorDefinitions
add colors to packages by defining them as follows
-
a query to indicate when to apply the color. (SolrDocument MOA)
-
color as an rgb value
-
indicate packageType to which the color should be applied
Example:
All circled clips must be green
{
"color": "#00FF00",
"query": {
"key": "circled",
"values": [
"true"
]
},
"clipTypes": [
"MASTERCLIP" // SUBCLIP | GROUPCLIP
]
}
Markers - aafMarkerDefinitions
Add markers/locators to packages by defining them as follows
-
a query to indicate which annotations to add as markers
-
color of the marker. The color is one of these eight strings:
RED,GREEN,BLUE,CYAN,MAGENTA,YELLOW,BLACK,WHITE -
indicate packageType to which the marker should be added
-
track: indication of track marker is added to
Example
ClipAnnotations are added as red markers on a subclip
{
"query": {
"key": "funnel",
"values": [
"ClipAnnotation"
]
},
"color": "RED", // TODO determine allowed colors
"packageType": "SUBCLIP",
"track": "V1" // if no video fallback to A1
}
Auto grouping - aafGroupDefinitions
For every group definitions all of the loaded MASTERCLIPS are filtered with the provided query (e.g. only circled) and are grouped according to timecode. The masterclips are sorted by timecode and added to the group if it overlaps with the previous masterclip. If there is no overlap with the previous item than it belong to a new group. Groups are named in ascending order, MyGroup1, MyGroup2, …
If there is one item that spans the entire day there will only be one group. If the group consist of only one item we won’t create a GROUPCLIP but just reference to the MASTERCLIP directly. These groups can only be used in MULTITRACKv2 sequences.
Example:
{
"aafGroupDefinitions": [
{
"query": {},
"name": "MyGroup",
"color": "#911eb4"
}
]
}
Sequences
Add sequences to the aaf as follows
-
query to indicate which clips to include, include all if empty
-
aafMarkerDefinitions: add markers to sequence with same syntax as above
-
clipType: define type of sequence
-
GROUPCLIP: For every entry in the sequence it tries to use the corresponding group clip, if it doesn’t exist it does a fallback to SUBCLIP and MASTERCLIP. There are no gaps between entries. -
SUBCLIP: For every entry in the sequence it tries to use the corresponding subclp if it doesn’t exist it does a fallback to MASTERCLIP (This is the previous current behaviour). There are no gaps between entries. -
MULTITRACK: Similar sequence as GROUPCLIP but with video segments spread over multiple tracks in sync with each other (V1, V2, …) but still pointing to the created GROUPCLIP object. There are no gaps between entries. -
MULTITRACKV2: More advanced timeline where existing syncing information is ignored. This sequence puts media (MASTERCLIP) on the timeline according to it’s timecode (with gaps). By using video and audio track definition the user can determine the order of the tracks. It’s also possible to use defined GROUPCLIPS that were created by defining an aafGroupDefinition, which does auto grouping of selected content based on timecode. If there overlapping entries on the same track the sequence generation will fail.
-
-
orderBy: define the order in which the packages should be added to the sequence
-
by position in EDL (
EDL) -
by timecode (
TIMECODE) -
by timecode, with gaps (
TIMECODE_WITH_GAPS)
-
-
label: text to use as sequence name
Examples
default sequence, currently added when setting includeSequence
{
"query": {},
"aafMarkerDefinitions": [],
"clipType": "SUBCLIP", // fallback to masterclip
"orderBy": "EDL",
"label": "DEFAULT_SEQUENCE"
}
timeline with all subclips in chronological order
{
"color": "#0000FF",
"label": "subclip all",
"orderBy": "TIMECODE",
"clipType": "SUBCLIP",
"aafMarkerDefinitions": []
}
timeline with groups in chronological order
{
"color": "#FF0000",
"label": "group clips",
"orderBy": "TIMECODE",
"clipType": "GROUPCLIP",
"aafMarkerDefinitions": []
}
timeline with only the circled subclips
{
"color": "#00FF00",
"label": "Multitrack with circled",
"query": {
"key": "circled",
"values": [
"true"
],
"modifiers": []
},
"orderBy": "TIMECODE",
"clipType": "MULTITRACK",
"aafMarkerDefinitions": []
}
MULTITRACKV2 - Sequence based on timecodes (with gaps)
{
"color": "#f032e6",
"label": "[(${ context.editorialObject.parent.title })] [(${ context.editorialObject.title })] Sync Sequence",
"orderBy": "TIMECODE",
"clipType": "MULTITRACKV2",
// markers on sequence
"aafMarkerDefinitions": [
{
"color": "BLUE",
"query": {
"key": "funnel",
"values": [
"ReviewComment"
]
},
"track": "V1"
}
],
// define how to build audio tracks
"audioTrackDefinitions": [
{
"label": "TAS1",
"query": {
"key": "trackMetadata.cameraName",
"values": [
"TAS1"
],
"modifiers": []
}
},
{
"label": "CAM1",
"query": {
"key": "trackMetadata.cameraName",
"values": [
"CAM1"
],
"modifiers": []
}
}
],
// define how to build video tracks
"videoTrackDefinitions": [
{
"label": "GROUP",
"query": {},
"groupName": "[(${ context.editorialObject.parent.title })] [(${ context.editorialObject.title })] Sync"
},
{
"label": "CAM1",
"query": {
"key": "trackMetadata.cameraName",
"values": [
"CAM1"
],
"modifiers": []
}
}
]
}
In case a query needs to be evaluated on multiple clips (e.g. group clip) it will only be withheld when it’s valid for all clips.