Skip to content

Watch History and Stats

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

Watch History & Stats

tvdinner logs what you watch — live channel, VOD item, or recording, with when and for how long — and can summarize it back to you two ways: a browsable in-app log, and a stats command-line summary.

Watch history

Logged to ~/.config/tvdinner/history.jsonl (%APPDATA%\tvdinner\history.jsonl on Windows; override with --history-file), one JSON object per line, oldest first:

{"kind": "channel", "title": "BBC One", "url": "https://.../bbc1.m3u8", "playlist_source": "https://.../playlist.m3u", "started_at": "2026-08-15T20:00:00+00:00", "ended_at": "2026-08-15T20:41:12+00:00", "duration_seconds": 2472.0, "image_url": "https://.../bbc1-logo.png", "year": null, "rating": null, "rating_is_tmdb": false, "director": null}

kind is channel, vod, or recording. A watch under 5 seconds isn't recorded at all, so flipping past a channel while browsing the guide doesn't clutter the log; reconnecting after a dropped stream doesn't start a new entry — it's still the same watch, just interrupted. year/rating/rating_is_tmdb/director are only ever populated for a vod entry, and only when the source actually supplied them (see TMDB Ratings & Metadata).

Press x during playback to browse it: newest first, grouped by day, with a thumbnail (a VOD's poster, a channel's logo, or — for a recording — an actual frame grabbed from the video itself the first time it's shown, then cached), duration, and — for a movie with rating data available — year, rating, and director too.

  • UP/DOWN/PGUP/PGDWN — scroll
  • ENTER/ESC — close

It's a read-only viewer, not a launcher.

Disable entirely with --no-history. tvdinner hard-reset deletes it along with everything else tvdinner stores — it's not included in tvdinner backup/restore, since like playback positions and the schedule, it's accumulated data, not configuration to carry to a new machine.

tvdinner stats

tvdinner stats [--bookmarks-file PATH] [--history-file PATH]

Prints two things without touching the network at all — only what's already on disk:

Cache usage, one row per bookmarked feed's EPG cache, for whichever bookmarks have a deterministically knowable EPG source without actually fetching anything (an explicit saved EPG URL, or an Xtream login's own xmltv.php export) — plus the caches every feed shares regardless of source (TMDB ratings/metadata, channel logos/poster art, iptv-org's online logo database, and the log/history files). A bookmark relying on M3U auto-discovery (needs an actual playlist fetch to resolve) or with no EPG at all (Stalker, HDHomeRun without a DVR subscription, Plex) is listed as unknown rather than guessed — its cache still counts toward the "other" total.

Watching activity from the same watch-history log: total watch time this week, this month, and all-time, broken down by live channel/VOD/recording, plus the most-watched live channels this month and all-time (skipped entirely if nothing in the log is a live channel — a Plex-only or VOD-only history has no "top channels" to show).

Everything else

Clone this wiki locally