/sdk/spdn-p2p.js.
The bridge registers hls.js as a JW provider; the P2P engine then auto-wires through
hlsjsConfig.p2pConfig for offload delivery.
<script src="https://spdn.tv/sdk/vendor/spdn-jw-bridge.min.js"></script>
<script src="https://ssl.p.jwpcdn.com/player/v/8.30.0/jwplayer.js"></script>
<!-- IMPORTANT: use SPDN's hls.js engine bundle, NOT vanilla hls.js -->
<script src="https://spdn.tv/sdk/vendor/spdn-hls-engine.min.js"></script>
<script src="https://spdn.tv/sdk/spdn-p2p.js"></script>
<div id="player"></div>
<script>
const spdn = new SPDN({
token: "spdn_app_YOUR_TOKEN_HERE",
streamId: "your-stream-id"
});
spdn.ready.then(() => {
jwplayer.key = "YOUR_JW_LICENSE_KEY";
jwplayer_hls_provider.attach();
jwplayer("player").setup({
file: "https://your-cdn.com/live.m3u8",
autostart: true, mute: true,
hlsjsdefault: true,
hlsjsConfig: {
liveSyncDurationCount: 3,
p2pConfig: spdn.getEngineConfig() // ← P2P auto-wire
}
});
});
</script>