Subtitle file formats - General


In this article:

Overview
890 (Cavena)

Adobe Premiere EDL

Cheetah CAP

CIN

DFXP (MXF)

DLP (Digital Cinema)

DVD Builder

DVD Studio Pro (STL)

EBU STL

EBU-TT

IMSC Rosetta

Final Cut Pro

PAC (and variants)

RTF

SAMI

SCC (Scenarist Closed Caption)

Scripts (Protoscript)

SRT

SRT SubRip

Text

Ultech DV3000

WebVTT

Overview

This topic describes the level of support for various third-party file formats when importing and exporting subtitle files.

 

Click here for information about Broadstream file formats (e.g. PAC, RAC, UniPac)

 

Note that Q-Live supports a limited subset of these third-party formats.

 

Not all formats are fully detailed in this release of Wincaps Q4 help.  These will be expanded in future releases.

 

General:

 

Any extra spaces between words are automatically stripped when you import a file.  However, extra spaces are retained on export.   

 

Files containing blank subtitles:

 

If a Wincaps Q4 file contains any blank subtitles they will not be included in the final exported file for most export formats and the remainder of the subtitles will be renumbered automatically by the export process.  The exception is when exporting to the STL, PAC, 890, TXT, RTF, DFXP and EBU-TT formats.  In these cases the blank subtitles will be exported if the Allow blank subtitles option is selected.  If the option is unselected then the blank subtitles will be suppressed in the same manner as the other export formats.         

 

890 (Cavena/ScanTitling)

GSI Information:

 

The GSI fields map to the 890 file header as follows.  The numbers in brackets indicate the length of each field.

 

Programme title -> TITLE #1 and #2 (43)

Episode title -> EPISODE TITLE #1 and #2 (28)

Translator name -> TRANSLATOR (28)

Start of programme -> START TIMECODE (11)

Contact details -> PRODUCER (28)

Production number -> COMMENTS #1 (24)

Tape Number -> TAPE NR (20)

Programme Length -> PROGRAM LENGTH (8)

Font 1 and Font2 are 'hard coded as 'VFONTL.V' but can be configured in the export settings.

 

Other GSI fields are ignored on export and other 890 metadata header fields are ignored on import.

 

Background styles:

 

Wincaps Q4's background styles map to the 890 boxing styles as follows:

 

On export:

 

Block/Solid/Row ->"Automatic Box" (20)

Surround/Any/Any->"Border" (40)

Shadow/Any/Any/Any->"Shadow" (60)

Block/Solid/Box/Any ->"Fixed Box" (A0)

 

Other Wincaps Q4 background styles are ignored on export (will be set to "None")

 

On import:

 

"Automatic Box" (20) -> Block/Solid/Row

"Border" (40) -> Surround/2/Smooth

"Shadow" (60) -> Shadow/2/South East/Thin

"Wide Border" (80) -> Surround/2/Smooth

"Fixed Box" (A0) -> Block/Solid/Box/4px

"Fixed Height Box" (C0) -> Block/Solid/Box/4px

 

Wincaps Q4 only supports a boxing transparency (clip level) of 0 (solid) (0x08) which will be converted to "black background" on import.  Any subtitles with background styles will be set to "solid" on export.

 

Vertical positioning:  

 

  1. Each subtitle in an 890 file consist of 1, 2 or 4 records, each record contains 2 rows of subtitle text.   

  2. This gives a maximum of 8 on-screen row positions where row 1 is at the bottom and row 8 at the top.

  3. Wincaps Q4 positions rows 1-4 at the bottom of the screen and 5-8 at the top    

  4. If a subtitle has more than 8 rows then only the first 8 are exported

  5. A simple bottom-positioned subtitle that fits on two rows will be exported as 1 record

  6. A top-positioned subtitle will be exported as 4 records with the top line of text on row 8.

  7. A middle-positioned subtitle will be exported as 4 records with text on row 5 (single row) or 5-6 (two-rows)

 

Language support:  

 

Language codes follow the standard EBU specification, e.g. 09 (hex) for English, 27 (hex) for Finnish, 28 (hex) for Swedish etc.

 

If the Hard-of-Hearing checkbox is ticked in the file language properties, the language code will be set as follow for the Finnish and Swedish languages:

 

Language

Language code

Second language code

Finnish

47 (hex)

27 (hex)

Swedish

48 (hex)

27 (hex)

 

Wincaps Q4 does not currently support secondary languages.  Wincaps Q4 will set the "second language" code to the same value as the "language" code except in the special "Hard-of-Hearing" cases noted above.

 

Comments:

 

Comments are not supported in 890 files.

Adobe Premiere EDL

This is a control file and images (png) export designed to place subtitles on the Adobe Premiere timeline. Each subtitle will be exported as a PNG image with the control file placing he image on the timeline . 

 

The boxing settings can be used to configure the appearance of the resulting image files and there is a configuration to use a zip file if required.

Cheetah CAP

