Caption Conversion Guide

Convert SCC to IMSC

This is the conversion that puts a catalogue title on a streaming platform. It is a promotion rather than a reduction: IMSC can hold far more than the SCC contained, which means the work is not preserving information but deciding what to author in the space that opens up.

Can you convert an SCC file to IMSC?

Yes, and nothing is lost, because IMSC is more capable than CEA-608 in every dimension. Two things have to be created rather than converted: an end time for every caption, derived from the 608 erase commands, and a region and style model, since SCC has no equivalent to author from.

What changes when you convert SCC to IMSC

Every row here is either a direct transfer or something you are now able to express that the SCC could not. The risk in this conversion is not loss, it is producing a document that is valid TTML but fails a platform's specific profile check.

What survives and what changes converting SCC to IMSC
PropertyIn the SCCIn the IMSCResult
End timesNone. Captions clear on an erase commandExplicit begin and end on every subtitleDerived from the erase commands. Review the long durations
TextCEA-608 character setUnicodeTransfers, and the character-set ceiling disappears
Positioning32 by 15 character gridNamed regions as percentages of the frameGrid cells become percentages. A region model has to be authored
ColourSeven 608 coloursArbitrary colours with opacityThe seven become explicit colour values you choose
Italics and underline608 attributesStyle attributesTransfers
Frame rate29.97 fps onlyDepends on the declared time baseChoose a time base. Media offsets are common for streaming
Caption stylePop-on, roll-up, paint-onNo equivalent conceptRoll-up becomes discrete subtitles
Font and sizeDecided by the decoderRequested by the documentNew. Author deliberately or leave to platform defaults
Forced-display signallingNo equivalentAn explicit attributeNot present in the source. Add only if the programme needs it
Profile conformanceNot applicableVersion and profile must be declaredThe platform decides. This is where deliveries fail

Before you start: read the platform spec first

The conversion is straightforward. Passing the receiving platform's validator is the part that needs planning, and it is decided by the spec rather than by the source file.

  • The IMSC version and profile the platform requires. A file valid against IMSC 1.1 can be rejected by a validator expecting 1.0.
  • The aspect ratio of the master. Regions are percentages of the frame, so a layout built for 16:9 lands differently on a 2.39:1 picture.
  • The time base the platform expects. Media offsets and SMPTE timecode are both valid and produce different documents.
  • Whether the platform specifies a default region. Many do, and matching it avoids arguments about placement later.
  • How roll-up captions should be presented. Live-originated material converts to discrete subtitles, which changes the on-screen rhythm.

How to convert SCC to IMSC

Deriving end times and authoring the region model are the two steps that determine whether the result reads well; the rest is conformance.

  1. Open the SCC and select the caption channel
    Identify which 608 channel to convert, normally CC1. If a second language is on CC3, it becomes a separate IMSC file.
  2. Derive end times from the erase commands
    Each erase command becomes a subtitle end time. Review the longest durations, because a caption left up through a pause produces an unnaturally long subtitle.
  3. Map the 608 grid onto regions
    Convert grid rows and columns to percentage-based regions. Check any caption deliberately placed to avoid on-screen graphics.
  4. Author the style model
    Translate the seven 608 colours into explicit colour values, and decide whether to specify font and size or leave them to platform defaults.
  5. Choose the time base and frame rate
    Set the time base the platform expects. If the platform wants media offsets, the 29.97 timecodes convert to elapsed time.
  6. Declare the correct IMSC version and profile
    Write the profile declaration the platform's specification names, not a generic TTML one.
  7. Export and validate against the platform spec
    Validate against the named profile and version rather than against TTML generally. A technically valid document can still be non-conformant.
  8. QC against picture
    Play back against the master, checking placement, reading speed and the derived subtitle durations.

What breaks, and how to catch it

Nothing is lost in this direction, so every failure is either a derived value nobody reviewed or a conformance mismatch.

  • Naive end times. Deriving each end time as the next caption's start leaves subtitles on screen through pauses, which fails reading-speed checks and looks wrong.
  • Profile mismatch on delivery. The most common rejection. The document is valid TTML and does not satisfy the version and profile the platform asked for.
  • A region layout that assumes 16:9. Regions are percentages. A layout that clears a lower third on 16:9 can sit over picture on a wider aspect ratio.
  • Flattened roll-up rhythm. Live-originated roll-up captions become discrete subtitles. The words are right and the pacing feels different.
  • Colour choices nobody made. The seven 608 colours have to become explicit values. Accepting a converter's defaults can shift a programme's speaker colours noticeably.

When not to convert SCC to IMSC

This is usually the right conversion for a streaming delivery. The exceptions are about the source rather than the target.

  • A better source exists. If the title also has an MCC or an original subtitle master, start from that. SCC is the most constrained source you could convert from.
  • The platform wants WebVTT. Some do. WebVTT is a simpler target and native to browsers.
  • The programme needs forced subtitles. The SCC cannot tell you which events are forced, so that information has to come from elsewhere.
  • The platform spec names EBU-TT-D. Closely related, but it is a different profile with different required attributes.

The IMSC format reference covers profiles, versions and what each adds.

Frequently asked questions

SCC to IMSC questions

Specific questions about this conversion. For the formats themselves, see the SCC and IMSC references below.

From the erase commands. An SCC caption stays on screen until an erase command clears it, so that command's timecode becomes the subtitle's end time. The derivation is mechanical but the result needs review: a caption deliberately left up through a long pause produces a subtitle duration that may fail a platform's reading-speed requirements.

It removes constraints rather than adding quality. The 32-character line limit, the seven-colour palette and the character-set ceiling all disappear, and positioning becomes percentage-based rather than grid-based. But the conversion cannot recover information the SCC never held, so line breaks and placement decisions made for a 608 grid come across as they were.

Almost always a profile mismatch rather than a content problem. Platforms require a specific IMSC version, a matching profile declaration in the root element, and often particular attributes to be present or absent. Validate against the named profile and version, not against TTML generally, because a perfectly valid TTML document can be non-conformant.

They become discrete subtitles with begin and end times. IMSC has no roll-up concept, so the scrolling presentation cannot be reproduced. The words and their timing are preserved, but the on-screen rhythm of live captioning changes noticeably, which is worth flagging to the client before delivery rather than after.

Leave defaults unless the delivery spec says otherwise or a design decision depends on them. Platforms generally render subtitles with their own house styling, and a document that requests specific fonts can either be ignored or produce something inconsistent with the rest of the service. Colour is worth specifying where it carries speaker identification.

Convert SCC to IMSC

Bring a catalogue title to streaming

Closed Caption Creator derives end times from 608 erase commands with the durations visible for review, and writes IMSC to the version and profile your platform names.

Preview the region layout against picture before export, so placement is decided rather than defaulted.