YuzuLingo vs SubtitleExtractor (Dim145)
YuzuLingo stays in the browser. You cover burned-in subtitles on the video you are already watching, including YouTube, Bilibili, and other web players. There is no server to set up and no video file to upload. Turn on Interact to read the burned-in line on your device, with furigana or pinyin when the language has them. Show that text always, on hover, or while you hold a hotkey.
SubtitleExtractor is Dim145’s self-hosted web app, in the repo SubtitleExtractor. You run it with Docker (Postgres, MinIO, a Go API, and a React site) and upload an mp4 or mkv. A Python worker OCRs the burned-in subtitles with RapidOCR, PP-OCRv5, or PaddleOCR-VL and you download SRT or ASS. The site includes an editor with a video preview, a cue table, and a waveform. You can draw up to two subtitle areas. Extraction can also run in the browser with WebCodecs and onnxruntime-web. The macOS worker runs on the host. The NVIDIA worker image is built, and the README says that path is unverified. A French text normalizer is included. Optional hooks write an SRT sidecar, watch a folder, take a Sonarr or Radarr import, and refresh Plex, Jellyfin, or Bazarr. Release v0.8.0. AGPL-3.0.
Where each one fits
| Feature | YuzuLingo | SubtitleExtractor |
|---|---|---|
| Install in the browser, no server to set up | ||
| Cover burned-in subs while a web video plays | ||
| No video file to upload | ||
| Read that line while the video plays, on your device | ||
| Furigana or pinyin on that line | ||
| Show that text always, on hover, or while you hold a hotkey | ||
| Extract burned-in subs from a video file into SRT or ASS | ||
| Edit those subtitles in the browser | ||
| OCR an uploaded video in the browser, without the Python worker | ||
| More than one subtitle area | ||
| OCR stays on the device | ||
| Add the line to an Anki deck |