This is a proprietary US Closed Caption Line 21 file format for broadcast media. It was developed by Cheetah International.

Caption Inc CIN

Proprietary US Closed Caption Line 21 file format from Caption Inc

Subtitle Comments

Wincaps Q4 and Q-Live can contain 'Comments' which are supported by some file formats (STL) and subtitle comments can also be exported directly to a TXT file in the format:

 

0001 00:00:00:00 00:00:01:02

Comment in the first subtitle

0002 00:00:01:02 00:00:02:07

Comment tin the second subtitle

0004 00:00:03:17 00:00:04:24

Comment in the fourth subtitle

DFXP (MXF)

This is the Timed Text Markup Language 1 (TTML1) (Third Edition) format, also known as DFXP. DFXP supports colour, position and timecode with HH:MM:SS:FF and HH:MM:SS:MMM. DFXP supports language and unicode characters.

 

Q4 supports a partial implementation of this format.  The list of currently unsupported attributes includes (but is not limited to):

 

* Text justification

* Surround styles

 

The following notes apply to DFXP export at this time:

 

* NTSC personality - the exported timecodes show slight inaccuracies

* Vertical positioning - the export contains (up to) three regions for "before", "center" and "after" displayAlign.  Each subtitle is assigned the closest matching region.  In other words, subtitles that are "top", "middle" or "bottom" positioned will be exported accurately, subtitles with non-standard vertical positions will be assigned the nearest suitable one.   

 

The format of the timecode information ("begin" and "end") is configurable on export, along with the default file extension and the choice of region positioning units as either pixels (default) or percentages.

 

When the positioning is configured to use percentages, the value of tts:fontSize is calculated as a percentage of the row height.  This in turn is calculated as the vertical height of the display in pixels divided by 15 (the default number of screen rows defined by the DFXP specification).   For example, a font size of 30 pixels in a 720x576 display equates to 78% (i.e. (30 / (576/15)) * 100)

 

The following notes apply to DFXP import at this time:

 

The import assumes that all regions are full-screen.  Subtitles that have one of the three standard displayAlign attributes will have their vertical position set to top/middle/bottom accordingly.  The positioning of scattered and/or  split subtitles won't be preserved on import.

 

Horizontal positioning/justification is set by the  textAlign attribute.  Subtitles will be positioned L/L, C/C or R/R depending on the setting of textAlign.  

 

DFXP does not support comments in subtitles.

 

There are also extra settings

 

An example of Wincaps Q4's DFXP output is shown below:

 

 

Netflix recommends a limited DFXP output that 'hard codes' position, colour, font etc for their programmes and Wincaps supports this format with an option in the export settings

Text colour would be default, white, only. Position is top or bottom, size is always 100%. There is limited styling support, with only italics being supported.

The above export would have the styling and layout as:

 

<styling>

   <style xml:id="S1" tts:color="white" tts:fontFamily="Arial" tts:textAlign="center" tts:lineHeight="normal" tts:fontSize="100%" />

</styling>

<layout>

    <region xml:id="R1" tts:origin="10% 10%" tts:extent="80% 40%" tts:displayAlign="before" />

    <region xml:id="R2" tts:origin="10% 50%" tts:extent="80% 40%" tts:displayAlign="after" />

</layout>

 

For further information go to Netflix Format

DLP Cinema

There are two DLP export formats, the original 'Interop' format and the newer (2010) SMPTE format, which has a little bit more header information and a different timing format.

Both formats have configuration settings that can be edited here.

 

The Interop format uses two timing options, ticks and decimal fractions. Ticks are specified as HH:MM:SS:TTT where HH = hours, MM =minutes, SS = seconds, and TTT = ticks. 
A “tick” is defined as 4 msec and has a range of 0 to 249.
Alternatively, time may be specified in the format HH:MM:SS.sss where HH = hours, MM = minutes, SS =seconds, and sss = decimal fractions of a second. In this format, 01:12:42.5 would indicate 1 hour, 12 minutes, 42 and ½ seconds. This definition of time was chosen because it will allow frame accurate timing at multiple frame rates, without specifying the display frame rate in the subtitle file.

 

There is a third option in the Wincaps export settings for the 'Current Wincaps output' which uses a frame/tick basis with a range of 249 and this valet is cumulative but doesn't follow the specification whereas the ticks and decimal output do.

 

SMPTE uses the time, expressed as "hours, minutes, seconds and editable units (HH:MM:SS:EE) since the start of the timeline". For the Wincaps export EE will use the FF value from the Wincaps file.

The StartTime value in the DLP XML output from Wincaps uses the GSI Start of programme value.

The SMPTE format also has an option in the export settings to create a separate font file. As per the spec, the font file is a unique uuid that matches the LoadFont ID in the XML file.

For the SMPTE export Wincaps uses the sample layout as the guide for the formatting of the XML file.

 

DVD Studio Pro

DVD Studio Pro is a discontinued software tool published by Apple which has the file extension STL. It was discontinued with the release of Final Cut Pro X.

 

