Skip to main content

Flowplayer

Install QUANTEEC for Native Flowplayer

5 steps:

1- Import the QUANTEEC library for Native Flowplayer into your webpage:

<script src="https://files.quanteec.com/quanteec/latest/quanteec-hlsjs.min.js"></script>

2- Adjust the QUANTEEC configuration to your quanteecKey and specific options:

var quanteecConfig = { 
quanteecKey: "<your-quanteec-key>"
};
info

To create a new QUANTEEC configuration and/or retrieve your default QUANTEEC key, you must first go to the Config page of your panel.

note

A complete description of the possible options of the quanteecConfiguration object can be found here.

warning

In your QUANTEEC configuration, remember to set a different videoID if you have different formats of the same stream (e.g., one DASH stream and one HLS stream) or two variants of the same stream (one stream with English audio and one stream with another language).

Click here to find more informations on videoID

3- Link QUANTEEC to Flowplayer before the creation of the Flowplayer instance.

var quanteecPlayer = new Quanteec(quanteecConfig, flowplayer);

4- While declaring your Native Flowplayer instance, add the following parameters to its configuration:

hls: { 
pLoader: quanteecPlayer.loader,
fLoader: quanteecPlayer.loader
}

5- Declare your Flowplayer instance to QUANTEEC to monitor the buffer and provide the most appropriate quality:

quanteecPlayer.setFlowplayer(flow);

Here is a complete example of the use of QUANTEEC for Native Flowplayer:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdn.flowplayer.com/releases/native/3/stable/style/flowplayer.css">

<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<script src="https://cdn.flowplayer.com/releases/native/3/stable/flowplayer.min.js"></script>
<script src="https://cdn.flowplayer.com/releases/native/3/stable/plugins/hls.min.js"></script>
<!-- 1- Import the QUANTEEC plugin -->
<script src="https://files.quanteec.com/quanteec/latest/quanteec-hlsjs.min.js"></script>
</head>
<body>
<div style="max-width:726px;max-height:408px;">
<div id="videoplayer" ></div>
</div>

<script>
document.addEventListener("DOMContentLoaded", function () {
var videoSource = "https://example.com/videoSource.m3u8";

// 2- Adjust QUANTEEC configuration
var quanteecConfig = {
quanteecKey: "<your-quanteec-key>",
videoID: "<enter-your-custom-videoID>" // [Optional but recommended] String --> specific name to identify a video. Useful if the videosource url contains a token which is different for every user. By default: the videoSource value is used.
};

// 3- Link QUANTEEC to Flowplayer *before* the creation of the Flowplayer instance, protected by a try catch
var quanteecPlayer = null;
try {
quanteecPlayer = new Quanteec(quanteecConfig, flowplayer);
} catch (err) {
// If QUANTEEC is not available or an unusual issue occurs
}

// 4- Add hls parameters in the options of Flowplayer
var flow = flowplayer('#videoplayer',
{
src: videoSource,
hls: {
pLoader: quanteecPlayer.loader,
fLoader: quanteecPlayer.loader
},
autoplay: true
})

// 5- Declare your Flowplayer instance to QUANTEEC, verify that the QUANTEEC instance is not null
if (quanteecPlayer !== null) {
quanteecPlayer.setFlowplayer(flow);
}
});
</script>
</body>
</html>

tip

Good practice: try-catch block

One good practice is to encapsulate the instantiation of the QUANTEEC object within a try-catch block. This approach provides a robust mechanism for handling situations where QUANTEEC might not be available or may encounter compatibility issues.

Script loading

Embedding QUANTEEC on a webpage involves loading an external script. If, for any reason, this script fails to load or execute correctly, an error may occur. Wrapping the instantiation of the QUANTEEC object in a try-catch block allows you to catch and handle these errors gracefully.

Unusual environments

Web environments are diverse, and unusual browsers or plugin associations might cause issues with QUANTEEC. By encapsulating the new Quanteec() operation in a try-catch block, you can account for scenarios where QUANTEEC is either unavailable or incompatible with the current browser, preventing unhandled exceptions.