Skip to content

Teleport SDK Integration with Dash.js

This section provides instructions for integrating the Teleport SDK with the Dash.js media player for DASH content playback.

1. Script Connection

Ensure that you have connected the main Teleport SDK script and the loader for Dash.js. 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 Dash.js -->
<script src="https://cdn.teleport.media/stable/teleport.dashjs.js"></script>

Bundle (includes SDK, loader, and polyfills):

html
<script src="https://cdn.teleport.media/stable/teleport.dashjs.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 Dash.js
const video = document.getElementById('video'); // Replace 'video' with the ID of your <video> element
const player = dashjs.MediaPlayer().create();
player.initialize(video, 'YOUR_DASH_MANIFEST_URL', true); // URL of your DASH manifest

// 2. Initialize Teleport SDK
teleport.initialize({
    apiKey: "YOUR_API_KEY", // Your API key from the Teleport cabinet
    loader: {
        type: "dashjs", // Plugin identifier for Dash.js
        params: {
            player: player // Pass the Dash.js instance
        }
    }
})
.then(function (instance) {
    console.log('Teleport SDK successfully initialized for Dash.js!', instance);
    player.play();
})
.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.