EBU STL

STL supports position, limited colours and HH:MM:SS:FF timecodes with Teletext personality and basic position, styles and HH:MM:SS:FF timecodes with Open Caption. There is no provision in the EBU STL Spec for colour support with Open Caption. STL supports language and has specific code pages for GSI (General Subtitle Information) and separate code pages for the subtitle text.

 

The EBU STL Specification only supports 25 and 30 fps and although Wincaps Q4 does allow other frame rates to be exported, these cannot be guaranteed to work with other systems as they will be invalid files. We allow export of Open Caption files with 24 fps although these are not specifically supported by the EBU STL spec. This produces a DFC code in the GSI of 24.01 which may not be read correctly by a third party system as it is invalid to the spec which only supports 25.01 and 30.01.

 

For best results any file should be converted to a frame rate (25 or 30 fps) that is supported by the EBU STL spec.

 

There are STL/EBU export settings which can be configured to make exports compatible with other third-party EBU implementations.

 

For STL files that have a zero (000) numbered subtitle at the start, the import can be configured to place the subtitle in the Wincaps subtitle list. This will renumber all the subtitles by plus one. When exporting the file to STL, the subtitles can be configured to be the subtitle number minus one to allow for a zero numbered subtitle on export.

 

  Note: Up until 4.43.7, Wincaps EBU STL export used different 'flavours' that managed different interpretations of the EBU STL Spec by third party systems.  Some of these settings were hard coded, and in some cases created invalid EBU STL files. We now manage the EBU STL export flavours using the Export settings.

 

EBU-TT

This is the EBU-TT Subtitling format definition.   

 

Wincaps Q4 supports a partial export of this format.  The list of current limitations includes (but is not limited to):

 

 

The following issues also apply to EBU-TT export at this time:

 

 

Wincaps Q4 has limited support when importing EBU-TT files. All subtitles are placed at the bottom.

 

Wincaps Q4's export complies with EBU-TT Part 1 with the exception of individual subtitle comments, which are an extension.  If you require strict Part 1 compliance, you should remove any subtitle comments from the file before exporting.

 

Wincaps Q4's EBU-TT export allows you to choose one of three different units systems as follows:

 

 

Note:  Whilst it is possible to export Teletext subtitles using pixel positioning or Open Caption subtitles using cell positioning, these are not supported configurations.

 

This section describes Wincaps Q4's implementation of the EBU-TT export in more detail.

 

File comment:

 

You can optionally define a comment to be included at the start of the exported file.  You do this in the Additional Settings tab of the configuration dialog.  The comment will appear like this in the exported file:

 

 

Top-level attributes:

 

The table below shows how the top-level attributes of the exported file are populated:

 

top-level attribute name

Content

 

 

ttp:timeBase

configurable timing mode - either "smpte" or "media"

ttp:frameRate

as per file personality settings  (1)

ttp:frameRateMultiplier

as per file personality settings (1)

ttp:dropMode

as per file personality settings (1)

ttp:markerMode

"discontinuous" (1)

ttp:cellResolution

configurable - defaults to "50 30"

tts:extent

defaults to file personality settings unless overridden via the configuration dialog (2)

xml:space

"preserve" (4)

xml:lang

derived automatically from the file language setting, e.g. "en-GB" (3)

 

(1) These elements are only generated if ttp:timeBase is set to "smpte"

(2) This element is only generated if Units System - Pixels is selected

(3) If Transmission/Interchange mode is selected then only the first part of the value will be used, e.g. "en" instead of "en-GB"

(4) These items are omitted from the output if Transmission/Interchange mode is selected

 

Document Metadata:

 

The table below shows how the document metadata elements are populated.  Unpopulated (i.e. blank) elements will be omitted from the export:

 

ebuttm: element name

Content

 

 

documentEbuttVersion

v1.0 (1)

documentIdentifier

contents of GSI "Story" field

documentOriginatingSystem

Wincaps Q4

documentCopyright

© 2017

documentTargetAspectRatio

as per file personality settings

documentOriginalProgrammeTitle

contents of GSI "Programme title" field

documentOriginalEpisodeTitle

contents of GSI "Episode title" field

documentTranslatedProgrammeTitle

contents of GSI "Translated programme title" field

documentTranslatedEpisodeTitle

contents of GSI "Translated episode" field

documentTranslatorsName

contents of GSI "Translator's name" field

documentTranslatorsContactDetails

contents of GSI "Translator's contact details" field

documentSubtitleListReferenceCode

contents of GSI "Reference code" field

documentCreationDate

contents of GSI "Creation date" field

documentRevisionDate

contents of GSI "Revision date" field

documentRevisionNumber

contents of GSI "Revision number" field

documentTotalNumberOfSubtitles

total number of subtitles in the exported file

documentMaximumNumberOfDisplayableCharacterInAnyRow

40

documentStartOfProgramme

