Comprehensive accuracy pass over docs-site verifying every page against current source. Fixes wrong/stale claims (AniSkip default, YouTube track selection, Anki sentence-card requirements, immersion schema v18 + SQL column names, plugin entrypoint, launcher flags, Cloudflare deploy path, etc.) and fills gaps (watch history, mediaCache.maxHeight, youtubeSubgen, character-dictionary refresh/eviction, expanded hot-reload lists).
2.6 KiB
AniSkip Integration
SubMiner integrates with AniSkip to automatically detect anime intro intervals and let you skip them with a single key press.
Intro detection runs in the SubMiner app over the mpv IPC socket. It is available whenever the overlay is connected to mpv - not just at launch - and covers every local file loaded during an mpv session, including playlist advances.
Setup
AniSkip is enabled by default. Disable it or change the skip key in your config:
{
"mpv": {
"aniskipEnabled": true, // default: true
"aniskipButtonKey": "TAB",
},
}
Both settings hot-reload: changing them in your config takes effect immediately without restarting playback or mpv.
For best title and episode detection, install guessit:
python3 -m pip install --user guessit
Without guessit, SubMiner falls back to an internal filename parser which handles most common naming conventions but may miss unusual formats.
How It Works
On each local file load:
- SubMiner infers the anime title, season, and episode number from the filename and path (using
guessitif available, otherwise the built-in parser). Remote URLs are skipped entirely. - The title is matched against MyAnimeList to resolve a MAL id.
- SubMiner queries the AniSkip API for an OP skip interval for that MAL id and episode.
- If an interval is found, SubMiner adds
AniSkip Intro StartandAniSkip Intro Endchapter markers to the current file and binds the skip key (mpv.aniskipButtonKey, defaultTAB). - At the start of the intro, an OSD prompt appears for 3 seconds:
You can skip by pressing TAB(reflects your configured key). Pressing the key at any point during the intro seeks to the intro end.
When a custom key (other than TAB or y-k) is configured, the legacy y-k chord is also bound as a fallback skip trigger.
Results are cached per file for the app session; only definitive "no intro found" results are cached, so transient lookup failures are retried on the next file load. Reload detection is also handled: if mpv reloads the same file, SubMiner re-applies the chapter markers without a new API lookup.
Triggering from mpv
You can trigger AniSkip actions from mpv script-messages:
| Command | Effect |
|---|---|
script-message subminer-skip-intro |
Skip to the intro end immediately (same as pressing the key) |
script-message subminer-aniskip-refresh |
Force a fresh lookup for the current file, discarding any cached result |
These are handled by the SubMiner app over the IPC socket.