SequenceDocument

SequenceDocument (XML complex type SequenceType) is a simple format for describing a sequence, with a model similar to sequences in the Final Cut Pro XML interchange format.

Structure

A sequence consists of a number of audio and/or video tracks where each track may consist of one of more segments (to make clips appear edge-to-edge in the generated timeline). Each segment has a position in the timeline (in and out) and references a specific interval and track of an item (item, sourceTrack (1-based), sourceIn and sourceOut.)

For video the sourceTrack element specifies the n th video track that should be included. For audio it specifies a specific channel in an audio track. For example, for media with two audio streams each with two audio channels, sourceTrack=3 would specific the first channel in the second audio stream.

The elements in / out and sourceIn / sourceOut corresponds to the Final Cut Pro XML elements in / out and start / end respectively. See Timing Values for more information.

Example

A sequence with a single video track with one second of video from the item with id VX-1.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SequenceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <track>
    <audio>false</audio>
    <segment>
      <item>VX-1</item>
      <sourceTrack>1</sourceTrack>
      <in>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>25</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>25</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
  </track>
</SequenceDocument>
HTML/XML

If the item has 10 minutes of video and stereo audio, it could be included in a sequence like this:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SequenceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <track>
    <audio>false</audio>
    <segment>
      <item>VX-1</item>
      <sourceTrack>1</sourceTrack>
      <in>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
  </track>
  <track>
    <audio>true</audio>
    <segment>
      <item>VX-1</item>
      <sourceTrack>1</sourceTrack>
      <in>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
  </track>
  <track>
    <audio>true</audio>
    <segment>
      <item>VX-1</item>
      <sourceTrack>2</sourceTrack>
      <in>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
  </track>
</SequenceDocument>
HTML/XML

A two seconds long video track sequence made from the first second of video from items VX-1 and VX-2 using multiple segments on one track.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SequenceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <track>
    <audio>false</audio>
    <segment>
      <item>VX-1</item>
      <sourceTrack>1</sourceTrack>
      <in>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>25</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>25</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
    <segment>
      <item>VX-2</item>
      <sourceTrack>1</sourceTrack>
      <in>
        <samples>25</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>50</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>25</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
  </track>
</SequenceDocument>
HTML/XML

Effects

The table below describes the effects that can be added to segments in a sequence.

Effect

Parameter

Range

Description

crop

left

0.0–1.0

Percentage to crop from left side of the picture

right

0.0–1.0

Percentage to crop from right side of the picture

top

0.0–1.0

Percentage to crop from the top

bottom

0.0–1.0

Percentage to crop from the bottom

position

vert

-1.0–1.0

Vertical offset in output in percentage.

horiz

-1.0–1.0

Horizontal offset in output in percentage.

scale

scale

0.0–Inf

Horizontal and vertical scale.

rotation

rotation

Inf–Inf

Number of degrees to rotate picture, clockwise, around center.

opacity

opacity

0.0–100.0

The opacity, from fully transparent (0.0) to fully opaque (100.0).

Effects are added in the follow way:

<segment>
  ...
  <effect name="scale">
    <parameter name="scale" value="50"/>
  </effect>
</segment>
HTML/XML

Effects can also be applied at specific key frames.

<segment>
  ...
  <effect name="scale">
    <parameter name="scale">
      <point position="0" value="0"/>
      <point position="125" value="100"/>
    </parameter>
  </effect>
</segment>
HTML/XML

Rendering two different videos to one view by scaling and positioning them.

<track>
    <audio>false</audio>
    <segment>
        <item>VX-1</item>
        <sourceTrack>1</sourceTrack>
        <in>
            <samples>0</samples>
            <timeBase>
                <numerator>1</numerator>
                <denominator>25</denominator>
            </timeBase>
        </in>
        <out>
            <samples>250</samples>
            <timeBase>
                <numerator>1</numerator>
                <denominator>25</denominator>
            </timeBase>
        </out>
        ...
        <effect name="position">
            <parameter name="horiz" value="-0.25"/>
            <parameter name="vert" value="0.25"/>
        </effect>
        <effect name="scale">
            <parameter name="scale" value="50"/>
        </effect>
    </segment>
