A fast, lightweight, cross-platform IPTV player with Xtream Codes API support built in Rust.
- ๐ Xtream Codes API - Full support for login, live TV, movies, and series
- ๐บ Live TV - Browse categories and play live streams
- ๐ฌ Movies & Series - Browse VOD content with seasons/episodes
- โญ Favorites - Star your favorite channels for quick access
- ๐ Address Book - Save multiple server credentials
- ๐ Search - Filter channels and content
- ๐จ Dark/Light Mode - Toggle UI theme
- ๐ฎ Hardware Acceleration - GPU-accelerated video decoding
- ๐ User Agent Spoofing - 35+ preset user agents
- ๐ถ Connection Quality Presets - Optimized buffering for your connection
- ๐ฅ๏ธ Multi-Player Support - VLC, mpv, ffplay, and more
- ๐พ Save State - Remember login and settings
- ๐ M3U Support - Parse and play M3U/M3U8 playlists
- ๐ฑ๏ธ Single Window Mode - Auto-close previous player
| Platform | Architecture | Status | Binary |
|---|---|---|---|
| Windows | x64 (Intel/AMD) | โ Optimized | xtreme_iptv_windows_x64.exe |
| Windows | ARM64 (Snapdragon) | โ Optimized | xtreme_iptv_windows_arm64.exe |
| Linux | x64 (Intel/AMD) | โ Optimized | xtreme_iptv_linux_x64 |
| Linux | ARM64 (RPi, Snapdragon) | โ Optimized | xtreme_iptv_linux_arm64 |
| Linux | RISC-V 64 | โ Optimized | xtreme_iptv_linux_riscv64 |
| macOS | x64 (Intel) | โ Optimized | xtreme_iptv_macos_x64 |
| macOS | ARM64 (Apple Silicon) | โ Optimized | xtreme_iptv_macos_arm64 |
| macOS | Universal | โ Fat Binary | xtreme_iptv_macos_universal |
| Platform | Optimizations |
|---|---|
| Windows/Linux x64 | AVX, AVX2, BMI1, BMI2, FMA, LZCNT, POPCNT (x86-64-v3) |
| Windows/Linux ARM64 | NEON, AES, SHA2, CRC32, LSE, FP16, DotProd (Snapdragon/Apple Silicon optimized) |
| Linux RISC-V 64 | RV64GC (General + Compressed + Multiply + Atomic + Float + Double) |
| macOS x64 | AVX, AVX2 (x86-64-v3) |
| macOS ARM64 | Apple M1/M2/M3/M4 optimized (NEON, AES, SHA2, CRC32, LSE, FP16, DotProd) |
| Platform | Devices |
|---|---|
| Windows ARM64 | Snapdragon X Elite/Plus, Snapdragon 8cx, Microsoft SQ3, Surface Pro X |
| Linux ARM64 | Raspberry Pi 4/5, NVIDIA Jetson, Apple Silicon (Asahi), Ampere Altra, AWS Graviton |
| Linux RISC-V | StarFive VisionFive 2, SiFive HiFive, Milk-V Mars/Pioneer, LicheeRV |
| macOS ARM64 | MacBook Air/Pro (M1/M2/M3/M4), Mac Mini, Mac Studio, iMac, Mac Pro |
| macOS x64 | Intel MacBook, iMac, Mac Mini, Mac Pro (2012-2020) |
# Global install
npm install -g xtream-rust
# Run
xtreme-iptv
# Or run directly without installing
npx xtream-rustDownload from the Releases page.
- Rust 1.70+
- For Windows cross-compile:
mingw-w64 - For Windows ARM64 cross-compile:
llvm-mingw
# Linux x64
./build.sh linux
# Linux ARM64 (Raspberry Pi, Snapdragon, etc.)
./build.sh linux-arm
# Linux RISC-V 64
./build.sh linux-riscv
# Windows x64 (cross-compile from Linux)
./build.sh windows
# Windows ARM64 (cross-compile from Linux)
./build.sh windows-arm
# macOS x64 (Intel) - requires macOS
./build.sh macos
# macOS ARM64 (Apple Silicon) - requires macOS
./build.sh macos-arm
# macOS Universal binary (x64 + ARM64) - requires macOS
./build.sh macos-universal
# All Linux platforms
./build.sh all-linux
# All Windows platforms
./build.sh all-windows
# All macOS platforms (requires macOS)
./build.sh all-macos
# Everything (all platforms)
./build.sh everything
# Show help
./build.sh help# Ubuntu/Debian - x64 cross-compile tools
sudo apt install mingw-w64
# Ubuntu/Debian - ARM64 cross-compile tools
sudo apt install gcc-aarch64-linux-gnu
# Ubuntu/Debian - RISC-V cross-compile tools
sudo apt install gcc-riscv64-linux-gnu
# Fedora
sudo dnf install mingw64-gcc gcc-aarch64-linux-gnu gcc-riscv64-linux-gnu
# Arch
sudo pacman -S mingw-w64-gcc aarch64-linux-gnu-gcc riscv64-linux-gnu-gccTo cross-compile for macOS from Linux, you need OSXCross:
# Clone OSXCross
git clone https://github.com/tpoechtrager/osxcross
cd osxcross
# Download Xcode SDK (requires Apple Developer account)
# Place SDK in osxcross/tarballs/
# Build OSXCross
./build.sh
# Add to PATH
export PATH="$PWD/target/bin:$PATH"Alternatively, build natively on a Mac for best results.
- Launch the application
- Enter your Xtream Codes server details:
- Server:
http://yourserver.com:port - Username: your username
- Password: your password
- Server:
- Click Login
- Browse Live TV, Movies, or Series
- Double-click a channel to play
Enter your preferred media player in the Player field:
| Player | Value | Notes |
|---|---|---|
| VLC | vlc |
Auto-detected on Windows |
| mpv | mpv |
Recommended, best performance |
| ffplay | ffplay or leave empty |
Default player |
| Custom | Full path | e.g., C:\Program Files\VLC\vlc.exe |
| Preset | Buffer | Best For |
|---|---|---|
| โก Fast | 2s | Fiber, high-speed connections |
| ๐ถ Normal | 5s | Standard broadband |
| ๐ข Slow | 15s | DSL, congested networks |
| ๐ฆฅ Very Slow | 30s | Mobile, satellite, poor connections |
| โ๏ธ Custom | 1-120s | Manual configuration |
Enable HW Acceleration checkbox to use GPU video decoding:
| Platform | Decoder |
|---|---|
| Windows | DXVA2 / D3D11VA |
| Linux | VA-API / VDPAU |
| macOS | VideoToolbox |
Disable if you experience playback issues with certain streams.
| Key | Action |
|---|---|
Enter |
Play selected channel |
Escape |
Go back |
Ctrl+F |
Focus search |
Ctrl+S |
Save settings |
Settings are stored in:
| Platform | Location |
|---|---|
| Windows | %APPDATA%\xtreme_iptv\config.json |
| Linux | ~/.config/xtreme_iptv/config.json |
| macOS | ~/Library/Application Support/xtreme_iptv/config.json |
{
"external_player": "vlc",
"buffer_seconds": 5,
"connection_quality": "Normal",
"dark_mode": true,
"hw_accel": true,
"single_window_mode": true,
"save_state": true,
"pass_user_agent_to_player": true
}- Use full path:
C:\Program Files\VideoLAN\VLC\vlc.exe - Or add VLC to system PATH
- Increase buffer: Change Connection to Slow or Very Slow
- Try different player (mpv often performs better)
- Disable HW Acceleration if GPU issues
hardware acceleration picture allocation failed
- Uncheck HW Acceleration to use CPU decoding
- Update GPU drivers
- Check User Agent settings
- Try different User Agent preset
- Verify stream URL works in browser
The internal FFmpeg player is optional and requires FFmpeg development libraries:
# Install FFmpeg dev libs (Linux)
sudo apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev pkg-config clang
# Build with internal player
./build.sh linux --internal-playerNote: Internal player is video-only (no audio) and mainly for testing.
MIT License - See LICENSE for details.
Contributions welcome! Please open an issue or PR.
Disclaimer: This software is for personal use with legally obtained IPTV subscriptions only. The developers are not responsible for misuse.