contents of GSI "Start of Programme" field

documentPublisher

contents of GSI "Publisher" field

documentEditorsName

contents of GSI "Editors Name" field

documentEditorsContactDetails

contents of GSI "Editors Contact Details" field

documentUserDefinedArea

contents of GSI "Comments" field

 

(1)  If Transmission/Interchange mode is selected then only those metadata elements indicated by (1) will be included  

 

Speakers:

 

Each speaker in the speaker list is exported as a ttm:agent element as shown in the example below.  Note that the identifiers ("Sp1", "Sp2" etc.) are not guaranteed to be sequential.  

 

Wincaps will assign the speaker information when importing the EBU-TT file and will also assign names if available. Wincaps speaker colours are not assigned when importing speaker information from an EBU-TT file.

 

Styling:

 

On export, Wincaps Q4 analyses the file and creates an optimised set of pre-defined styles which are then applied to the subtitle div elements as appropriate.  The following example demonstrates this:

 

 

In this example subtitle one uses style S1 whereas subtitle two uses a combination of two styles to achieve the desired effect.

 

You can optionally assign a default style to the div.   You configure this default style in the Additional Settings tab of the configuration dialog, e.g.

 

 

If you specify a default style in this way, Wincaps Q4 assigns it to style "S1" and assigns "S1" as the div style as shown in the example below:

 

 

Wincaps Q4's export uses the following styling attributes:

 

tt:style attribute name

Content

 

 

xml:id

Unique style identifier ("S1", "S2" etc.)

tts:fontSize

(depends on units configuration option - see below)

tts:color

from subtitle foreground text colour (1)

ebutts:multiRowAlign

from subtitle justification (3)

tts:backgroundColor

from subtitle background text colour (2)

tts:textAlign

from subtitle horizontal position

tts:lineHeight

