A modern, fast, and lightweight IPTV player designed for Smart TVs (specifically LG WebOS) and modern browsers. Built as a Progressive Web App (PWA) with a focus on performance and remote control navigation.
- TV-First UI: Fully navigable using a D-pad remote (Up, Down, Left, Right, Enter, Back).
- M3U Playlist Support: Load custom playlists via URL.
- Smart Search: Filter channels instantly with an optimized on-screen keyboard flow.
- Modern Design: Dark theme, glassmorphism UI, and smooth animations inspired by premium streaming apps.
- Performance:
- Optimized HLS.js config for low-latency streaming.
- Virtual scrolling / Dynamic grid columns.
- Lazy loading for images with smart fallback (Proxy -> Direct -> Text).
- Device Support:
- LG WebOS (via hosted web app).
- Android TV / Fire TV (via browser).
- Desktop (Chrome/Edge/Firefox).
- Open the App: Host the
index.htmlon any static file server (GitHub Pages, Netlify, Vercel). - Add Playlist:
- On first load, select "Add Profile".
- Enter a Name and the URL of your M3U playlist.
- Click Save.
- Navigation:
- Arrow Keys: Navigate the grid and sidebar.
- Enter: Select channel or confirm action.
- Back / Esc: Go back or close the player.
- Search:
- Navigate UP to the Search icon.
- Press Enter to open the keyboard.
- Type query and filter results.
Simply upload index.html to GitHub Pages.
- Create a new repository named
webos-iptv-player. - Run the commands below to push the code.
- Go to Settings -> Pages -> Source:
mainbranch. - Open
https://cloudbed-invi.github.io/webos-iptv-player/on your TV's browser.
- Core: Vanilla HTML5, CSS3, JavaScript (ES6+).
- Video: hls.js v1.5.2 for HLS streaming.
- Persistence:
localStoragefor saving profiles and playlists. - Images: Uses
images.weserv.nlproxy to handle mixed-content and CORS issues for channel logos.
MIT License. Free to use and modify.