Experience the ultimate video playback with DRM protection, dynamic subtitles, customizable branding, and professional-grade controls. Built for developers who demand excellence.
Everything you need for professional video playback
Multi-DRM support with Widevine, PlayReady, and FairPlay for enterprise-grade content protection.
Dynamic subtitle support with WebVTT format, custom styling, and multi-language capabilities.
Fully customizable player with dynamic logos, themes, and positioning options for your brand.
Perfect playback on all devices with adaptive controls and mobile-optimized interactions.
Optimized for speed with hardware acceleration, smart buffering, and minimal CPU usage.
Clean APIs, comprehensive documentation, and extensive customization options for developers.
Complete setup options for Strix K9 Player
Get started with minimal configuration
Add the player script and stylesheet to your HTML file.
npm install strixk9-video-player
Add a container element where the player will be rendered.
<!-- Player container -->
<div id="player"></div>
Initialize the player with basic configuration.
// Basic player configuration
const config = {
video: {
default: "video.mp4",
poster: "poster.jpg"
},
theme: { color: "#19a383" }
};
// Initialize player
import StrixK9Player from 'strixk9-video-player';
const player = new StrixK9Player('#video-container', config);
Configure multiple quality options and branding
Provide multiple video quality options for adaptive streaming.
video: {
default: "video-1080p.mp4",
poster: "poster.jpg",
playerTitle: "My Player",
// Multiple qualities
quality: ["1080p", "720p", "480p"],
source: {
"1080p": "video-1080p.mp4",
"720p": "video-720p.mp4",
"480p": "video-480p.mp4"
}
}
Add your brand logo with customizable position and behavior.
// Custom logo configuration
playerLogo: {
src: "logo.png",
position: "bottom end", // Options: "top start", "top end", "bottom start", "bottom end"
width: "100px",
opacity: "0.9",
href: "https://site.com" // Optional link
}
Enable subtitles, waveform, and additional player options
Configure player behavior and appearance.
// Player behavior options
autoplay: false,
loop: false,
preload: "metadata",
thumbnailPreview: true,
waveform: true,
// Theme customization
theme: { color: "#19a383" }
Enable DRM for protected content (Enterprise feature).
// DRM configuration
drm: {
enabled: true,
widevine: { licenseUrl: "license-server.com" },
playready: { licenseUrl: "license-server.com" },
fairplay: {
licenseUrl: "license-server.com",
certificateUrl: "certificate-server.com"
}
}
DRM features require enterprise licensing. Contact sales for more information.
Full configuration with all features
A comprehensive example showcasing all available options.
const playerConfig = {
video: {
default: "videos/main-1080p.mp4",
poster: "images/poster.jpg",
playerTitle: "Professional Player",
quality: ["1080p", "720p", "480p"],
source: {
"1080p": "videos/main-1080p.mp4",
"720p": "videos/main-720p.mp4",
"480p": "videos/main-480p.mp4"
},
playerLogo: {
src: "images/logo.png",
position: "bottom end",
width: "100px"
},
theme: { color: "#19a383" },
thumbnailPreview: true,
waveform: true
};
// Initialize player
const player = new StrixK9Player('#videoContainer', playerConfig);
// Available methods:
// player.togglePlay(), player.setVolume(0.5)
// player.seek(30), player.toggleFullscreen()
Control the player programmatically with these methods.
// Control playback
player.togglePlay(); // Toggle play/pause
player.setVolume(0.5); // Set volume (0-1)
player.seek(30); // Seek to 30 seconds
player.toggleFullscreen(); // Toggle fullscreen
// Subtitle controls
player.toggleSubtitles(); // Toggle subtitles on/off
player.setSubtitle('en'); // Set subtitle language
// Logo controls
player.updateLogoConfig({ opacity: '0.7' }); // Update logo
player.getCurrentLogoConfig(); // Get current logo config