Menu
Nuvio Web docs

The player

Picking a source

The source drawer lists every stream the addons returned for this title, with quality, codec, size and release details parsed out of each addon's stream label. Addons publish those as free text in whatever shape they like, so the parser is a best effort — it will not invent a field it could not find.

Auto-pick honours the preferred resolution set in Settings → Playback. auto means "take the addons' own order", which is the order you arranged your addons in.

Reuse last link (Settings → Playback) re-opens a title with the stream URL it used last time instead of resolving it again. Handy for debrid addons where re-resolution is slow. Remembered links expire after linkCacheDays (3 by default, matching most debrid providers).

Playback

.m3u8 plays through hls.js; anything else goes to the <video> element's own src. Audio-track switching works on either.

Before a stream reaches <video>, its codec is probed. Playback that decodes no frames (an unsupported HEVC or AV1 stream) or produces no audio (Dolby Digital, DTS, Atmos) raises a dismissible banner naming the problem, instead of leaving you with a black screen or silence and no explanation.

Subtitles

Subtitles come from your addons. SRT is converted to WebVTT in the browser, so a subtitle file never touches the server.

Size, colour, and a semi-opaque background plate are configurable, and a preferred language is auto-selected when a stream carries a matching track. All of it lives in Settings → Playback.

Skip intro and outro

Intro and credits timestamps come from two community databases, neither of which needs any server configuration:

  • TheIntroDB, asked first. The public keyless tier works out of the box. Adding your own API key in Settings → Integrations folds your pending submissions into the lookup and raises your rate limits. The key is stored per profile on your Nuvio account, never as a server environment variable.
  • AniSkip, when TheIntroDB has nothing at all for the title. It is where anime skip times live, and anime is where TheIntroDB is thinnest. AniSkip is keyed by MyAnimeList id, so the title's IMDb, TMDB, Kitsu or AniList id is first mapped through ARM. For an IMDb or TMDB series, ARM lists one MyAnimeList entry per season, and the player asks for the one matching the season you are watching. The mapping is also the anime detection: ARM knows nothing about a title that is not anime, so that lookup ends there.

A missing id mapping, a 404 (no community data yet), a rate limit or a timeout all resolve to "no segments", and the player simply does not show the skip affordances.

Auto-play next

On by default. An end-of-episode panel counts down to the next episode and lets you stop it. Turn it off in Settings → Playback.

Only an episode that has aired counts as next. When the next one is listed but not out yet, there is nothing to play, so the show ends instead and the end panel says when that episode airs. Continue Watching follows the same rule: a finished episode rolls forward only to one that has aired, and the card comes back on its own once the next one does. The air date comes from the addon's listing, or from TVmaze when the addon lists nothing past the last episode.

Casting

No third-party SDK is involved. The player uses the standard Remote Playback API, which reaches Chromecast on Chrome and Edge, and falls back to WebKit's AirPlay hooks in Safari.

Playing somewhere else

There is no web API for "open in the OS default player", and a scheme cannot simply be glued in front of a URL. Each platform gets its own correctly-encoded form:

PlatformWhat happens
AndroidAn Intent URL, so the OS offers your video apps
iOS / iPadOSVLC's documented x-callback scheme
DesktopCopy the link — VLC registers no URL scheme on install
P2P sourceThe raw magnet: link

Keyboard shortcuts

KeyAction
Space / KPlay / pause
/ J and / LSeek 10s back / forward
/ Volume
MMute
FFullscreen
CCycle subtitle track
IInfo overlay
NNext episode
EEpisode list
EscClose the open panel

Every control also carries its shortcut in its hover tooltip, so the icons do not have to be learned from this table.

Shortcuts are bound on the window, but a key aimed at a focused control is left alone: Space on a focused button inside the sources, subtitles or episodes panel activates that button, as a keyboard user expects, rather than toggling playback. Esc is the exception — it has to work from inside an open panel, so it always closes it.

This guide lives in the project repo: edit it there, and this page follows within a day.