api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.
hls.js module to call the api.video analytics collector.
Include https://unpkg.com/@api.video/hlsjs-player-analytics
in your web page.
<script src="https://unpkg.com/@api.video/hlsjs-player-analytics"></script>
Include the module in your HTML file like so:
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<script src="https://unpkg.com/@api.video/hlsjs-player-analytics"></script>
</head>
<body>
<video id="video" controls width=640 height=480></video>
<script>
var video = document.getElementById('video');
var videoSrc = 'https://cdn.api.video/vod/vi5oDagRVJBSKHxSiPux5rYD/hls/manifest.m3u8';
if (Hls.isSupported()) {
var hls = new Hls();
new HlsJsApiVideoAnalytics(hls);
hls.loadSource(videoSrc);
hls.attachMedia(video);
}
</script>
</body>
</html>
Then, before having instanciated Hls
, instanciate a HlsJsApiVideoAnalytics
object.
The HlsJsApiVideoAnalytics
constructor take the following parameters:
Parameter name | Mandatory | Type | Description |
---|---|---|---|
hls | yes | Hls instance |
the instance of Hls |
options | no | HlsJsApiVideoAnalyticsOptions (see below) |
optional options |
Available options (HlsJsApiVideoAnalyticsOptions
):
Option name | Mandatory | Type | Description |
---|---|---|---|
userMetadata | no | { [name: string]: string }[] |
object containing metadata (see Full example below) |
sequence | no | {start: number; end?: number;} |
if only a sequence of the video is going to be played |
var hls = new Hls();
new HlsJsApiVideoAnalytics(hls, {
sequence: {
start: 10,
end: 50
},
userMetadata: {
gender: "male"
}
});