Converting SRT to INTEROP/SMPTE XML in Subtitle Edit

You can convert SRT subtitle files to Interop and SMPTE D-Cinema XML 2010/2014 inSubtitle Edit

Besides Subrip/SRT, Subtitle Edit can also convert subtitle formats like PAC, STL, TTML XML, Timed Text, DVD subtitles, and more.


Converting an SRT file to an INTEROP/SMPTE XML DCP subtitle file in Subtitle Edit

Choose the D-cinema XML 2014 format

In the Toolbar choose

  • Format: SMPTE 2014. SMPTE 2014 is required to pass some DCP validation tools.
  • Encoding: UTF-8 with BOM

Change the XML properties

File – DcinemaSmpte2014 properties


Choose Movie title and reel number

  • Make one XML for each reel with the correct reel nr.

Generate unique UUIDs

  • Click on the Subtitle ID Generate ID button
  • Click on the URI Generate button

Choose Edit Rate and Time Code Rate

  • Change it to the frame rate of the DCP
  • Choose 25 FPS to get a 25 FPS time code when making a 25 FPS SMPTE DCP. Because the timecode is frame-based it is important to change it in subtitle edit and not manually.

Choose Top/bottom margin and font size

  • MinimumTop/bottom margin value: 8. 10 are also used.
  • Default font size: 42. 38 – 40 are also used.

Choose font

Arial.ttf is the normal subtitle font. The max size is 640 KB.

Rename the font to the font URI UUID that was generated.

Example:

Rename arial.ttf to 03048fd9-d51c-4050-bfbe-933320810bdd and place it in the same folder as the XML file.

Choose Color, Effect, and Effect Color

Color is usually white (FFFFFFFF). Some use a warmer white to match the white point used in the movie.

The default effect in SMPTE 2014 is shadow.

Effect color is usually black

Choose Fade up/down Time

The default is 0

Save the XML

To activate the Dcinema properties, make a change in the subtitles. Then save the XML, and change it back.

  • File – Save as
  • Format D-Cinema SMPTE 2014 XML

Example SMPTE 2014 XML

<?xml version="1.0" encoding="UTF-8"?>
<SubtitleReel xmlns="http://www.smpte-ra.org/schemas/428-7/2014/DCST">
  <Id>urn:uuid:9d19361f-72d5-4829-93b8-4a6b57e2f34c</Id>
  <ContentTitleText>test</ContentTitleText>
  <AnnotationText>This is a subtitle file</AnnotationText>
  <IssueDate>2021-10-17T09:25:42</IssueDate>
  <ReelNumber>1</ReelNumber>
  <Language>en</Language>
  <EditRate>25 1</EditRate>
  <TimeCodeRate>25</TimeCodeRate>
  <StartTime>00:00:00:00</StartTime>
  <LoadFont ID="Arial">urn:uuid:3dec6dc0-39d0-498d-97d0-928d2eb78391</LoadFont>
  <SubtitleList>
    <Font ID="Arial" Size="40" Weight="normal" Color="FFFFFFFF" Effect="shadow" EffectColor="FF000000">
      <Subtitle SpotNumber="1" FadeUpTime="00:00:00:00" FadeDownTime="00:00:00:00" TimeIn="00:00:01:00" TimeOut="00:00:03:00">
        <Text Vposition="14" Valign="bottom" Halign="center" Direction="ltr">test</Text>
        <Text Vposition="8" Valign="bottom" Halign="center" Direction="ltr">test</Text>
      </Subtitle>
    </Font>
  </SubtitleList>
</SubtitleReel>

Passing DCP Validation tools

To pass validation in DCP validation tools like Wailua and Easydcp the XML need to follow specific rules

Short xmlns schema

ST 428-7:2014 uses only the short xmlns schema and this is required by some DCP validation tools

<SubtitleReel xmlns="http://www.smpte-ra.org/schemas/428-7/2014/DCST">


Issue date without UTC timezone

Using Issue Date in this format yyyy-mm-ddThh:mm:ss instead of the UTC timezone used in the example in ST 428-7:2014 is required by some DCP validation tools.

  <IssueDate>2021-10-17T09:25:42</IssueDate>
  

Each XML file must have the correct reel number

<ReelNumber>1</ReelNumber>

Every reel in a DCP must have subtitle XML if one reel has one.

Use a XML with a blank subtitle in logo reels .

Start time must be 00:00:00:00

 <StartTime>00:00:00:00</StartTime>

RDD-52 Validation rules

To pass RDD-52: validation in Easydcp and other tools you need to follow some rules:

A minimum duration of 15 frames with a minimum duration of 2 frames between Subtitle instances

  7.2.5 Spot Duration All Subtitle instances as defined In SMPTE ST 428-7 should have a minimum duration of 15 frames with a minimum duration of 2 frames between Subtitle instances. Note: It is advised to avoid using persistent subtitles where possible, instead opting for a repetitive Subtitle instance within the SubtitleList as defined In SMPTE ST 428-7.

RDD-52

4 second before first subtitle

  7.2.4 First Timed Text Event The composition’s first Timed Text event’s TimeIn attribute as defined In SMPTE ST 428-7 should be greater than or equal to the value of 00:00:04:ZeroE (four [4] seconds). Note: In a multi-reel composition, this only applies to the first reel. This is to accommodate the average buffer size of a wide range of rendering devices.   

RDD-52

Recommended limit of 52 characters per line

  7.2.7 Main Subtitle Line Treatment (Informational) Assuming common Font attributes are used, each Subtitle instance as defined In SMPTE ST 428-7, intended for usage as DisplayType:MainSubtitle should have a recommended limit of fifty-two [52] characters per line but should not exceed seventy-nine [79] characters per line. Each Subtitle instance should also have a maximum of three [3] lines.   

RDD-52

Adding the XML to a DCP

To add an SMPTE 2010/2014 XML subtitle file to an SMPTE DCP, you need a folder with the XML file and font.

When the DCP is made the XML file and font will be combined into an MXF file.

In an Interop DCP, the XML file and Font are placed in a subfolder when the DCP is made.

Interop properties

The properties for Interop TI DLP are similar to SMPTE 2010/2014.
It does not have Edit Rate and Time Code Rate and the Font URI is just Arial.ttf

Changing font size manually

When the font is 42 and the bottom margin is 8, Subtitle Edit uses 6 percent between the two subtitle lines. They are on 8/14.
If you choose 40, Subtitle Edit changes them to 5 percent apart so they are on 8/13.
If you want font size 40 and 8/14 lines you can edit the XML in a text editor like BBEdit (mac) or notepad ++(win)
Replace:
Size=”42
with
Size=”40″

Moving subtitles up and down

If you want to move a subtitle up, to avoid hitting a burned-in title you can edit the XML:
Text Vposition=”14″
Text Vposition=”8″
to something like
Text Vposition=26″
Text Vposition=”20″

The vposition formatting will reset if you edit the XML again in Subtitle Edit.


Testing XML subtitles

Testing in DCP-o-matic player with soft subtitle support

Checking subtitles in Easydcp Plus

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.