A modern, high-performance Windows desktop application for loading M3U/M3U8 playlists and streaming live TV channels. Built with Electron, Vanilla JS, and HLS.js.
(Note: Add your application screenshot here!)
- 📺 Live IPTV Streaming: Native HTTP/HTTPS live streaming support with
HLS.jsintegration. - 📁 Playlist Management:
- Load local
.m3uor.m3u8playlists. - Import playlists directly via URL (supports automatic redirects).
- Drag-and-drop playlist importing.
- Load local
- ⚡ High Performance Virtual Scrolling: Effortlessly handles large playlists (10,000+ channels) with a custom virtual list renderer, keeping memory usage low and rendering at a smooth 60fps.
- 📅 Electronic Program Guide (EPG): Load XMLTV format EPGs to view live schedules, program details, and progress.
- 📌 Multi-View / Pinned Players: Pin multiple channels to watch them simultaneously.
- 🔍 Smart Channel Browsing:
- Search/filter channels instantly by name.
- Categorized grouping based on M3U tags (
group-title). - Favorites/pinned lists for quick access.
- 🎨 Sleek Custom UI:
- Frameless modern window design with responsive sidebar and title bars.
- Custom media controls (play/pause, volume control, mute, fullscreen toggle, quick channel switching).
- Premium dark theme interface matching modern aesthetic standards.
- Framework: Electron 27+
- Frontend: HTML5, CSS3 (Vanilla), Vanilla JavaScript
- Video Playback Engine: HLS.js (HTTP Live Streaming)
- Logging: Electron-log
- Packaging: Electron Builder
UltimateIPTV/
├── assets/ # Application assets (icons, images)
├── src/ # Frontend source files
│ ├── index.html # Main window layout
│ ├── styles/
│ │ └── main.css # UI styles & theme
│ └── scripts/
│ ├── app.js # Main application lifecycle & UI controller
│ ├── parser.js # M3U/M3U8 file parser
│ ├── store.js # Channel store & state manager (favorites, history)
│ ├── player.js # HLS.js video player wrapper
│ ├── epg.js # Electronic Program Guide (XMLTV) handler
│ ├── virtualScroller.js # High performance list view renderer
│ └── pinnedPlayers.js # Multi-view layout system
├── main.js # Electron main process
├── preload.js # Electron IPC bridge
├── package.json # Scripts, configurations, and dependencies
└── README.md # Project documentation
You need Node.js installed on your machine.
-
Clone the repository:
git clone https://github.com/adem-rguez/UltimateIPTV.git cd UltimateIPTV -
Install dependencies:
npm install
To start the application in development mode:
npm startTo package the application into a standalone installer (.exe):
npm run buildTo build a unpackaged directory version for testing:
npm run build:dirThis project is licensed under the MIT License - see the LICENSE file for details.