Skip to main content

再点火 (Saitenka) — learn Japanese from the video you're already watching

Saitenka turns mpv into an immersion workstation: Japanese subtitles get FSRS-aware word coloring, hovering a word opens a Yomitan-style multi-dictionary tooltip, and one key mines the sentence — audio, screenshot, reading, pitch, frequency — straight into Anki. Everything is drawn into mpv's own video surface, so there's no second window and none of the Windows overlay/fullscreen breakage that plagues external overlays.

Saitenka's in-mpv overlay: the word 読む highlighted in a subtitle line with its multi-definition Yomitan-style tooltip open beside it.

  • 再点火 = "re-ignition" — built to make picking study back up frictionless after a long break.
  • Local-first and grounded: readings and pitch always come from dictionaries, never a language model.

What it does

  • FSRS-aware subtitle coloring — an optional copy of Anki's database distinguishes learning, young, mature-known, and forgotten words (so "known" means actually remembered right now), and N+1 sentences — exactly one unknown word, the ideal thing to mine — are highlighted.
  • Multi-dictionary tooltip on hover — ordered definitions, ruby, frequency pills, pitch-accent, clickable cross-references, in-tooltip word scanning, wildcard search. Imports your Yomitan dictionaries.
  • One-key + bulk Anki mining via AnkiConnect — sentence audio, clean screenshot, reading, glossary, frequency, with dedup and FSRS-aware tagging.
  • No second window — the tooltip, colored subs, and mining UI composite into mpv's OSD over JSON-IPC: one surface, airspace-safe, fullscreen-safe, cross-platform (Linux · macOS · Windows).

Install

The recommended install is the self-bootstrapping release bundle (it also sets up mpv + ffmpeg and the auto-start mpv plugin) — see the Quick start.

For a pip/uv-native install of just the Python package:

uv tool install saitenka          # or: pipx install saitenka
saitenka setup                    # installs mpv/ffmpeg + the auto-start plugin, writes config
saitenka run video.mkv            # hover a word → tooltip; Ctrl+m → mine

The optional inflection-chain display is a GPL-3.0 add-on (derived from Yomitan); the core is Apache-2.0. A [full] install is therefore GPL-3.0 — see LICENSING.md.

Full documentation

Everything — how it works, how it compares, where it fits in a media-server setup, requirements, and the feature tour — lives in the full README on GitHub.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

saitenka-1.1.0.tar.gz (11.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

saitenka-1.1.0-py3-none-any.whl (7.5 MB view details)

Uploaded Python 3

File details

Details for the file saitenka-1.1.0.tar.gz.

File metadata

  • Download URL: saitenka-1.1.0.tar.gz
  • Upload date:
  • Size: 11.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for saitenka-1.1.0.tar.gz
Algorithm Hash digest
SHA256 99fdadf7a56affa18158398266c9369075e50f9540885c5800f498d3b010346b
MD5 b81b26fd6903040e6453869a17c2a5ad
BLAKE2b-256 a495c2a26827dab5024afa3995fad43eeeda119145dd8eaf189d2447e7725214

See more details on using hashes here.

Provenance

The following attestation bundles were made for saitenka-1.1.0.tar.gz:

Publisher: release.yml on serjflint/saitenka

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file saitenka-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: saitenka-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for saitenka-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1ee175f0d9e45ba7977dd8da64543be1e09de075ba6c3f8bd3f24aa09a4a1eb
MD5 600dde6ce5d82a44100770647577f638
BLAKE2b-256 7b2dc5550dfbbe052a50d937848a73136c9d56bd5a7c38b7ac2b2ab36dad850d

See more details on using hashes here.

Provenance

The following attestation bundles were made for saitenka-1.1.0-py3-none-any.whl:

Publisher: release.yml on serjflint/saitenka

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page