Dao Huy (Lucas)

Dao Huy (Lucas)

Subtitle & caption specialist, Da Nang, Vietnam

Native Vietnamese linguist. I deliver broadcast and digital-cinema captions and subtitles to spec, every file independently QC-verified.

BA in EnglishIELTS 7.0HSK 5Upwork Top-Rated Plus4.99/5 from 80 reviewsTop 1%7+ years, 200+ projects

Built to standard

Built to the standards your delivery is checked against.

Netflix Timed Text Style GuideCEA-608 / CEA-708 (ATSC, FCC)SMPTE ST 2052-1 (IMSC)DCI / SMPTE ST 428-7WCAG 2.1 AAADACVAA

Output ready for the delivery specs of

NetflixAmazon Prime VideoApple TV+Disney+ / DMEDBBC (EBU-TT)DCI cinemaYouTubeTikTok

Selected clients and partner agencies

TransPerfectOmnicom (Magnon Sancus)Arizona State UniversityArgos MultilingualVerbolabsScale AIAndovarCrowdinA US media-localization agency

Some work is under NDA; logos available on request.

Every delivery target, mapped to a format

No guesswork on the spec: I map your delivery target to the exact caption format it ingests.

OTT / streamingiTT, TTML, SMPTE ST 2052-1
BroadcastSCC, MXF OP1A (CEA-608/708)
Digital cinemaDCP XML (SMPTE ST 428-7), Interop
Screener / reviewSRT, WebVTT, burn-in MP4

What the work looks like

Placement, SDH detail and QC, shown rather than described.

Placement inside the subtitle-safe band.

Broadcast and OTT placement

Pop-on CEA-608 and CEA-708 in the subtitle-safe band, raised to clear names and lower-thirds.

[engine revving]>> DRIVER: We need to move, now.

SDH adds the speaker ID and the sound cue.

SDH with speaker IDs and sound cues

Toggle SDH to see the speaker change and sound cue that plain subtitles drop.

After
We need to move, now.
Before
timecode drift +8f, 61 chars/linewe really need to get moving right now before they come back around the corner

Drag to compare the flagged caption and the fix.

QC catches what an editor hides

An overflowing, late caption fixed to a clean, on-time two-liner.

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. 1. Rough pass

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

  2. 2. Alignment and timing

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

  3. 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.

Security and handover

Unreleased masters and pre-air screeners are handled to recognized industry standards, from the moment a file moves to the moment it is destroyed. Every control below maps to a named specification.

Measured against
MPA Content Security Best PracticesTPN Common GuidelinesISO/IEC 27001NIST SP 800-88AES-256 / TLS 1.2+

Inside your pipeline

Aspera, Signiant Media Shuttle, MASV, or your own studio portal. Never a consumer service.

MPA Best Practices

Encrypted end to end

AES-256 at rest, TLS 1.2+ or SFTP in transit. Time-limited links only.

AES-256 / TLS 1.2+

NDA per title

Signed before any file moves. No exceptions.

ISO/IEC 27001

Locked-down workstation

Full-disk encryption, no consumer cloud sync, auto-locking.

CIS Benchmarks

Watermarks respected

Your forensic and burn-in watermarks stay intact, never stripped.

MPA / TPN

Secure deletion, confirmed

Erased after sign-off, with written confirmation.

NIST SP 800-88

Aligned with the MPA Content Security Best Practices and TPN Common Guidelines. I apply these controls directly as an independent contractor and work inside your existing security program.

Specs and tolerances

title-safelower-thirdWe need to move, now.SUBTITLE-SAFE BAND
  • Reading speed: CPS 15 to 17
  • Characters per line: CPL 37 to 42
  • Formats: SCC, MXF OP1A, SMPTE ST 2052-1, DCP XML, Interop, SRT, VTT
  • Frame rates: 23.976, 24, 25, 29.97 DF, 59.94
  • Positioning raised to clear names and lower-thirds
  • Independently QC-verified with caption-inspector
  • Throughput: up to ~60 video minutes per day
  • Toolchain: caption-inspector, CCExtractor, FFmpeg, Subtitle Edit, Aegisub, Adobe Premiere Pro

How a project runs

  1. 1

    Scope and spec

    Built withFFprobe · MediaInfo
    fps · timecode · drop-frame
  2. 2

    Author

    Built withSubtitle Edit · Aegisub
    Compatible withEZTitles · OOONA
    Netflix TTSG · EBU-TT
  3. 3

    Encode and wrap

    Built withFFmpeg · Adobe Media Encoder
    Compatible withTelestream Vantage · Marquise MIST
    CEA-608/708 · SMPTE 436M · DCP ST 428-7
  4. 4

    QC and deliver

    Built withcaption-inspector · CCExtractor
    Compatible withInterra Baton · Telestream Vidchecker
    CEA-608/708 · IMSC

Recent delivery

Broadcast-grade English SDH for six episodes of a US streaming series, around 160 minutes, delivered through a US media-localization agency. True CEA-608 and CEA-708, independently QC-verified.
6episodes
~160minutes
ENSDH, pop-on
608 + 708true, embedded

The brief

A US localization agency needed English SDH for a streaming series: captions that decode cleanly on a real decoder, not just look right in an editor, carrying speaker IDs, sound cues and positioning that never covers an on-screen name.

The work

I authored pop-on SDH across all six episodes, timed to reading-speed and line-length limits, with >> speaker changes, [MUSIC] and sound cues, and captions raised to clear names and lower-thirds. True CEA-608 and CEA-708 were embedded in the master.

QC and sign-off

Every file was decoded independently with caption-inspector to confirm the 608 and 708 text and positioning on a real decoder before delivery. The end client reviewed the captions and signed off.

Title and studio under NDA. NDA available on request.

Just reviewed the captions and they look great.

End client, via a US media-localization agency

4.99/5 from 80 Upwork reviews, Top-Rated Plus, top 1%

Frequently asked questions

Do you work to the Netflix Timed Text Style Guide?

Yes. I build subtitles and SDH to the Netflix Timed Text Style Guide targets, including reading speed, characters per line, line breaks and positioning, and I deliver iTT or IMSC (SMPTE ST 2052-1) when that is the required format. I build to the public spec and am not affiliated with Netflix.

Can you sign an NDA?

Yes. NDA and secure handling are standard for unreleased films and pre-air episodes. Screeners are deleted on delivery.

What is your turnaround?

Throughput is up to around 60 finished video minutes per day, so a typical episode turns around in a day or two once the spec is confirmed. Send the runtime and deadline and I confirm an exact schedule.

Which delivery formats do you provide?

SCC and MXF OP1A embeds for broadcast, SMPTE ST 2052-1 (IMSC) and iTT or TTML for OTT, DCP subtitle XML (SMPTE ST 428-7) and Interop for cinema, plus SRT, WebVTT and a burned-in preview.

How do you verify the captions decode correctly?

Every file is decoded on a separate decoder with caption-inspector, so the exact CEA-608 and CEA-708 output and positioning are checked before delivery, not just previewed in the authoring tool.

Do you meet US accessibility requirements?

Yes. Captions are built to WCAG 2.1 AA, ADA and CVAA expectations for readable, well-timed and correctly positioned captions.

Request a quote

Send the master and target profile. Typical response within 10 minutes.

What do you need?

This opens your email app with the details filled in. Nothing is sent until you press send.

Related captioning services

Request a quote

Typical response within 10 minutes

Get QuoteWhatsApp