(depends on Line Height Override configuration option (4)

 

(1) Colours can be exported using textual representation (e.g. "black", "white", "red" etc.) or as RGB values depending on the chosen Colour format in the configuration dialog.  Colours that do not have a defined EBU-TT textual representation are always exported as RGB values.

 

(2) If the Colour format is set to RGB then you can specify an optional transparency value that will be applied to all background colours.

 

(3) ebutts:multiRowAlign will be omitted from the output if it has the same value as tts:textAlign.  In addition, there is a configuration option to suppress all instances of ebutts:multiRowAlign for use where the target system does not support this attribute.

 

(4) tts:lineHeight is set to "normal" unless the Line Height Override configuration option is ticked in which case it is set to the entered value.

 

tts:fontSize is determined as follows, depending on the configured units system:

 

Selected Units system

Content

 

 

Percentages

"NNN%" where NNN is calculated as follows:

Teletext personality: "200%" for double-height Teletext,assuming no Line Height Override.  If an override value VVV is specified then NNN is calculated as 20,000 / VVV, e.g. if the override is specified as is 125% then fontSize will be 160%   

 

Open Caption personality: NNN =  (font size / (screen height in pixels / vertical cells)) * 100

Cells

"1c 2c" for double-height Teletext

Pixels

"NNpx"  where NN is the font size of the text  

 

 

Layout:

 

Wincaps Q4 uses regions in order to position the subtitles.  The export configuration allows you to select between two different types of regions:

 

 

The values and units for origin and extent will depend on the chosen system units (percentages/cells/pixels) and are calculated using the configured values of Cell Resolution and, for Open Caption subtitles, the dimensions of the Video Extent and the safe area settings configured in the Wincaps Q4 file.   

 

Wincaps Q4's export uses the following layout attributes:

 

tt:region attribute name

Content

 

 

xml:id

Unique region identifier ("R1", "R2" etc.)

tts:origin

(see above)

tts:extent

(see above)

tts:displayAlign

from subtitle vertical position

 

A typical layout for "Safe Area" regions is shown in example one.

 

Div:

 

Individual subtitles are enclosed by a <tt:p> element.   Subtitle text is always enclosed by a <tt:span> element.  Line breaks are not enclosed by a span.  An empty row is indicated by an empty span <tt:span />

 

The following attributes are present for each subtitle:   

 

tt:p attribute name

Content

 

 

xml:id

Unique subtitle identifier ("C1", "C2" etc.)

region

References a previously defined region

begin

from subtitle In time timecode

end

from subtitle Out time timecode

style

References a previously defined style

 

 

Notes on positioning of Teletext subtitles:

 

When exporting Teletext subtitles, you should select either Cell or Percentage units in the export configuration dialog.

 

Normally you should leave Cell Resolution set to "50 30" (the defaults), since this is the recommended setting for Teletext subtitles (reference EBU-TT part 2.)   This surrounds the fixed  40 x 24 Teletext safe area grid as shown below:

 

 

Cells are converted to percentages by simple division, i.e. in the standard case, one cell has a horizontal dimension of 2% (100 / 50) and a vertical dimension of 3.3% ( 100 / 30)

 

Positioning is achieved as follows:

 

1. Region type "Safe Area"

 

In this mode, Wincaps Q4 always creates regions that have the full dimensions of the safe area (i.e. 40 by 24) and uses tts:textAlign, tts:multiRowAlign and tts:displayAlign attributes to position the subtitle text within the regions.  This gives accurate results when subtitles are standard positioned and justified in Wincaps Q4 (i.e. one of left/centre/right horizontal position, one of left/centre/right justification and one of top/middle/bottom vertical position.  

 

IMPORTANT: Note that subtitles with non-standard horizontal positions will not be positioned accurately in the export.  Such subtitles will be assigned a style in which tts:textAlign is not specified.  Furthermore, subtitles with non-standard justification will be assigned a style in which tts:multiRowAlign is set to "start".  Subtitles with non-standard vertical positions  will be assigned a region whose tts:displayAlign most closely matches the subtitle position (i.e. top/middle/bottom).

 

IMPORTANT: If the subtitle text is split (i.e. separated by one or more blank rows) then the separating rows will NOT be taken into account in the export, i.e. the exported subtitle text won't be split.  

 

2. Region type "Subtitle"

 

This mode can give more accurate results where subtitles have non-standard horizontal and/or vertical positions.

 

Where subtitles are standard horizontal positioned and justified in Wincaps Q4, the export  will use regions that have tts:extent set to the full width of the safe area (i.e. 40c or 80%) and height corresponding to the number of subtitle rows.   tts:textAlign and tts:multiRowAlign attributes are used to align the subtitle text within the region.  tts:origin is used to position each region at the required vertical row position.

 

For subtitles that have other positions but are still left/centre/right justified, the export will use a region that has positions and dimensions corresponding to the subtitle's position and size as shown in the Wincaps Q4 status bar.  tts:multiRowAlign is set appropriately for the subtitle text.  tts:textAlign is not specified.    

 

IMPORTANT: For scattered subtitles (i.e. those that have non-standard position and justification settings), the export will use a region as described above.  However,  the export is currently unable to position the individual rows correctly.  Instead, tts:multiRowAlign is simply set to "start" and tts:textAlign is undefined.

 

IMPORTANT: If the subtitle text is split (i.e. separated by one or more blank rows) then the separating rows will NOT be taken into account in the export, i.e. the exported subtitle text won't be split.  

      

Notes on positioning of Open Caption subtitles:

 

When exporting Open Caption subtitles, you should select either Pixel or Percentage units in the export configuration dialog.

 

Positioning is achieved in a similar way as described above for Teletext subtitles and the same limitations apply with respect to the positioning of split and scattered subtitles.

 

Examples

 

1: Export of a Teletext file using "Cell" units and "Safe Area" regions.  

Final Cut Pro

This is the NLE Final Cut Pro format.  This format consists of a set of images (one per subtitle) plus an XML control file.

Options for the FCP format including the choice of image type (tif or png) can be configured here as well as an option to zip the output.

In addition, boxing settings can be used to configure the appearance of the resulting image files.

 

IMSC Rosetta

IMSC-Rosetta has been developed to represent the abilities of various existing proprietary subtitle file formats well, specifically those used in broadcast today, allowing reliable reversible conversion to and from those formats. It is not necessarily the most efficient format for emission (e.g. although fully IMSC compatible, there are more efficient forms of IMSC for representing subtitles for OTT use). The spec is here.

IMSC is limited to 12 vertical position similar to the PAC format and the PAC row setting is used to fix the IMSC vertical Region settings.

  Note: Due to the differences in vertical row support between IMSC and Wincaps it is not possible to be 100% accurate when importing an IMSC file into Wincaps. Please check the resulting vertical row in Wincaps to make sure it is what is required.

 

Protoscript

Protoscript also known as Learnscript, is a text-based format that may contain scene and speaker information. Typically this is the format produced by the Wincaps Script Extractor product.

An example of a Protoscript file is shown below:

 

 

A Protoscript file may contain scene and speaker information, as well as text and timecodes.

 

Protoscript files assume a reading rate of 200 wpm when exported into Wincaps.

RTF

The example below shows how Wincaps Q4's RTF export appears:

 

 

Each subtitle has a header with the following format:

 

<subtitle number> <in time> <out time>

 

RTF files should be formatted correctly as per the above example for accurate import.

 

If the RTF file contains raw unformatted text (i.e. no timecode information) then Wincaps Q4 will attempt to import the text as best it can.  

SAMI

The SAMI export settings can be configured.

 

SCC (Scenarist Closed Caption)

The SCC format is a Closed Caption (Line 21) DVD Authoring format.

 

SCC supports the Closed Caption Character set:

 

 

SCC has no concept of language and only supports NTSC frame rates. SCC supports limited colours, position and timecodes as HH:MM:SS:FF.

 

The file is double-spaced, with data lines alternating with blank lines (see below example). The first line identifies the format and version - -it needs to be exactly like this. The third and subsequent alternating lines start with the timecode and are followed by the data.

The timecode is in SMPTE format, which is either hours:minutes:seconds:frames for non-dropframe timebase or hours:minutes:seconds;frames for dropframe timebase. Both are 29.97 frames per second.

The data is made up of two-byte hexidecimal words, separated from each other by spaces and from the timecode by a tab character

SCC supports the Closed Caption character set (specified in EIA/CEA standard 608-B).

 

Example SCC file:

 

00:00:00:00 9420 94ae 94f4 97a1 d375 62f4 e9f4 ece5 20f4 e5f8 f4ae 8080 8080 942f

 

00:00:01:09 9420 94ae 94f2 97a1 d3e5 e3ef 6e64 2073 7562 f4e9 f4ec e520 f4e5 f8f4 ae80 8080 8080 942f

 

00:00:03:06 9420 94ae 9440 5468 e9f2 6420 7375 62f4 e9f4 ece5 20f4 e5f8 f42c 2061 ecec 206d e964 64ec e580 94e0 9723 70ef 73e9 f4e9 ef6e e564 2061 6e64 20ea 7573 f4e9 e6e9 e564 ae80 8080 8080 942f

 

00:00:08:06 942c

 

This breaks down as:

 

00:00:00:00 {RCL}{ENM}{1508}{TO1}Subtitle text.{}{}{EOC}

00:00:01:09 {RCL}{ENM}{1504}{TO1}Second subtitle text._{}{}{EOC}

00:00:03:06 {RCL}{ENM}{14Wh}Third subtitle text, all middle_{15Wh}{TO3}positioned and justified._{}{}{EOC}

00:00:08:06 {EDM}

 

RCL is Resume Caption Loading (code is 9420) - this starts a 'pop-on' caption. SCC is effectively pop-on only.

ENM is Erase Non-displayed Memory (code is 94ae) - this clears the off-screen buffer (pop-on captions are composed in an off-screen buffer before they are sent to the screen).

The third 'command is the Preamble Access Code (PAC)  - these are used to position the cursor. The 'screen' is divided into 16 rows and 32 columns. The PAC can position the cursor to any row and column divisible by 4.

For a caption on a column not evenly divisible by four, then the PAC is followed by a TO (Tab Over) code: 97a1 to move over one column, 97a2 to move over two columns, or 9723 to move over three columns.

80 is used as a filler, to complete a hexidecimal word, 20 is an 'opaque' space and clears any pre-existing text (basically, a space) and 91b9 is a transparent space (sometimes used for extra positioning). Some systems read 91b9 as a paragraph marker, so this command can be removed, see the SCC export settings.

In the example: 1508 (94f4), 1504 (94f2), 14Wh (9440), 15wh (94e0) translate as:

1508 - Position cursor at row 15, column 08, with plain white text.

1504 - Position cursor at row 15, column 04, with plain white text.

14wh - Position cursor at row 14, column 00, with plain white text.

15wh - Position cursor at row 15, column 00, with plain white text.

The text then follows. Most of the character set consists of a single byte so each hexidecimal word contains two characters. The remaining characters require two bytes. 8080 is used as filler to time out the frames until the caption needs to be displayed.

EOC is End Of Caption (code is 942f) - this swaps the off screen buffer with the caption screen.

EDM is Erase Displayed Memory (code is 942c) - this erases the caption.

 

The control codes are RCL, ENM, EOC and EDM and these codes can also be doubled up using a setting in the SCC export configuration.

 

The output above would simply be:

 

00:00:00:00 9420 9420 94ae 94ae 94f4 97a1 d375 62f4 e9f4 ece5 20f4 e5f8 f4ae 8080 8080 942f 942f

 

00:00:01:09 9420 9420 94ae 94ae 94f2 97a1 d3e5 e3ef 6e64 2073 7562 f4e9 f4ec e520 f4e5 f8f4 ae80 8080 8080 942f 942f

 

00:00:03:06 9420 9420 94ae 94ae 9440 5468 e9f2 6420 7375 62f4 e9f4 ece5 20f4 e5f8 f42c 2061 ecec 206d e964 64ec e580 94e0 9723 70ef 73e9 f4e9 ef6e e564 2061 6e64 20ea 7573 f4e9 e6e9 e564 ae80 8080 8080 942f 942f

 

00:00:08:06 942c 942c

 

SCC files can be configured for export and Import.

 

SRT

SRT is a text-based format and does not support position, colour or style. Timecode format is HH:MM:SS,MMM.

 

In and Out times are saved as hh:mm:ss,ms

 

Colour, position and markup information is not supported by this format. See SRT SubRip.

 

An example of a file in SRT format is shown below:

 

 

When exporting to SRT, you can choose the desired character encoding, i.e. ANSI or Unicode.  This is set by the same configuration option as for Text file exports.  The default format is UTF-8 with BOM.  Note that versions of Wincaps Q4 prior to 4.11 always used UTF-8 no BOM when exporting SRT files.

 

SRT and SRT SubRip use timecode basis from W32 file. If 00:00:00:00 start time is required then the file will need to be altered in Wincaps using Offset & Status.

SRT SubRip

SRT SubRip is an extension to SRT that adds the support of colours and text styles but still uses the .srt extension. SRT SubRip does not support position.

 

An example of a file using the SRT SubRip export.

 

1

00:00:00,000 --> 00:00:05,480

Subtitle one, white, normal text, left positioned

at the bottom.

2

00:00:05,480 --> 00:00:09,760

<font color="yellow">Subtitle two, yellow, right positioned at the top.</font>

3

00:00:09,760 --> 00:00:14,440

<font color="cyan">Subtitle three, cyan, centre positioned in the</font>

<font color="cyan">middle.</font>

4

00:00:14,440 --> 00:00:20,920

Subtitle four, white, with an italic <i>word,</i> an

underlined <u>word</u> and a bold <b>word.</b>

 

There is an export configuration option to change the colour details to hexidecimal. This changes the colour information as below:

 

1

00:00:00,000 --> 00:00:05,480

Subtitle one, white, normal text, left positioned

at the bottom.

2

00:00:05,480 --> 00:00:09,760

<font color="#FFFF00">Subtitle two, yellow, right positioned at the top.</font>

3

00:00:09,760 --> 00:00:14,440

<font color="#00FFFF">Subtitle three, cyan, centre positioned in the</font>

<font color="#00FFFF">middle.</font>

4

00:00:14,440 --> 00:00:20,920

Subtitle four, white, with an italic <i>word,</i> an

underlined <u>word</u> and a bold <b>word.</b>

 

Text

Export:

 

Text export offers the choice of plain text (without timecodes) or timecoded text.  You can configure the encoding to use when exporting text files.  Q4 gives you the choice of:

 

 

Note that versions of Wincaps Q4 prior to 4.11 offered the choice of "Text" or "Unicode".  The old "Text" format is the equivalent of "ANSI no BOM" and the old "Unicode" format is the equivalent of "UCS-2 Little Endian with BOM".

 

An example of a plain text export is shown below:

An example of a timecoded text export is shown below:

Import:

 

When importing a text file, Wincaps Q4 examines the file to determine the type of encoding used.  This is displayed in the Import Wizard, where you can override it if necessary.  Wincaps Q4 can import text files encoded in any of the formats listed in the "Export" section above.

 

When inserting a text file, Wincaps Q4 auto-detects the encoding, using the language of the current file to determine the correct code page for ANSI text files.

 

When importing raw text files, Wincaps Q4 splits the text up into subtitles according the Configure Import - Text settings.  These allow you to specify the number of rows of text per subtitle and the maximum number of characters per row.

Ultech DV3000

The Ultech DV3000 export settings can be configured.

 

WebVTT

The WebVTT format is primarily a text based format but with the capacity to use more detailed positioning and styling, although this is currently not the standard format. The current spec is here

 

WebVTT supports colour, position, style, timing, comments and speakers. 

 

The timecodes use milliseconds in the format: hh:mm:ss.mmm 

 

WebVTT has a configuration dialog which allows you to select different interpretations of the specification as different systems and web players have different requirements.

 

The most common format contains all the subtitle information (colour, position etc) within the subtitle. This is the Basic Format in the configuration options.

 

For example; a Wincaps W32 file like below:

 

 

Would appear in the WebVTT file like this:

 

 

WEBVTT

 

00:00:16.320 --> 00:00:20.320 line:100% position:0% align:start
<c.white.bg_black>This subtitle is white and positioned left,</c>
<c.white.bg_black>justified left and is at the bottom.</c>

 

00:00:19.840 --> 00:00:24.160 line:100% position:0% align:center
<c.yellow.bg_black>This subtitle is yellow and is positioned left,</c>
<c.yellow.bg_black> justified centre and is at the bottom.</c>

 

00:00:24.160 --> 00:00:28.480 line:100% position:50% align:center
<c.cyan.bg_black>This subtitle is cyan and is positioned centre,</c>
<c.cyan.bg_black>justified centre and is at the bottom.</c>

 

00:00:28.480 --> 00:00:32.680 line:0% position:50% align:center
<c.green.bg_black>This subtitle is green and is positioned centre,</c>
<c.green.bg_black>justified centre and is at the top.</c>

 

00:00:32.680 --> 00:00:37.120 line:50% position:100% align:end
<c.white.bg_black><i>This subtitle is white, italic and positioned</i></c>
<c.white.bg_black><i>and justified right, and is in the middle.</i></c>

 

 

The timing is in milliseconds.

Line is the vertical position, with 100% being 'bottom' positioned and 0% being 'Top' position.

Position is the horizontal position, with left being 0% and right being 100%.

Align is the Wincaps justification position, left justified is 'start', centre is 'center' and right is 'end'.

Colour is part of the 'cue' for the subtitle text and other styles are supported as with SRT SubRip with Italics as 'i', underline as 'u' and 'b' as bold.

 

Some web players require colour information to be in style sheets, which is also support by the spec. The Basic Format with Colour Styles option will transfer the colour details to style sheets. This will make the W32 file look like this:

 

STYLE

::cue(.S1) {

color: white;

background-color: black;

}

STYLE

::cue(.S2) {

background-color: black;

}

STYLE

::cue(.S3) {

color: yellow;

}

STYLE

::cue(.S4) {

color: cyan;

}

STYLE

::cue(.S5) {

color: white;

}

1

00:00:00.000 --> 00:00:05.480 line:100% align:start

<c.S1>Subtitle one, white, normal text,

left positioned at the bottom.</c>

2

00:00:00.000 --> 00:00:04.280 line: 7% align:end

<c.S2><c.S3>Subtitle two, yellow,</c>

<c.S3>right positioned at the top.</c></c>

3

00:00:09.760 --> 00:00:14.440 line:59% align:center

<c.S2><c.S4>Subtitle three, cyan, centre</c>

<c.S4>positioned in the middle.</c></c>

4

00:00:14.440 --> 00:00:19.120 line:100% align:end

<c.S2><c.S5><i>Subtitle four is italic, white, and at the</i></c>

<c.S5><i>bottom right.</i></c></c>

 

There is a third option which also uses the 'Region' functionality, but currently this format is unproven when testing with web players.

For import, if there is no positional information then Wincaps will place the subtitles at the bottom and left positioned.

WebVTT also utilises Wincaps Speaker list for import and export. If the Wincaps files holds individual speaker information then this will be labelled in the WebVTT file. If there is speaker information in a WebVTT file then this can be imported into the Wincaps file and the Wincaps speaker functionality can then be applied to the file.

With the following WebVTT file which has three speakers with colours applied to the speakers...

 

WEBVTT

 

00:00:00.000 --> 00:00:03.600 line:100% position:0% align:start

<v Carmen><c.white.bg_black>Good afternoon and welcome to the show,</c>

<v Carmen><c.white.bg_black>my name is Carmen.</c>

 

00:00:03.600 --> 00:00:08.440 line:100% position:0% align:start

<v Carmen><c.white.bg_black>Today we will be looking at the secrets</c>

<v Carmen><c.white.bg_black>of buying a new car with Dave the dealer.</c>

 

00:00:08.840 --> 00:00:13.840 line:100% position:0% align:start

<v Dave><c.yellow.bg_black>Hi Carmen and hi everybody. Yes, we will</c>

<v Dave><c.yellow.bg_black>be looking at those clever little tips to</c>

 

00:00:13.840 --> 00:00:17.440 line:100% position:0% align:start

<v Dave><c.yellow.bg_black>making sure you get value for money</c>

<v Dave><c.yellow.bg_black>when buying a used car.</c>

 

00:00:17.440 --> 00:00:21.560 line:100% position:0% align:start

<v Carmen><c.white.bg_black>Also on the show we will be</c>

<v Carmen><c.white.bg_black>speaking to Stephanie about lipsticks.</c>

 

00:00:21.560 --> 00:00:23.040 line:100% position:0% align:start

<v Stephanie><c.cyan.bg_black>Yes Carmen, lipsticks!</c>

 

..will import into Wincaps with the speakers allocated and the file correctly coloured.

 

 

WebVTT also supports Comments for export and import. These show in the WebVTT file as NOTE and these appear beneath the subtitle text in the WebVTT file.

A Wincaps file with a comment in the second subtitle...

 

 

..will export like this:

 

WEBVTT

 

00:00:42.640 --> 00:00:45.480 line:100% position:0% align:start

<c.white.bg_black>This week, we can guarantee</c>

<c.white.bg_black>some spectacular</c>

00:00:45.080 --> 00:00:47.680 line:100% position:0% align:start

<c.white.bg_black>displays and not just from the red arrows.</c>

 

NOTE

Comment in subtitle two

 

A comment can also be displayed at the start of the file like this:

 

WEBVTT

 

NOTE

Comment at the top of the file

 

00:00:42.640 --> 00:00:45.480 line:100% position:0% align:start

<c.white.bg_black>This week, we can guarantee</c>

<c.white.bg_black>some spectacular</c>

00:00:45.080 --> 00:00:47.680 line:100% position:0% align:start

<c.white.bg_black>displays and not just from the red arrows.</c>

 

NOTE

Comment in subtitle two

 

The text will be placed in GSI Other Comments...

 

 

..and any text in the GSI Other Comments field will be passed to the WebVTT file with export.

 

WebVTT files created by WincapsASR that contain accuracy confidence values can be read in Q4 when importing the WebVTT file. There is a setting to configure the minimum required confidence value which can be used to run a check on the file after it has been imported.

 

See Also:

Customer options and settings

Export a file

Import and insert basics