Dao Huy (Lucas)

Dao Huy (Lucas)

Subtitle & caption specialist, Da Nang, Vietnam

BA in EnglishIELTS 7.0HSK 5Upwork Top-Rated Plus4.99/5 from 80 reviewsTop 1%7+ years, 200+ projects
Recently delivered English SDH for six episodes (around 160 minutes) with true CEA-608 and CEA-708 embedded and independently QC-verified, for a US media-localization agency.
[engine revving]>> DRIVER: We need to move, now.

SDH adds the speaker ID and the sound cue plain captions drop.

CEA-608CEA-708EDM>> Pop-on00:0000:1000:2000:30timecode (29.97 DF)
CEA-608 and CEA-708 caption events on one timeline, cleared by an EDM pulse on the first frame.
The same event decoded on both services, exactly as a broadcaster's decoder sees it.
01 Caption languages

Closed captions in the CEA-608 and CEA-708 broadcast standards are authored in English, the language I have delivered for broadcast and streaming. Vietnamese is my native language for subtitle work.

EnglishDelivered for US streaming (608 + 708)
VietnameseNative, subtitles and SDH
Need Chinese or French subtitles instead?Subtitle translation
02

Which caption format do you need?

The delivery format depends on where the file plays. Here is how the broadcast and web standards compare.

FormatStandardWhere it playsCharactersBest for
CEA-608Legacy line 21SD broadcast, fallbackLatin, no CJKBackward compatibility
CEA-708Modern digitalHD / ATSC, streamingExtended LatinHD broadcast
SCC608 sidecarBroadcast handoff608 setSidecar delivery, QC
SMPTE ST 2052-1708 Timed TextStreaming, archiveUnicode708 interchange
SRT / WebVTTWeb subtitleWeb players, OTTUnicode, any languageWeb, multilingual
03

Why captions that look fine still fail

A caption file can look perfect in an editor and still break on a broadcast decoder. These are the failures I check for on every file.

Looks fine in the editor
What the decoder does
01No EDM on the first frame
The previous caption ghosts on screen. I write an Erase Displayed Memory pulse on frame 1.
02Roll-up instead of pop-on
Text scrolls where it should snap into place. I author true pop-on caption events.
03Caption over a lower-third
Text collides with on-screen names. I raise the positioning to clear them.
04Non-drop timecode on 29.97
Timing drifts across the reel. I lock to 29.97 drop-frame.
05608 or 708 only
The file fails on one class of decoder. I embed true 608 and 708 together.
04Recent delivery
6
episodes
~160
minutes
608 + 708
true, embedded
MXF OP1A
+ SCC sidecar

English SDH for six episodes of a US streaming series, delivered to a US media-localization agency. True CEA-608 and CEA-708 embedded in an MXF OP1A wrapper, with an SCC sidecar and a burned-in preview, every file independently decoded and verified with caption-inspector.

Client and title withheld under NDA.

What you receive

SCC sidecar (Scenarist Closed Captions, CEA-608)
MXF OP1A with embedded CEA-608 and CEA-708
SMPTE ST 2052-1 Timed Text (708) XML sidecar
SRT and WebVTT export for web players
Burned-in preview MP4 for sign-off

Spec checklist

Pop-on captions, up to 32 characters per line
>> for speaker changes, [MUSIC] for music cues
EDM (Erase Displayed Memory) written on the first frame
Positioning raised to clear on-screen names and lower-thirds
23.976, 24 and 29.97 drop-frame timecode
Independently decoded and checked with caption-inspector

Toolchain

  1. Author

    Built withSubtitle Edit · Aegisub
    Compatible withEZTitles · OOONA
  2. Encode & embed

    Built withFFmpeg
    Compatible withTelestream MacCaption · Telestream Vantage
  3. QC decode

    Built withcaption-inspector · CCExtractor
    Compatible withInterra BATON Captions
Standards
CEA-608CEA-708SCCMXF OP1ASMPTE ST 2052-1

How it works

1

Scope and spec

You send the video and target profile. I confirm frame rate, timecode, caption style and the delivery formats you need.

2

Author

I time and write the captions or subtitles to the reading-speed, line-length and positioning rules for the target.

3

Encode and wrap

I produce the deliverables: SCC, MXF OP1A embed, SMPTE ST 2052-1 or DCP XML, plus a burned-in preview.

4

QC and deliver

I decode the result independently with caption-inspector, fix anything that drifts, and deliver with a report.

Three-layer QC before anything ships

Broadcast and cinema files fail on decoders, not in an editor preview. Every delivery goes through three passes and an independent decode.

1. Rough pass

Spot and draft every caption against the script, source audio and shot changes.

2. Alignment and timing

Tune reading speed, line breaks and positioning; align to shot changes and clear names and lower-thirds.

3. Independent senior QC

Decode the result on a separate decoder, check conformance to the target spec, and sign it off.

Characters-per-second held to spec on every event
Safe-title and safe-area violation check per caption
Multi-device and projection playback testing
Independent CEA-608 and CEA-708 decode with caption-inspector
NDA and secure handling for unreleased films and pre-air episodes; screeners are deleted on delivery.

Indicative rate

$2.5–5 / minute

Request a quote

Frequently asked questions

What is the difference between CEA-608 and CEA-708?

CEA-608 is the legacy line-21 caption standard; CEA-708 is the modern digital standard for HD and streaming. I author both and embed true 608 and 708 together in the MXF OP1A wrapper, so the file plays correctly on old and new decoders.

How do I know the captions decode correctly?

Every file is decoded independently with caption-inspector (the Comcast open-source QC tool), so you can see the exact 608 and 708 output and positioning before you air it.

How much do closed captions cost?

Indicative rates are $2.5–5 per minute depending on turnaround and source quality. Send the video and I send an exact quote within 10 minutes.

Request a quote

Typical response within 10 minutes

Get QuoteWhatsApp