</track>
<track>
    <audio>false</audio>
    <segment>
        <item>VX-2</item>
        <sourceTrack>1</sourceTrack>
        <in>
            <samples>0</samples>
            <timeBase>
                <numerator>1</numerator>
                <denominator>25</denominator>
            </timeBase>
        </in>
        <out>
            <samples>250</samples>
            <timeBase>
                <numerator>1</numerator>
                <denominator>25</denominator>
            </timeBase>
        </out>
        ...
        <effect name="position">
            <parameter name="horiz" value="0.25"/>
            <parameter name="vert" value="0.25"/>
        </effect>
        <effect name="scale">
            <parameter name="scale" value="50"/>
        </effect>
    </segment>
</track>
HTML/XML

Transitions

The table below describes the transitions that can be added between segments in video tracks in a sequence. If a transition has a corresponding SMPTE wipe code , then either the transition name or wipe code can be used to select that transition.

Transition

SMPTE Wipe Code

Dissolves

CrossDissolve

-

DitherDissolve

-

FadeInOutDissolve

-

Wipes

BandWipe

-

CentreWipe

21 or 22

CheckerWipe

-

InsetWipe

3, 4, 5 or 6

Iris Wipes

CrossIris

7

DiamondIris

102

OvalIris

119

RectangleIris

101

StarIris

128

Example

A sequence with two clips that are transitioned using a star wipe:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SequenceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <track>
    <audio>false</audio>
    <segment>
      <item>VX-1</item>
      <sourceTrack>1</sourceTrack>
      <in>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
    <segment>
      <item>VX-1</item>
      <sourceTrack>1</sourceTrack>
      <in>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>15000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>30000</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
    <transition>
      <in>
        <samples>14975</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>15025</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <transition>StarIris</transition>
    </transition>
  </track>
</SequenceDocument>
HTML/XML

Overriding shape tag transcode preset

New in version 5.6.

The SequenceDocument used for rendering a sequence can also override the output settings of the shape tag specified for the rendition, see the override element in SequenceType in XML Schema for details.

Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SequenceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <track>
  ...
  </track>
  <override>
    <audio>
      <mix>
         <input channel="0" gain="1.0"/>
         <input channel="2" gain="1.0"/>
      </mix>
      <mix>
         <input channel="1" gain="1.0"/>
         <input channel="3" gain="1.0"/>
      </mix>
    </audio>
  </override>
</SequenceDocument>
HTML/XML

Reference external media on the timeline

New in version 21.3.

The SequenceDocument used for rendering a sequence normally references items that are known to VidiCore, but the user can also reference external video media by using an URI. See the externalVideoMedia in SequenceMediaType in XML Schema for details. The externalVideoMedia element has a couple of mandatory elements and some optional.

Element

Explanation

uri

URI where VidiCore can access the media.

format

File format/extension of the media. For example mov or mxf.

essenceStreamId

Zero based stream/track id of the stream/track to use in the media.

timeBase

Time base of the media, used with samples to calculate the media duration.

samples

Number of samples, used with timeBase to calculate the media duration.

width

Width of the media.

height

Height of the media.

pixelAspectRatio

Pixel aspect ratio of the media.

Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SequenceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <track>
    <audio>false</audio>
    <segment>
      <externalVideoMedia>
        <uri>http://www.example.com/my_video</uri>
        <format>mov</format>
        <essenceStreamId>0</essenceStreamId>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
        <samples>450</samples>
        <width>720</width>
        <height>576</height>
        <pixelAspectRatio>
          <horizontal>1</horizontal>
          <vertical>1</vertical>
        </pixelAspectRatio>
      </externalVideoMedia>
      <sourceTrack>1</sourceTrack>
      <in>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </in>
      <out>
        <samples>25</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </out>
      <sourceIn>
        <samples>0</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceIn>
      <sourceOut>
        <samples>25</samples>
        <timeBase>
          <numerator>1</numerator>
          <denominator>25</denominator>
        </timeBase>
      </sourceOut>
    </segment>
  </track>
</SequenceDocument>
HTML/XML