Extended Video Broadcast
A browser-based IPTV player built around Material You design, real EPG integration and multi-engine playback — for desktop and mobile.
Not just a playlist viewer — a full broadcast interface that adapts to every channel's visual identity in real time.
Dominant color extracted from each channel logo at runtime. Full tonal palette applied across hero, surfaces and accents — automatically.
Programme title, description, animated progress bar, next programme stack, content rating and duration — refreshed continuously.
HLS, DASH, MPEG-TS and native HTML5 selected automatically. Shaka Player as ClearKey DRM fallback for encrypted streams.
Separate interfaces routed automatically. Mobile gets a YouTube-style vertical feed with EPG thumbnails and tap-to-play.
Real-time search across all loaded channels. Favourites pins preferred channels as a persistent category at the top.
Record any stream directly in the browser with a live REC badge and timer. No extensions or native installs required.
The correct engine is selected automatically based on the stream URL. A HEAD request is used when the format is ambiguous.
| Format | Engine | Notes |
|---|---|---|
| .m3u8 / HLS | hls.js | Adaptive bitrate, quality level selector |
| .mpd / DASH | dash.js | ClearKey DRM via license-details |
| .mpd + DRM fallback | Shaka Player | Automatic retry if dash.js DRM fails |
| .ts / MPEG-TS | mpegts.js | Live buffer mode, low latency |
| .mp4 / .aac / .mp3 | HTML5 native | Progressive download or direct play |
| Iframe patterns | Embedded iframe | Pluto TV and similar web player URLs |
Mixed content: Streams on http:// will not play when the app is accessed over HTTPS. This is enforced by the browser and cannot be bypassed. Always use HTTPS stream URLs.
XVB3 is a neutral playback interface. It does not provide, host or distribute any media content, channels, credentials or IPTV subscriptions. Use it only with playlists and streams you are authorised to access. The authors accept no responsibility for how the software is used.
Open the app and add your first playlist in Settings. Full setup guide in the documentation.