sudacode f1dc418e2d feat(core): add Discord Rich Presence integration
Introduce optional Discord activity updates across config, runtime, tests, and docs so playback context appears in Discord without destabilizing app lifecycle. Tune default refresh cadence to reduce pause/resume lag during real sessions.
2026-02-22 17:25:55 -08:00
2026-02-22 02:14:29 -08:00
2026-02-09 19:04:19 -08:00
2026-02-22 11:34:45 -08:00
2026-02-15 16:28:00 -08:00
2026-02-09 19:04:19 -08:00
2026-02-17 22:54:09 -08:00
2026-02-17 22:54:09 -08:00
2026-02-19 19:10:02 -08:00
2026-02-09 19:04:19 -08:00

SubMiner logo

SubMiner

Look up words, mine to Anki, and enrich cards with context — without leaving mpv.

License: GPL v3 Linux Docs


SubMiner demo (GIF preview)


What it does

SubMiner is an Electron overlay that sits on top of mpv. It turns your video player into a full sentence-mining workstation:

  • Hover to look up — Yomitan dictionary popups directly on subtitles
  • One-key mining — Creates Anki cards with sentence, audio, screenshot, and translation
  • N+1 highlighting — Marks known words from your Anki deck so unknown ones jump out
  • Subtitle tools — Download from Jimaku, sync with alass/ffsubsync, all in-player
  • Immersion tracking — SQLite-powered stats on your watch time and mining activity
  • Texthooker page built in — WebSocket streaming to external tools, no extra setup

Quick start

1. Install

Linux (AppImage):

wget https://github.com/ksyasuda/SubMiner/releases/latest/download/SubMiner-0.1.0.AppImage -O ~/.local/bin/SubMiner.AppImage
chmod +x ~/.local/bin/SubMiner.AppImage
wget https://github.com/ksyasuda/SubMiner/releases/latest/download/subminer -O ~/.local/bin/subminer
chmod +x ~/.local/bin/subminer

Note

The subminer wrapper uses a Bun shebang. Make sure bun is on your PATH.

From source or macOS — see the installation guide.

2. Install the mpv plugin and configuration file

wget https://github.com/ksyasuda/SubMiner/releases/latest/download/subminer-assets-0.1.0.tar.gz -O /tmp/subminer-assets.tar.gz
tar -xzf /tmp/subminer-assets.tar.gz -C /tmp
cp /tmp/plugin/subminer.lua ~/.config/mpv/scripts/
cp /tmp/plugin/subminer.conf ~/.config/mpv/script-opts/
mkdir -p ~/.config/SubMiner && cp /tmp/config.example.jsonc ~/.config/SubMiner/config.jsonc

3. Set up Yomitan Dictionaries

subminer app --start --yomitan

4. Mine

subminer app --start --background
subminer video.mkv

Requirements

Required Optional
mpv with IPC socket yt-dlp
ffmpeg guessit (better AniSkip title/episode detection)
mecab + mecab-ipadic fzf / rofi
Linux: hyprctl or xdotool + xwininfo chafa, ffmpegthumbnailer
macOS: Accessibility permission

Documentation

For full guides on configuration, Anki, Jellyfin, and more, see docs.subminer.moe.

Acknowledgments

Built on the shoulders of GameSentenceMiner, mpvacious, Anacreon-Script, and autosubsync-mpv. Subtitles powered by Jimaku.cc. Dictionary lookups via Yomitan.

License

GNU General Public License v3.0

Languages
TypeScript 94.8%
Lua 2.2%
Shell 1.2%
CSS 0.9%
HTML 0.4%
Other 0.5%