EasyPlayTV
A Kodi video add-on providing UK live TV channels and on-demand content from BBC iPlayer, ITVX, Channel 4, My5, Sky News, STV Player, and Blaze — all self-contained with no external plugin dependencies.
Download EasyPlayTV
Free and open source. Three packages: the video addon (playback), the Service addon (PVR + library sync inside Kodi), and the standalone service (same runtime, non-Kodi server).
Download latest release
or browse all releases on Codeberg
Quick start
- Decide which install variant you need: video addon only, video addon + Service addon, or video addon + standalone service
- Download the matching ZIP from the release page
- Open Kodi → Add-ons → Install from ZIP file → select the downloaded file
- See Installation for full instructions including MySQL setup
What each package does
| Package | Runs on | Provides |
|---|---|---|
plugin.video.easyplaytv(video addon) | Every Kodi device | Live channel grid, stream resolution, account sign-in. Playback only — no service code, no database. |
service.easyplaytv(Service addon) | The server Kodi device | PVR generation (channels.m3u + epg.xml), pvr.iptvsimple configuration, library sync, HTTP serving of PVR files. Server role — no device-role settings. |
easyplaytv-service(standalone service) | Non-Kodi server | The same runtime as the Service addon, as a systemd/Docker process driven by config.yaml. |
Features
- 28+ live TV channels — BBC, ITV, Channel 4, Channel 5, Sky News, STV, Blaze
- Live TV in Kodi's native TV section — PVR channel list + EPG guide (via the Service addon or standalone). Radio EPG for 44 BBC stations comes from BBC Sounds schedules
- Movies & TV Shows library — synced to Kodi's library with TMDb metadata (posters, fanart, plots, ratings)
- Provider badges —
[ITVX],[C4],[My5],[STV],[BLAZE]on all synced titles - Background sync — runs a sequential batch: providers sync one-after-another, then the PVR list + EPG refresh; capped at the sync interval (default 6 h, 1 = hourly)
- Optional sign-in — ITVX, Channel 4, and My5 account login for premium content
Providers
| Provider | Live | VOD | Sign-in required? |
|---|---|---|---|
| BBC iPlayer | Yes | Yes | TV license setting |
| ITVX | Yes | Yes | Yes (for VOD) |
| Channel 4 | Yes | Yes | No (optional for premium) |
| My5 | Yes | Yes | No (optional for premium) |
| Sky News | Yes | — | No |
| STV Player | Yes | Yes | No |
| Blaze | Yes | Yes | No |
Requirements
- Kodi 19+ (Matrix or later) — video addon
- inputstream.adaptive (for DASH/Widevine playback)
- MySQL database (for library sync — see MySQL setup)
- Python 3.11+ or a container runtime — standalone service only
Full installation instructions → Usage guide → Troubleshooting → Changelog & upgrades →
For developers
EasyPlayTV ships as three packages. The video addon handles playback; the Service addon (service.easyplaytv) and the standalone service (easyplaytv-service) both run the same easyplaytv_service runtime for PVR generation and library sync:
- Video addon —
plugin.video.easyplaytv, plugin entry pointdefault.py. Invoked on every listitem click. Short-lived, stateless: routes URLs to per-provider resolvers. - Service addon —
service.easyplaytv, a Kodixbmc.servicethat vendors the runtime and drives it (server role,pvr.iptvsimpleconfiguration, HTTP serving). - Standalone service —
easyplaytv-service, the same runtime as a systemd/Docker process, configured viaconfig.yaml.
| Developer docs | Description |
|---|---|
| Architecture | Big picture, data flow between modules, request flow |
| Kodi DB schema | What Kodi tables the addon writes to and why |
| Provider matrix | How providers compare (endpoints, auth, DRM, pagination) |
| Installation | All three install variants (video addon, Service addon, standalone) |
| Package overview | Which package does what |
| Changelog & upgrades | Release history and backward-compat upgrade steps |
Project layout
EasyPlayTV/
├── addon.xml — video addon manifest (plugin.video.easyplaytv)
├── default.py — plugin entry point (cached per-call routing)
├── README.md
├── service.easyplaytv/ — Service addon (separately-shipped zip)
│ ├── addon.xml — xbmc.service, depends on plugin.video.easyplaytv
│ ├── service.py — thin Kodi service entry
│ ├── lib/kodi_service.py — Kodi adapter (server role, iptvsimple config)
│ ├── lib/easyplaytv_service/ — vendored runtime (byte-copy of standalone)
│ └── lib/pymysql/ — bundled MySQL connector
├── easyplaytv-service/ — standalone service (separately-shipped)
│ ├── src/easyplaytv_service/ — canonical runtime (config, database, runtime,
│ │ scheduler, http_server, pvr/, vod_sync/)
│ ├── config.yaml.example
│ ├── easyplaytv-service.service — systemd unit
│ ├── Dockerfile
│ └── tests/
└── resources/ — video addon resources
├── settings.xml — addon settings UI
├── language/en_gb/strings.po
└── lib/ — per-provider resolvers (playback only)
Recommended
Raspberry Pi Boards & Accessories →
Browse Raspberry Pi boards, cases, and accessories on Amazon — ideal for running OSMC and Kodi
Perfect for Kodi media centres
Kodi & HTPC Accessories →
Browse HDMI cables, remotes, and media centre accessories on Amazon
Fastmail — Private Email
Privacy-first email with no ads and no tracking
fastmail.com
Dynadot — Domain Registration →
Register or transfer domains with free SSL and affordable pricing
dynadot.com
Zen Internet — UK Broadband →
Award-winning UK broadband with no data caps and great customer service
zen.co.uk
We may earn a commission if you purchase through these links.