Sequences definitions

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>

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>

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>

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>

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>

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>

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>

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>

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>