Project

dotnet-jellyfin-livetube

active

Jellyfin plugin for virtual live-TV channels and Android-compatible catch-up from libraries and Invidious.

Overview

LiveTube is a maintained fork of JPKribs/jellyfin-plugin-livechannels for Jellyfin 10.11.x. It builds looping live-TV channels from local libraries or authenticated Invidious subscriptions and exposes recent programmes as ordinary catch-up items.

The fork adds compound content filters, dynamic sources, Invidious ingestion, Android TV catch-up and controlled transcoding without requiring an external tuner service or modified client.

How it works

Library queries and four-hour Invidious feed refreshes populate channel schedules and guide data. Live playback uses Jellyfin's Live TV service and a rolling MPEG-TS window.

Catch-up uses Jellyfin's channel catalogue. Local items point to library files; Invidious items use a short-lived rewritten MPD and a range proxy, so remote media is not stored permanently.

Features
Compound channels

Combines genre, tag, rating, year, studio, person, language and content-type filters, with include/exclude and any/all matching.

Invidious sources

Reads authenticated subscription feeds and retains bounded metadata for 72 hours.

Android catch-up

Presents recent scheduled items as finite VOD entries that work with the stock Android TV client.

Controlled playback

Uses Jellyfin's configured encoder for fixed-format output, HDR tone mapping and subtitle burn-in when required.

Local artwork cache

Caches programme and guide images without retaining the remote video itself.

Explicit limits

Targets Jellyfin 10.11.x. Live streams are forward-only; local catch-up covers 24 hours, proxy tokens are memory-only and control MPDs expire.

Architecture
Jellyfin library media · metadata · filters Invidious feed authenticated subscriptions LiveTube schedule channels · guide · artwork Live TV rolling MPEG-TS window Catch-up catalogue local files · rewritten MPD Jellyfin client Android TV · browser Library and Invidious sources to live and catch-up playback