Teleport SDK Integration with Shaka Player
This section provides instructions for integrating the Teleport SDK with the Shaka Player media player for DASH and HLS content playback.
1. Script Connection
Ensure that you have connected the main Teleport SDK script and the loader for Shaka Player. You can use separate scripts or a ready-made bundle.
Separate Scripts:
html
<!-- Main Teleport SDK script -->
<script src="https://cdn.teleport.media/stable/teleport.js"></script>
<!-- Loader for Shaka Player -->
<script src="https://cdn.teleport.media/stable/teleport.shaka.js"></script>Bundle (includes SDK, loader, and polyfills):
html
<script src="https://cdn.teleport.media/stable/teleport.shaka.bundle.js"></script>2. Teleport SDK Initialization
After connecting the scripts, you need to initialize the Teleport SDK, passing your API key and the player instance.
js
// 1. Initialize Shaka Player
shaka.polyfill.installAll();
const videoElement = document.getElementById('video'); // Replace 'video' with the ID of your <video> element
const player = new shaka.Player(videoElement);
// 2. Initialize Teleport SDK
teleport.initialize({
apiKey: "YOUR_API_KEY", // Your API key from the Teleport cabinet
loader: {
type: "shaka", // Plugin identifier for Shaka Player
params: {
player: player // Pass the Shaka Player instance
}
}
})
.then(function (instance) {
console.log('Teleport SDK successfully initialized for Shaka Player!', instance);
// Here you can load your manifest
player.load('YOUR_MANIFEST_URL'); // URL of your DASH/HLS manifest
})
.catch(function (error) {
console.error('Teleport SDK initialization error:', error);
});
// Optional: release Teleport resources when closing the page
window.addEventListener("unload", function () {
if (tlprt) {
tlprt.dispose();
tlprt = null;
}
});Additional Configuration
For finer tuning of Teleport SDK behavior (e.g., URL cleaning, segment quality detection), refer to the Customization section.