Vantage CML Playlist File

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
        }
    }
}
ParameterDescriptionAllowed ValuesDefault Value
cml_sourceCML source file URLValid URLnone

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>