youngji.kimv0.2.1

tvsub for macOS

Watch K-dramas and Korean films in your language.

When an Apple TV purchase does not include the subtitles you need, translate a source file with Claude directly inside tvsub. Then tvsub keeps it in sync without touching the movie itself.

K-content is the focus, not a restriction: tvsub works the same way with any movie you bought in Apple TV.app.

Download tvsub v0.2.1Built-in translation →macOS 13+ · Apple Silicon or Intel
Verify your download (SHA-256)

This release is not Developer ID-signed or notarized, so verify the download before opening it.

c44706c870ea2de616d556cc8ec8ff8e6c0f351802b5b7f6ef1a3ce814b5646a

Run shasum -a 256 tvsub-v0.2.1.zip and compare the result with the value above.

How it works

From missing subtitles to your language.

01

Your language may not be included

A Korean film or episode you bought in Apple TV.app may not offer subtitles in the language you want.

02

Translate it inside tvsub

Double-click translate.command, choose a lawfully obtained SRT or SMI file and your language, review the estimate, then translate.

03

tvsub keeps it with the scene

A transparent overlay follows play, pause, rewind, and seek while Apple TV.app keeps playing normally.

The video and its DRM-protected stream stay inside Apple TV.app. tvsub does not decrypt, copy, capture, or alter either one.

Built-in translation · Experimental

Turn a source subtitle into the language you speak.

Double-click translate.command, choose a source file and target language, then review the cost estimate before you approve the translation. The result is saved into the same subtitles folder and appears in tvsub automatically.

A source subtitle is still required. Translation cannot recover dialogue that was never captioned, and LLM output can miss Korean honorifics, relationships, wordplay, or cultural references. Review the result before relying on it.

No Claude Code, Python, MCP client, or extra package is required.

Choose a target language

Ask for the language you want; the source can be Korean or another subtitle you trust.

Keep the timeline intact

Cue IDs, cue count, and timecodes are checked before the translated SRT is saved.

Carry names and context

Adjacent cues help preserve names and conversational context, but do not guarantee translation quality.

See cost before and after

Review an estimate before approval, then see a token-based usage estimate after completion.

Private by design

tvsub v0.2.1 · macOS 13+ · your Anthropic API key and API credits

Your API key is stored in macOS Keychain, never a plaintext settings file. When you approve a translation, the selected subtitle text and nearby context are sent only to Anthropic. Usage is billed to your Anthropic account.

Advanced automation

The optional MCP extension remains available for developers who want to control tvsub from Claude Code. It requires a separate Python and MCP setup; everyday translation does not.

Download tvsub MCP v0.1.0
Verify your download (SHA-256)

This release is not Developer ID-signed or notarized, so verify the download before opening it.

f788503b4d9b88d021055dc0ca85383be619f176760f5f307052c90881ed4468

Run shasum -a 256 tvsub-mcp-v0.1.0.zip and compare the result with the value above.

Install

Direct, transparent distribution.

This direct download has only an ad-hoc signature: it is not signed with an Apple-issued Developer ID certificate and is not notarized. Because macOS cannot verify it with Apple, Gatekeeper keeps its executable files in download quarantine until you explicitly remove that attribute.

  1. 1.

    Download and unzip the folder

    Keep the folder together. Add your own subtitle file to its subtitles folder.

  2. 2.

    Remove download quarantine once

    First compare the downloaded ZIP's SHA-256 with the value above. Then, in Terminal, type the command below, add a space, drag only the unzipped tvsub folder into the window, and press Return. This removes Gatekeeper's quarantine attribute recursively from that folder, so only do it if you trust the source and the checksum matches.

    xattr -dr com.apple.quarantine <folder>
  3. 3.

    Translate if needed, then open run.command

    Double-click translate.command first if you need another language. Then open run.command and keep its Terminal window open while you watch.

Sync

Two lines fix the whole movie.

One anchor corrects a fixed delay. A second, far apart, also corrects gradual timing drift between different cuts or frame rates.

  1. 01

    Pause on a spoken line

    Press Space at the moment a line is spoken.

  2. 02

    Open sync.command

    Search for a few words and select that exact subtitle cue.

  3. 03

    Resume and check

    The first anchor removes the immediate offset.

  4. 04

    Repeat near the end

    Do it again in the last 30 minutes to correct timing drift.

FAQ

Before you download.

Where do I get subtitle files?

tvsub does not include movie subtitles. Use an .srt or .smi file that you lawfully obtained or created for your own viewing. Subtitles and translations may be protected by copyright; do not redistribute them.

Can tvsub create subtitles from Korean audio?

Not in v0.2.1. tvsub needs a source subtitle file; it does not transcribe dialogue from the movie. The source can be Korean or another language you trust.

How reliable is the translation?

Translation is generated by an LLM and should be reviewed. Honorifics, relationships, wordplay, names, and cultural references can be wrong or inconsistent, especially when the source subtitle has already been translated once.

Does tvsub bypass Apple TV DRM?

No. It does not read, decrypt, capture, or modify the video. It only reads playback timing that macOS exposes and draws a separate window above Apple TV.app.

Is this made by or affiliated with Apple?

No. tvsub is an independent personal project. Apple, Apple TV, and macOS are trademarks of Apple Inc.

Could a macOS update break it?

Yes. tvsub relies on a private MediaRemote API. It works on the tested macOS versions, but Apple can change or remove that API without notice.

Why is it not in the Mac App Store?

The private API is not suitable for Mac App Store review. This release is not Developer ID-signed or notarized; the download includes the source code and is distributed directly.