CAE Project Format
Note: this is internal information, project format may change at any time.
The CAE raw project json format is based on the EAO project format (currently it is more or less equal to it).
Project.json and CAE container
A raw CAE project is a JSON formatted file describing the used essences, the timeline (sequence) and other metadata.
Example:
{
"EAO": {
"Comment": "",
"Text": "",
"Duration": 60000,
"LastChange": {
"User": "Unknown",
"Date": 1657088850613
},
"Files": [
...
],
"Media": [
...
],
"Sequence": {
"Tracks": [
...
],
"Markers": [
...
],
"Groups": [
...
]
},
CustomData: {
}
}
}
The raw CAE project.json file together will locally created content is stored inside a CAE container file with file extension .cae (also often called a CAE project). A CAE container file is a zip file of the following structure:
project.json
audio sub folder containing locally created content, referenced in project.json
Example:
project.json
audio
82b5ea20-2dbe-4306-b1e6-a5abb2dd105b
JSON Project Details
Read more in our Developer Hub about the JSON structure.
Developer HUB: EAO JSON Project
How do Files, Media, Clips, Tracks and TrackElements relate to each other?
Files and Media
There is a one-to-one relationship between a File (property MediumIdRef) and a Medium (property MediumId)
A file contains information about the essence, e.g. where is it stored and what kind of essence is it
A medium adds the ability to define clips (parts of a file) and transcription data
Tracks, TrackElements and Clips
Tracks contain TrackElements
The TrackElement property Position specifies the offset on the track
The TrackElement property RefId references a Clip
The Clip is part of a Medium
The Clip properties StartPosition and Duration specify the part of the medium that is used
The Medium is linked to a File by the File property MediumIdRef
Sequence => Track => TrackElement => Clip => Medium => File
