HLS · MPEG-DASH · ClearKey DRM · Live TV
Paste a stream URL or pick a Live TV channel.
🔑 ClearKey DRM — required for encrypted DASH streams
— Quick demos —
Loading channels…
📦
Channel Bundle
Generate a permanent share URL for multiple channels
Bundle name
StreamX player URL
Select channels
Loading channels…
Bundle URL
♾ Permanent — keys fetched fresh on every open
React embed snippet
You're watching
Tap to resume

Episodes

-10s
+10s

Playback Error

Could not play this stream.

🔑 ClearKey
0:00
LIVE
Share
// ══════════════════════════════════════════════════════════ // Minimal encode/decode for bundle URL param const _S = 'sx2025xjio'; function _xor(str, k) { let r = ''; for (let i = 0; i < str.length; i++) r += String.fromCharCode(str.charCodeAt(i) ^ k.charCodeAt(i % k.length)); return r; } function obf(s) { if (!s) return ''; try { return btoa(_xor(unescape(encodeURIComponent(s)), _S)).replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '') } catch { return btoa(s) } } function dob(s) { if (!s) return ''; try { let t = s.replace(/-/g, '+').replace(/_/g, '/'); while (t.length % 4) t += '='; return decodeURIComponent(escape(_xor(atob(t), _S))) } catch { try { return atob(s) } catch { return s } } } // URL TYPE DETECTION — robust, order-safe // ══════════════════════════════════════════════════════════ /** * Returns: 'hls' | 'dash' | 'mp4' | 'proxy' * * Priority order: * 1. Custom proxy paths → 'proxy' (falls through to native video element) * 2. DASH indicators → 'dash' * 3. HLS indicators → 'hls' (STRICT — only .m3u8 extension or explicit /hls/ path) * 4. Everything else → 'mp4' (native