Memento for Japanese study with mpv
An mpv-based video player for studying Japanese
At a glance
- What is it?
- Memento adds grammar-aware subtitle lookup, Yomichan-style dictionaries, and Anki card creation to an mpv-based player. It suits Japanese learners who want video study and card creation in one desktop workflow, but its optional tools introduce several platform-specific requirements.
- Who is it for?
- Adopt Memento when Japanese video study, grammar-aware lookup, and AnkiConnect belong in one mpv workflow. Do not choose it without checking mpv, dictionary, platform, and card-template requirements.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 60 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Why Memento Exists Alongside mpv
Memento targets Japanese learners who study from video and already expect mpv for playback. Its purpose is specific: it places language lookup and spaced-repetition workflows around subtitles rather than treating video playback and vocabulary study as separate tasks. The README lists grammar-aware subtitle search, Yomichan-style Kanji cards, Yomichan dictionaries, and Anki card creation through AnkiConnect as its main capabilities.
That scope makes it different from using plain mpv with external lookup tools. The repository description and feature list do not document a general subtitle editor, media browser, transcoder, or standalone dictionary viewer. Memento is aimed at the narrower path of opening a Japanese video, examining subtitle text, consulting dictionary data, and potentially turning selected material into Anki cards.
The project also retains mpv conventions. The documentation says that Memento supports mpv upscalers, plugins, and configuration files. This matters for users who depend on existing playback configuration, although the README excerpt does not explain exactly where those files are discovered or which mpv options are mapped into the application interface.
Memento is therefore most relevant to learners who want Anki and dictionary work during video study. It is a weaker fit for someone seeking a general media player, a complete subtitle translation package, or a language-learning system unrelated to Japanese video.
Memento's Subtitle-to-Dictionary-to-Anki Path
The visible workflow joins subtitles, dictionary lookup, and card creation. A learner can search subtitle text with grammar awareness rather than treating every selected string as an isolated word. The README does not describe the parsing algorithm, supported subtitle formats, search modifiers, or the internal API connecting these components, so the implementation details cannot be confirmed from the documentation.
Dictionary data follows the Yomichan ecosystem. The README identifies Memento as supporting Yomichan dictionaries and separately names Yomichan-style Kanji cards. It links dictionaries built for Yomichan or Yomitan, including JMdict, Jitendex, JMnedict, frequency data, Kanjium pitch accents, and KANJIDIC. A dictionary's role is therefore not interchangeable with every other archive: some provide entries or structured content, while others provide frequency, pitch, or kanji information.
Anki card creation depends on AnkiConnect. According to the troubleshooting documentation, if the interface offers only "Show in Anki", AnkiConnect has reported that none of the potential cards are addable. The documented cause in that case is a card template mistake, specifically a front side that lacks something it needs. This establishes that dictionary lookup and Anki export are connected, but Anki installation and template correctness remain separate parts of the workflow.
The repository is written primarily in C++ and uses a CMake-based build layout. The dependency list includes mpv, Qt 6.10 or greater, SQLite, Json-C, and libzip. Optional build choices include QCoro, MeCab, and libmocr. Based on that layout and the documented capabilities, Memento is a desktop application that integrates playback with external dictionary archives and AnkiConnect rather than a browser-only annotation service.
Installing Memento and Preparing Its Learning Data
The README does not provide a source-build tutorial or a command-line installation sequence. It links AUR and Flathub package pages, so users on supported packaging systems should obtain the application from those listings rather than treating the repository's `MEMENTO_QAPPLICATION` note as a complete build guide. Before using source builds, the documented baseline dependencies are Qt 6.10 or greater with Base and SVG support, mpv, SQLite, Json-C, and libzip.
Dictionary preparation is equally important. A learner should first obtain a Yomichan or Yomitan-compatible dictionary, then add any separate dictionaries needed for frequency, pitch, kanji information, or names. The README recommends the JPDB v2.2 Kana frequency dictionary, while JMdict variants differ in example sentences, structured formatting, proper names, and translation language. These differences affect lookup results, so choosing a larger archive is not automatically the right choice.
The excerpt does not document the exact menu path for importing a dictionary, the destination directory, or a first-play command. It therefore does not support an invented setup example or guessed key binding. The first real use begins by opening a Japanese video with a usable subtitle file, but the documentation excerpt also does not specify the subtitle formats or loading command accepted by this version.
For Anki export, verify that AnkiConnect is available and that the selected note type has a complete card template before diagnosing Memento itself. This is the earliest documented integration boundary where a configuration mistake can prevent card creation even when dictionary lookup works.
macOS Streaming Setup and yt-dlp Maintenance
Memento lists yt-dlp as an optional dependency for streaming video. On macOS, the documented failure mode is that mpv cannot locate yt-dlp, which prevents streaming video from working. The README supplies a direct repair procedure. It downloads the current release to Memento's preferences directory and makes the file executable:
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o ~/Library/Preferences/memento/yt-dlpThe download command should place the executable at `~/Library/Preferences/memento/yt-dlp`. The README then requires executable permissions, using this exact command:
chmod a+rx ~/Library/Preferences/memento/yt-dlpAfter that, a user can retry streaming through Memento. The documentation does not describe a validation command or expected terminal output, so the observable checkpoint is the documented behavior change: mpv should be able to find the installed yt-dlp path.
Windows has a separate maintenance path. The README says an outdated yt-dlp can cause degraded streaming performance or sites to stop working. It instructs users to download `yt-dlp.exe` from the project's latest release and place it in Memento's install directory. For the portable build, that is the same folder as the Memento executable. For the installed build, the default location is `C:\Program Files\Memento`.
This optional dependency needs periodic attention. It is separate from the Memento application version and can become stale even when Memento itself has not changed.
MeCab, KDE Plasma, and Other Build Boundaries
MeCab support is optional and is enabled through the documented CMake option `-DMEMENTO_MECAB_SUPPORT=ON`. On Linux and macOS, it also requires either ipadic or NAIST-jdic installed as a system dictionary. The README does not state how Memento handles words that MeCab cannot analyze, so it would be unsafe to promise complete coverage for ambiguous expressions, proper names, or context-dependent parsing.
macOS has a hard installation-path constraint. If Memento cannot initialize MeCab, the documented workaround is to move the application to a directory without spaces, with `/Applications` given as an example. The README attributes this to a MeCab limitation and says that no workaround can be implemented in Memento. Users who need MeCab but cannot control the installation path should account for that boundary before adopting the application.
KDE Plasma support is conditional at build time. A native file picker requires compiling with `-DMEMENTO_QAPPLICATION=ON`, which pulls in Qt Widgets. The user must therefore ensure that dependency is installed before compilation. This option is especially easy to miss because the base Qt dependency list includes Qt 6.10, Base, and SVG but does not state that Widgets is mandatory for every build.
Two other optional build controls are documented. `-DMEMENTO_SYSTEM_QCORO=ON` uses the system QCoro dependency. OCR support uses `-DMEMENTO_OCR_SUPPORT=ON` together with `-DMEMENTO_SYSTEM_MOCR=ON` for the system libmocr arrangement. The README excerpt does not provide the complete compile command or explain the operational differences, so these flags should not be treated as turnkey installation instructions.
Memento, Plain mpv, and the Cost of Added Dependencies
The closest alternative described by the documentation is plain mpv. mpv handles video playback and supports upscalers, plugins, and configuration files. Memento keeps those capabilities but adds grammar-aware subtitle search, dictionary-backed language information, Yomichan-style Kanji cards, and an AnkiConnect export path. The difference is therefore the study layer surrounding playback, not a claim that Memento uses a different video engine.
This design also creates more places where setup can fail. Anki export depends on both AnkiConnect and a valid card template. Streaming depends on yt-dlp, whose location and freshness differ by operating system. MeCab depends on a build option, a system dictionary, and, on macOS, a path without spaces. OCR adds another optional library configuration. By comparison, plain mpv avoids these study-specific integrations, although it also does not provide Memento's documented dictionary and card workflow.
Licensing is straightforward in identification but not something to interpret beyond the repository's declaration. Memento is distributed under GPL-2.0. That matters when modifying or redistributing the project, but this review does not provide legal guidance about particular deployment models.
The repository is not archived, and the last push was on 2026-08-24. Releases v2.0.0, v2.0.1, and v2.0.2 were published between 2026-06-13 and 2026-07-04. The README also warns that Memento was overhauled after v1.7.2 and links older documentation separately. That makes version-specific setup advice important: instructions from v1.7.2 should not be applied to the current documentation without checking the linked older tree.
Editorial conclusion
Adopt Memento when Japanese video study, grammar-aware lookup, and AnkiConnect belong in one mpv workflow. Do not choose it without checking mpv, dictionary, platform, and card-template requirements. The first practical verification is whether a selected Yomichan dictionary loads and produces an addable Anki card through the configured AnkiConnect template.
Frequently asked questions
What does Memento add to mpv for Japanese study?
Memento adds grammar-aware subtitle search, Yomichan-style Kanji cards, Yomichan dictionary support, and Anki card creation through AnkiConnect. The README does not claim that it replaces mpv playback.
How do I install yt-dlp for Memento streaming on macOS?
The README instructs users to download `yt-dlp` into `~/Library/Preferences/memento/` and make it executable. The documented troubleshooting reason for this procedure is that mpv cannot find yt-dlp.
Why can Memento fail to create Anki cards?
If only "Show in Anki" is available, the README says AnkiConnect has found no addable cards because the card template has a mistake. Check that the front of the card template is complete.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/ripose-jp-memento)Was this useful?