Skip to content

VOD Browsing and Resume

Iain Smith edited this page Aug 28, 2026 · 1 revision

VOD Browsing & Resume

"VOD" (video on demand) covers anything that isn't a scheduled live channel — a movie, a TV episode, a recording. tvdinner treats it as a genuinely separate model from a channel (no scheduled airing, doesn't belong in the time-grid guide), sourced a few different ways depending on where you're browsing:

Source How VOD gets populated
Xtream Codes The panel's own dedicated VOD API — automatic, always on.
Stalker Portal Same idea, the portal's own VOD API — automatic, always on.
M3U playlist / local playlist file Opt-in: pull one or more group-titles out of the channel list with --vod-group (repeatable). Nothing changes unless you name a group.
Plex Its whole library browser is VOD — see that page.
Local video files / YouTube Each is a single VOD item played directly, not a browsable list.

The VOD browser (m)

For Xtream/Stalker's own VOD, or an M3U --vod-group pull, m opens a browser grouped by group-title, alphabetical by title within each group:

  • UP/DOWN/PGUP/PGDWN — move the selection
  • ENTER — play it, resuming where you left off if you didn't finish it last time
  • Any letter/digit — jump to the next title starting with it (press again to cycle to the next match)
  • ESC — close

Shows "No VOD movies found" instead if nothing qualifies (e.g. an Xtream/Stalker panel with no VOD content, or an M3U playlist with no --vod-group given).

Plex uses its own richer library-browser keybindings instead of this one — see that page.

Resuming

Wherever you left off in a VOD item or recording is remembered and offered again automatically on reopening — no separate "continue watching" step, ENTER just picks up where you left off. Saved to --playback-positions-file (default: ~/.config/tvdinner/playback_positions.json on Linux, %APPDATA%\tvdinner\playback_positions.json on Windows).

A recording's entry is dropped once the recording file itself is deleted; a VOD entry — there being no file on disk to check — is instead dropped after 90 days of nobody resuming or updating it.

Plex has one extra wrinkle: the first time you play something tvdinner has no local resume position for yet, it falls back to Plex's own reported progress instead, so something you left partway through in Plex's official apps resumes correctly here too.

While it's playing

i shows a poster/synopsis/rating/director/progress overlay for whatever VOD item is currently playing (Plex populates all of that directly; a local file or YouTube video gets it from a background lookup — see TMDB Ratings & Metadata); other VOD sources show whatever fields they have. It also always shows a technical-details block — container, video/audio bitrate, every audio/subtitle track the file has.

Everything else

Clone this wiki locally