-
Notifications
You must be signed in to change notification settings - Fork 1
Watch History and 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.
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 [--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).