One SDK, one config object — adaptive streaming, content protection, monetization, and analytics, all wired together for how media platforms actually operate.
Automatic engine selection across hls.js, dash.js, and native playback — with resilience built in for when a CDN has a bad day.
new SKPlayer({ containerId: "player", src: "https://cdn.example.com/live.m3u8", backupsrc: "https://backup-cdn.example.com/live.m3u8", autoplay: 1, muted: 1 });
License your premium content across every major DRM system, from one config block.
drm: {
widevine: {
licenseUrl: "https://lic.example.com/widevine"
},
fairplay: {
licenseUrl: "https://lic.example.com/fairplay",
certificateUrl: "https://lic.example.com/cert"
}
}
Two ad formats built in, so ad-supported streaming doesn't need a second SDK bolted on.
ads: {
preroll: "https://pubads.g.doubleclick.net/...",
midroll: ["..."],
postroll: "..."
},
lband: {
adUnit: "/1234/YourNetwork/Video"
}
Built-in Common Media Client Data support (CTA-5004) — your CDN sees real-time buffer health, bitrate, and session data on every request, and can make smarter delivery decisions because of it.
cmcd: true // or a config object to customize which fields are sent
Push standard playback events straight into your own GA4 property — no separate analytics vendor or custom event wiring required.
analytics: {
ga4MeasurementId: "G-XXXXXXXXXX"
}
Every embed is checked server-side against a domain-locked license key — verified against the browser's own Origin header, not a value the page's own script can spoof.
licenseKey: "avp_your_key_here"
A full stream-testing tool ships with the SDK — live bandwidth, buffer health, dropped frames, bitrate ladder, and CMCD session data, updating in real time.
The live demo runs the exact same SDK build your license key would unlock. Or start a 30-day free trial and drop it straight into your own site.