You can use a CML (Content Markup Language) playlist file as instruction set for a job request
The Vantage CML file is a specialized playlist format that contains a collection of hosted source media locations and instructions for media processing, such as timed video timelines, effects and layers. Availability of source media locations within a CML file will be validated before processing begins.
<?xml version="1.0"?>
<query>
<userid>[UserID]</userid> <!-- required -->
<userkey>[UserKey]</userkey> <!-- required -->
<action>AddMedia</action> <!-- required -->
<cml_source>[CMLSourceFile]</cml_source>
<format>
<output>[output]</output> <!-- required -->
<!-- format params -->
</format>
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "AddMedia", // required
"cml_source": "[CMLSourceFile]", // required
"format": {
"output": "[output]" // required
// format parameters
}
}
}
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
cml_source | CML source file URL | Valid URL | none |
CML File Structure
CML Features implementation
CML file as source description is in beta status and some CML features have not been implemented.
<?xml version="1.0" encoding="utf-8" ?>
<Composition name="[CompositionName]" version="1.0" created="[CreatedDate]">
<Source identifier="[SourceIdentifier]" timecode="[SourceTimecode]"> <!-- timecode not implemented -->
<File location="[SourceLocationURL]"/>
<Subtitle preserve708="[true|false]"/> <!-- Subtitle not implemented -->
</Source>
<Source identifier="[SourceIdentifier]" timecode="[SourceTimecode]"> <!-- timecode not implemented -->
<File location="[SourceLocationURL]"/>
<Subtitle preserve708="[true|false]"/> <!-- Subtitle not implemented -->
</Source>
<!-- ... -->
<Source identifier="[SourceIdentifier]" timecode="[SourceTimecode]"> <!-- timecode not implemented -->
<!-- Source Params -->
</Source>
<Sequence>
<Segment>
<Canvas duration="[DurationTimeCode]@[FrameRate]"/>
<!-- blank frames -->
</Segment>
<Segment instructions="[SegmentInstructions]"> <!-- instructions not implemented -->
<Video source="[SourceIdentifier]">
<Head>
<Edit mode="[TimeCodeMode]" time="[StartTimeCode]@[FrameRate]"/> <!-- mode not implemented -->
<!-- video start time -->
</Head>
<Tail>
<Edit mode="[TimeCodeMode]" time="[StartTimeCode]@[FrameRate]"/> <!-- mode not implemented -->
<!-- video end time -->
</Tail>
</Video>
<Image layout="[Layout]"
location="[OverlaySource]"
duration="[DurationTimeCode]@[FrameRate]"> <!-- layout not implemented -->
<Head>
<Opacity level="[Opacity]%"/> <!-- Opacity not implemented -->
<Fade duration="[FadeTimeCode]@[FrameRate]" shape="linear"/> <!-- shape not implemented -->
<!-- overlay fade in time -->
</Head>
<Body>
<Opacity level="[Opacity]%"/> <!-- Opacity not implemented -->
</Body>
<Tail>
<Opacity level="[Opacity]%"/> <!-- Opacity not implemented -->
<Fade duration="FadeTimeCode]@[FrameRate]" shape="linear"/> <!-- shape not implemented -->
<!-- overlay fade out time -->
</Tail>
</Image>
</Segment>
<Segment instructions="[SegmentInstructions]"> <!-- instructions not implemented -->
<!-- Segment Params -->
</Segment>
</Sequence>
</Composition>