StreamBoost
StreamBoost is a Quanteec module that lets viewers see the impact of peer-to-peer (P2P) streaming and take part in it. It sits on top of the Quanteec SDK and adds a small interface to the video page: a button that opens a panel.
What it does
- Shows P2P statistics to the viewer, as dashboard cards:
Peers,Shared,Speed,Power,Energy,Water,CO2andRanking. - Gamifies P2P: the viewer collects points by sharing the stream with other viewers.
- Lets the viewer choose: the boost can be switched on or off, enabling or disabling p2p.
- Supports sponsoring: an advertising banner can be displayed in the panel, linked to a campaign.
How it works
- The page loads the Quanteec SDK on the player, as usual. P2P exchanges between viewers are handled by the SDK.
- The StreamBoost plugin is added to the page, the Quanteec plugin instance is passed down to StreamBoost or automatically detected.
- The streaming and P2P states are detected, generating Quoins that can be claimed when available.
- Actions from the users are detected and send to our analytics dashboard.
Components
StreamBoost can be implemented using one of these two Components:
- The Button: an icon button on that opens the panel. It embeds the panel.
- The Panel: The dashboard and status view. It can be used alone, opened from your own button.
The two components are available in two forms:
- a JS plugin: in any HTML page, through the custom elements
<streamboost-button/>or<streamboost-panel/>. - a React plugin: for React applications, through
StreamboostButtonorStreamboostPanel.
Viewer id
Every StreamBoost integration requires a viewer id (user-id, userID or userId depending on the integration). It identifies the viewer, not your platform: it must be unique per viewer and stay the same across sessions, so that the viewer keeps their Quoins. StreamBoost does not generate or store it: use your platform user id for logged-in viewers, or generate a UUID once and keep it in localStorage for anonymous viewers:
let userId = localStorage.getItem("quanteecUserId");
if (!userId) {
userId = crypto.randomUUID();
localStorage.setItem("quanteecUserId", userId);
}
Some players embed the QUANTEEC plugin natively, in which case StreamBoost is configured through the player itself instead of the components above. See for example StreamBoost with Bradmax: StreamBoost is only displayed when quanteecConfig.streamboost.userId is set.
Next steps
Integrate StreamBoost in your player:
📄️ JS plugin
Integrate the StreamBoost plugin in plain HTML
📄️ React plugin
Integrate the StreamBoost plugin in a React app