Vidispine supports adding subtitles to an item. They can then for example be exported to Final Cut. Subtitles can also be used with sequences and can be included in the video when a sequence is rendered.

Subtitle metadata fields and groups

To add subtitles to a Vidispine item, the metadata field group stl_subtitle must be used. The group should be placed within a timespan corresponding to the in- and out timecodes the subtitles should be displayed. Within this group, the following fields can be set:

  • stl_text. This sets the actual text which should be displayed. Multiple lines are delimited by a line feed character.

  • stl_justification. Determines the justification of multiple lines of text.


    all lines are aligned to left border of text bounding box


    all lines are aligned in center of text bounding box


    all lines are aligned to right border of text bounding box

  • stl_xrelative. Horizontal position of base point relative to full video frame. (New in 4.2.6.)


    left border


    right border

  • stl_yrelative. Vertical position of base point relative to full video frame. (New in 4.2.6.)


    top border


    bottom border

  • stl_horizontalbase. Horizontal position of base point relative to text bounding box. (New in 4.2.6.)

    0.0 (or left)

    base point is left border of bounding box.

    0.5 (or center)

    base point is center of bounding box.

    1.0 (or right)

    base point is right border of of bounding box.

  • stl_verticalbase. Vertical position of base point relative to text bounding box. (New in 4.2.6.)

    0.0 (or top)

    base point is top border of of bounding box.

    0.5 (or middle)

    base point is middle of bounding box.

    1.0 (or bottom)

    base point is bottom border of bounding box.

  • stl_sizerelative. Height of font relative to full video frame.

  • stl_color. Color of text. Can be standard colors (red) or hexadecimal (#ff0000). (New in 4.4.1.)

  • stl_outline. Type of outline. (New in 4.4.1.)


    no outline


    rectangular outline


    fat stroke around text

  • stl_outlinecolor. Color of outline. (New in 4.4.1.)

  • stl_outlinesize. Size (margin) of outline. (New in 4.4.1.)

  • stl_font. Font of subtitle. (New in 4.4.1.)


    fixed-width font (default)


    sans-serif font


    font with serifs


  • stl_justification=left
  • stl_xrelative=0.9
  • stl_yrelative=0.5
  • stl_horizontalbase=right
  • stl_verticalbase=top

The subtitle language can be extracted from the .stl file itself or set using jobmetadata, key subtitleLanguage; jobmetadata has a higher priority.


<MetadataDocument xmlns="">
  <timespan start="10@PAL" end="100@25">
      <field><name>stl_text</name><value>some text&#13;&#10;actually two lines</value></field>

Rendering subtitles in a sequence

New in version 4.0.

If you have a sequence attached to an item in Vidispine the subtitle metadata can be included in the output file. To do this, you need to use a shape tag where <burnSubtitles>true</burnSubtitles> is set in the <video> element. Note that overlapping subtitle timespans are not allowed and will cause the render job to fail.


Let’s say we have an item VX-811 which has a sequence attached to it, and the following metadata:

<MetadataDocument xmlns="">
  <timespan start="72140@PAL" end="72260@PAL">
      <field><name>stl_text</name><value>No, I am your father.</value></field>
  <timespan start="72320@PAL" end="72490@PAL">
      <field><name>stl_text</name><value>No... that's not true!&#13;&#10;That's impossible!</value></field>

And we have the following shape-tag called MP4_512_SUB:

<TranscodePresetDocument xmlns="">

Then a render job is started using:

POST /item/VX-811/sequence/render?tag=MP4_512_SUB
<JobDocument xmlns=""><jobId>VX-1436</jobId><user>admin</user><started>2013-03-08T13:02:15.654Z</started><status>READY</status><type>CONFORM</type><priority>MEDIUM</priority></JobDocument>

This will render the sequence and include any subtitle metadata as subtitles in the output video.

SCC support

New in version 4.7.

To export subtitle metadata for an item in SCC format, use the SCC export resource.

GET /item/VX-56/metadata/export/scc
Scenarist_SCC V1.0

00:00:00:00  942c 942c 9420 9420 9470 9470 54e5 f8f4

00:00:10:00  942f 942f

00:00:20:00  942c 942c

TTML support

Subtitles for an item can also be retrieved in TTML format using Export to TTML.

GET /item/{id}/metadata/export/ttml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tt xmlns:ns2="" xmlns="" xmlns:ns4="" xmlns:ns3="urn:ebu:tt:style" xmlns:ns5="" xmlns:ns6="urn:ebu:tt:metadata" ns5:frameRate="25" ns5:cellResolution="50 30" ns2:extent="704px 576px" xml:lang="en">
        <ns6:documentPublisher>Institut fuer Rundfunktechnik   </ns6:documentPublisher>
      <style xml:id="textCenter" ns2:textAlign="center"/>
      <style xml:id="defaultStyle" ns2:fontFamily="monospaceSansSerif" ns2:fontSize="1c 1c" ns2:lineHeight="normal" ns2:textAlign="center" ns2:color="white" ns2:backgroundColor="transparent" ns2:fontStyle="normal" ns2:fontWeight="normal" ns2:textDecoration="none"/>
      <style xml:id="whiteOnblackDH" ns2:fontSize="1c 2c" ns2:color="white" ns2:backgroundColor="black"/>
      <region xml:id="bottom" ns2:origin="10% 10%" ns2:extent="80% 80%" ns2:displayAlign="after" ns2:padding="0c" ns2:writingMode="lrtb"/>
      <region xml:id="top" ns2:origin="10% 10%" ns2:extent="80% 80%" ns2:displayAlign="before" ns2:padding="0c" ns2:writingMode="lrtb"/>
    <Change to 'iv' xml:id="SGN1" style="defaultStyle">
      <p region="top" style="textCenter" begin="00:00:00:00" end="00:00:02:10">
        <span style="whiteOnblackDH">two-line</span>
        <span style="whiteOnblackDH">top</span>
      <p region="top" style="textCenter" begin="00:00:02:14" end="00:00:04:21">
        <span style="whiteOnblackDH">one-line top</span>