📺 IPTV TNT Sports 1-4 | MPD - Updated | 12th October 2025

Unfortunately, they have rotating passwords.
They don't last long.
The next step is supposed to be to implement tokens, as they already did from 5 onwards.
 
Unfortunately, they have rotating passwords.
They don't last long.
The next step is supposed to be to implement tokens, as they already did from 5 onwards.
Channels 1-4 are the main channels of TNT Sports. The rest from 5 upwards are temporarily channels that are only activated when there are many live events and the main channels are taken up like during Champions League. So they deactivate them when free and activate them when a live event starts, just like Prime Video, Peacock, Fubo Sports, CBS Sports. That's why their keys change frequently because the key is only valid for that live event.
 
JavaScript:
<!DOCTYPE html>

<html>

<head>

    <title>Shaka Player DRM Test</title>

    <script src="https://cdn.jsdelivr.net/npm/shaka-player@4.0.0/dist/shaka-player.compiled.js"></script>

    <style>

        #video-container { width: 800px; margin: 20px auto; }

        #video { width: 100%; height: auto; }

    </style>

</head>

<body>

    <div id="video-container">

        <video id="video" autoplay controls crossorigin="anonymous"></video>

    </div>


    <script>

        document.addEventListener('DOMContentLoaded', initApp);

    </script>

</body>

</html>

function initApp() {

    // 1. Install polyfills

    shaka.polyfill.installAll();


    // 2. Check for browser support

    if (!shaka.Player.is || !shaka.Player.isSupported()) {

        console.error('Browser does not support EME/MSE/DASH required for Shaka Player.');

        return;

    }


    // 3. Initialize the Player

    const video = document.getElementById('video');

    const player = new shaka.Player(video);


    // Set up error handling (recommended)

    player.addEventListener('error', onErrorEvent);


    // The MPD (Manifest) URL from the last line of your KODIPROP list

    const manifestUri = 'mpd link';


    player.configure({

        drm: {

            clearkey: {

                'keyid': 'key'

            }

        }

    });


    // 5. Load the manifest

    player.load(manifestUri).then(function() {

        // Success!

        console.log('The video has been loaded and should be playing!');

    }).catch(onError);

}


function onErrorEvent(event) {

    // Log the error

    onError(event.detail);

}


function onError(error) {

    // Display the error on the console

    console.error('Error code', error.code, 'object', error);

    // You can also display a user-friendly message here

    // alert('Playback Error: ' + error.message);

}




Fill in the mpd link, key id and key from the channels. Then self host or just run a local server.
 
Not working links 404 error
1760615319640.webp
 

About this Thread

  • 50
    Replies
  • 2K
    Views
  • 30
    Participants
Last reply from:
maxae

Online now

Members online
858
Guests online
1,747
Total visitors
2,605

Forum statistics

Threads
2,286,508
Posts
29,038,230
Members
1,217,025
Latest member
Shehab11
Back
Top