A cross-platform IPTV player for Xtream Codes and M3U / M3U8 playlists.
Live TV with EPG and catch-up, movies, series, custom playlists, offline downloads, and TV-remote (D-pad) navigation.
Ships on Windows (Microsoft Store + installer), Android phone / tablet / TV (Google Play), macOS, Linux, and the web.
More screenshots (Live TV, EPG, Movies, Series, Android TV, mobile)
Desktop
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Android TV (10-foot UI, D-pad focus)
![]() |
![]() |
![]() |
Phone (portrait, touch)
![]() |
![]() |
![]() |
- Any source, one UI. Sign in with Xtream Codes credentials, paste an M3U / M3U8 URL or a direct stream link, or load a playlist file from your device. The app detects the mode automatically.
- Live TV with category filtering, channel search, channel-number entry, a virtualised list, inline EPG (now / next / today), and automatic channel-logo fallback from iptv-org's logo collection when a provider doesn't supply one.
- Catch-up TV and replay. Replay programmes from your provider's archive and pause or rewind behind live, with a full-programme seekbar.
- Custom playlists built in a full in-app editor: pull channels from any playlist, reorder and group them, rename, renumber, find and replace, check links, and export as
.m3u. - Add a stream from any website. Paste a page URL and the app sniffs the network for playable HLS / DASH streams, with quality labels and multi-select.
- Movies (VOD) and Series library with poster grids, detail dialogs, season / episode navigation, mark watched / unwatched with a watched badge, an optional hide-watched filter, and a "Surprise me" random-title picker.
- TMDB metadata enrichment. Optional, bring-your-own free API key (Settings > Network): cast, director, and similar titles on movie and series detail pages.
- "Because you watched" recommendations on the home screen, plus similar-title suggestions on detail pages, both computed locally from category, cast, and director so they work even without a TMDB key.
- Search (
Ctrl+K) across channels, movies, and series, with recent searches you can revisit or clear. - Full schedule grid on the EPG page, with timezone-aware "all times local" rendering, custom EPG sources, and channel mapping.
- A player for everything. Three embedded engines (ArtPlayer, Video.js, Shaka) cover HLS, MPEG-TS, MPEG-DASH with ClearKey, and HEVC (with one-click install of the Windows HEVC extension). Picture-in-picture included.
- Embedded subtitles from MP4 files everywhere, plus MKV playback on desktop (remuxed on the fly through a bundled FFmpeg on macOS / Linux, and as a Windows fallback when WebView2 can't demux a file), with an option to turn captions on by default, audio track switching, and automatic audio repair for AC-3 / E-AC-3 / MP2 / DTS.
- External players. Hand any stream to MPV or VLC on desktop (with window reuse), or to any installed video app on Android.
- Multiple playlists, switchable from the sidebar without re-entering credentials, each with its own favorites, watchlist, progress, and health panel.
- TV-first navigation. Spatial focus (D-pad / arrow keys) is wired across the whole app via
spatial-navigation-polyfill. Hit targets, focus rings, and reflow tested for 10-foot UI, plus a TV safe-area setting for overscan and a collapsible desktop sidebar. - 16 languages including RTL (Arabic, Urdu), translated before first paint so there's no flash of English.
- Light and dark themes with seven accent colors, both first-class; each playlist can also override the accent (and add an emoji) so you can tell them apart at a glance. Honours
prefers-color-scheme,prefers-reduced-motion, andprefers-contrast. - Adjustable font scale (Small / Default / Medium / Large / X-Large) plus a responsive root size that scales the whole UI on 4K and 8K displays.
- Self-updating desktop builds (Windows NSIS and Linux AppImage) via the Tauri updater, signed with minisign and served from GitHub Releases, with stable and beta channels and a "What's new" dialog after each update.
- Backup and restore. Export playlists, preferences, and settings as one file and import them on another device.
- Offline-friendly persistence. Credentials and preferences live in the OS app-data dir on Tauri builds, with a localStorage / cookie fallback on the web build; clear your viewing history from Settings at any time.
- No tracking, no ads, no telemetry by default. The app collects nothing about you or your viewing habits. The only outbound metadata lookup is the optional TMDB enrichment above, off by default and using your own API key when you turn it on.
| Platform | How | Updates |
|---|---|---|
| Windows (Microsoft Store) | apps.microsoft.com | Microsoft Store |
| Windows (sideload) | NSIS .exe (or .msi) from Releases |
In-app auto-updater |
| macOS (Apple Silicon + Intel) | Universal .dmg from Releases |
Update check in-app, download from Releases |
| Linux (Snap, most distros) | sudo snap install extreme-infinitv or Snap Store |
Snap Store |
| Linux (Debian / Ubuntu / Mint) | .deb from Releases |
Manual |
| Linux (Fedora / openSUSE / RHEL) | .rpm from Releases |
Manual |
| Linux (any distro, portable) | .AppImage from Releases |
In-app auto-updater |
| Raspberry Pi 4 / 5 (64-bit OS) | sudo snap install extreme-infinitv, or arm64 .deb / .AppImage from Releases |
Snap Store / in-app (AppImage) |
| Android phone / tablet | Google Play | Play Store |
| Android TV | Same APK, sideload via ADB or use Play Store on supported devices | Play Store |
| Web preview | Build with pnpm build and serve dist/ (no auto-update, no native features) |
Manual |
The Microsoft Store listing is federated through winget, so you can install without opening the Store:
winget install --id 9NN162Z0WXSR --source msstoreThe macOS build is not yet notarized by Apple, so Gatekeeper blocks it on first launch with a message like "Apple could not verify Extreme InfiniTV.app is free of malware". After dragging the app from the .dmg into /Applications, remove the quarantine flag from a Terminal:
xattr -dr com.apple.quarantine "/Applications/Extreme InfiniTV.app"Then open the app normally. You only need to do this once per install.
Requirements: pnpm (the package manager is pinned in package.json), Node 20+, the Rust toolchain (only for tauri commands), Java 21 and Android Studio for tauri:android. mise.toml pins the toolchain versions if you use mise.
pnpm install
pnpm dev # Astro + Svelte at http://localhost:4321
pnpm tauri dev # Native desktop shell (auto-spawns pnpm dev)
pnpm tauri:android # Android dev shellOn Windows and Linux, pnpm tauri dev / pnpm tauri build first download and checksum-verify a trimmed FFmpeg sidecar into src-tauri/binaries/ (run pnpm fetch-ffmpeg to do it manually). The first Tauri build therefore needs network access.
To test the dev server on another device on the LAN (phone, TV), set XTREAM_HMR_HOST to your machine's LAN IP so Vite advertises the right HMR host:
XTREAM_HMR_HOST=192.168.1.50 pnpm devTests run with Vitest (pnpm test); ~55 suites in tests/ cover the parsers, serializers, catch-up math, codec hints, custom playlists, backup, and the playback proxies. Lint with ESLint flat config (pnpm lint / pnpm lint:fix); no Prettier. TypeScript is in strict mode (tsconfig.json extends astro/tsconfigs/strict); the @/* alias maps to src/*.
Copyright (c) 2025 Ludovico Ferrara.
Extreme InfiniTV is released under the GNU General Public License v3.0 or later. You are free to use, study, share, and modify it; any distributed fork or derivative must remain under the same license and ship its source.
The Windows and Linux desktop builds bundle a trimmed FFmpeg binary (LGPL v2.1) for the automatic audio fix. The full notice, source pointer, and build recipe are in the app under Settings > About > Open-source licenses.
The optional TMDB metadata enrichment uses the TMDB API with your own API key. This product uses the TMDB API but is not endorsed or certified by TMDB. Channel logos not supplied by your provider fall back to iptv-org's CC0 logo collection.












