Modern, cross-platform IPTV player built with Rust and Tauri
Website โข Features โข Installation โข Quick Start โข FAQ โข Contributing
Note: Better IPTV is not affiliated with any IPTV provider. Users are responsible for compliance with local laws and provider terms.
Better IPTV is a desktop IPTV player that combines the performance of Rust with a modern web UI. Built on MPV for video playback, it handles live TV, movies, and series across Linux, Windows, and macOS.
Why Better IPTV?
- Fast & Efficient - Rust backend handles 100,000+ channels smoothly
- Smart Features - EPG, parental controls, multi-profile support, and more
- Modern UI - Clean, responsive interface with dark/light themes
- Privacy First - All data stored locally, credentials never leave your device
- Cross-Platform - One app for Linux, Windows, and macOS
- Live TV - Stream live channels with real-time Electronic Program Guide (EPG)
- Movies (VOD) - Browse and watch on-demand movies
- TV Series - Season/episode organization with automatic episode queuing
- Smart Search - Instant filtering across all content types
- Virtual Scrolling - Smooth performance even with 100K+ channels
- PIN protection (4-6 digits) with manual or automatic channel blocking
- Auto-detection of adult content (+18, XXX, Adult markers)
- Category-level blocking for entire channel groups
- Three viewing modes: Hide, Lock Icon, or Blur
- Session-based unlock that re-locks on restart
- M3U/M3U8 import from local files or URLs
- Xtream Codes integration with your IPTV provider
- Multi-Profile System - Switch between multiple providers/playlists
- Favorites - Star any channel and find them in a dedicated tab
- Custom User-Agent - Presets for TiviMate, VLC, or enter your own
- Category Quick-Access - Horizontal bar for instant category filtering
19 languages for audio and subtitle preferences (Scandinavian, European, and International), configurable per profile.
Better IPTV uses MPV for video playback. Installation varies by platform:
Linux:
# Ubuntu/Debian
sudo apt install mpv
# Arch Linux
sudo pacman -S mpv
# Fedora
sudo dnf install mpvmacOS:
brew install mpvWindows:
New in v2.3.0: MPV is bundled with the installer. No separate installation needed.
If you prefer a manual installation: download from mpv.io or use choco install mpv.
- Visit Releases
- Download for your platform:
- Linux (Ubuntu/Debian):
.AppImage,.deb - Linux (Arch/Manjaro):
-arch.AppImageor install via AUR (see below) - Linux (Fedora/RHEL):
.rpm - Windows:
.msiinstaller or.exeportable - macOS:
.dmgdisk image
- Linux (Ubuntu/Debian):
Linux AppImage (Ubuntu/Debian):
chmod +x Better-IPTV_*_amd64.AppImage
./Better-IPTV_*_amd64.AppImageLinux AppImage (Arch/Manjaro):
Important: Use the
-arch.AppImagevariant on Arch-based distros. The standard AppImage bundles WebKit libraries from Ubuntu that conflict with newer system libraries on rolling-release distros and will cause a crash on startup.
chmod +x Better-IPTV_*_amd64-arch.AppImage
./Better-IPTV_*_amd64-arch.AppImageAlternatively, install via the AUR:
yay -S better-iptv
# or
paru -S better-iptvOn first launch, choose your import method:
Option A: M3U/M3U8 File
- Click "Import M3U Playlist"
- Enter a profile name (e.g., "My IPTV")
- Choose source: Local File or URL
- Click "Import" and wait for channels to load
Option B: Xtream Codes
- Click "Import Xtream Playlist"
- Enter a profile name
- Fill in your server URL, username, and password
- Click "Import" (loads Live TV, Movies, and Series)
- Open Settings (gear icon) โ General โ EPG Settings
- Enter your XMLTV EPG URL (Xtream users get this automatically)
- Click "Update Now" โ EPG updates automatically going forward
- Use tabs (All / Live TV / Movies / Series / Favorites) and the category bar to browse
- Type in the search box for instant filtering
- Click play on any channel โ MPV opens in a separate window
Series: Select a series โ choose season โ click Play on any episode. Remaining episodes auto-queue.
Favorites: Hover over any channel card and click the star to add or remove.
Multiple Profiles: Import additional playlists as separate profiles and switch between them from the setup screen.
| Key | Action |
|---|---|
Space |
Play/Stop current channel |
/ |
Focus search bar |
Escape |
Stop playback |
Ctrl+1-4 |
Switch settings tabs |
For MPV player controls (fullscreen, volume, seek, etc.), see the MPV keyboard documentation.
Why won't MPV open?
MPV must be installed on your system (except Windows v2.3.0+ which includes it bundled).
Verify installation:
mpv --versionSee Installation for platform-specific instructions.
Can I watch channels directly in the app?
No, Better IPTV uses MPV as an external player. This provides broad codec support and hardware acceleration, but video displays in a separate window.
EPG data not showing?
Check:
- Playlist contains EPG identifiers (
tvg-idortvg-name) - EPG URL configured in Settings โ EPG Settings
- EPG data fetched (click "Fetch EPG" button)
- Wait a minute for EPG refresh cycle
How many channels can it handle?
Better IPTV has been tested with 150,000+ channels during development without issues.
Does it work with VPN?
Yes. Ensure your VPN is active before launching streams.
Are my Xtream credentials secure?
Yes. All credentials are stored locally on your device. Nothing is sent to external servers. Logs automatically mask sensitive data.
Can I play local video files?
No, Better IPTV is designed for IPTV streams. Use MPV directly for local media.
- Check internet connection - Run speed test
- Try another channel - May be provider/server issue
- Adjust MPV cache - Advanced users: edit MPV config
- Verify credentials - Double-check username/password
- Check provider support - Not all Xtream providers offer series
- Retry import - Network issues may cause partial imports
- Linux: Ensure
.AppImagehas execute permissions (chmod +x) - Windows: Run as administrator or check Windows Defender
- macOS: Allow app in System Preferences โ Security & Privacy
- Auto-detect not working? - Re-save settings to trigger channel scan
- Lock mode not showing channels? - Update to v2.3.0+ (bug fixed)
- PIN modal stuck? - Restart app, issue resolved in v2.3.0
Linux: ~/.local/share/better-ip-tv/logs/better-ip-tv.log
Windows: %APPDATA%\com.m0s.better-ip-tv\logs\better-ip-tv.log
macOS: ~/Library/Application Support/com.m0s.better-ip-tv/logs/better-ip-tv.log
Credentials are automatically masked in logs.
Contributions are welcome! See CONTRIBUTING.md for development setup, code standards, and PR guidelines.
See CHANGELOG_USER.md for version history and release notes.
GNU General Public License v2.0 โ MPV is GPL v2+ licensed, and we chose GPL v2.0 for compatibility.
- MPV Project - Media player with comprehensive codec support
- Tauri - Cross-platform framework enabling this project
- Open TV - Architectural inspiration
- IPTV Community - Standards, protocols, and ongoing support
If you find Better IPTV useful, consider supporting its development:
- Ko-fi: ko-fi.com/R6R21I53PD
- GitHub Sponsors: Sponsor on GitHub
Crypto donations:
| Currency | Address |
|---|---|
| ETH | 0x47183F4e4FEAeE4BF52d95E68893e950125b1B44 |
| BTC | bc1qth40h9t8r7hvp4czqvf20f3w72jdg4epd5mjq8 |
| SOL | 3waxf6r2tmaaADuBGYoVD5qz4z8VnFNEGGafbXZ6Jf2j |
Made for IPTV enthusiasts