QUANTEEC P2P

If Quanteec feature is enabled in Bradmax admin panel, package with player will include Quanteec P2P plugin.

The Quanteec P2P enables peer-to-peer (P2P) functionality within Bradmax player, leveraging Quanteec’s decentralized network for efficient content delivery. This plugin optimizes bandwidth usage by enabling direct video stream exchanges between peers, reducing server load and improving playback performance in real-time.

more at: https://quanteec.com/

NOTE: Quanteec key is required. If you do not already have a Quanteec Key, please contact us or directly Quanteec to obtain one.

QUANTEEC config

Field nameTypeDescription
quanteecKeystringRequired - key used for authentication in Quanteec.
mediaobjectOptional - object containing video metadata mapping.
activatedbooleanOptional - activate/deactivate Quanteec plugin.
analyticsVideoIDstringOptional - name to identify a video for the analytics process.
cellularActivatedbooleanOptional - activate/deactivate transfer functionality within the cellular network.
checkUrlsbooleanOptional - check that the url of the segment is the same before sending in P2P.
collectionstringOptional - Quanteec collection of the video.
controllerstringOptional - url of the controller.
hideInUibooleanOptional - hide quanteec button in player ui.
iceServersarrayOptional - array with iceServers.
ignoreTokenInUrlsstringOptional - regular expression (string) used to exclude tokens in the URLs.
logLevelnumberOptional - log level of the Quanteec plugin.
lowLatencybooleanOptional - activates/deactivates the low-latency mode of Quanteec.
lowLatencyBufferLimitnumberOptional - low buffer level, in milliseconds (WebRTS only).
maxUploadPercentnumberOptional - percentage of upload to use.
p2pActivatedbooleanOptional - activates/deactivates Quanteec P2P system.
p2pConfigurationstringOptional - Quanteec P2P configuration name.
p2pOptimizedStartbooleanOptional - slow down the download speed of the very first segments.
useSubnetsbooleanOptional - use subnetwork rules defined in the Quanteec Panel.
validateDatabooleanOptional - validate received data in CDN for every single segments.
videoIDstringOptional - name to identify a video in the Quanteec system.
withCredentialsbooleanOptional - sends the HTTP requests with credentials.
streamboostobjectOptional - configuration for Quanteec streamboost panel.

quanteecKey

Data type: string

Configuration path: .quanteecConfig.quanteecKey

Description: Required, Quanteec key used to authenticate the plugin.

NOTE: This parameter is required. If you do not already have a Quanteec Key, please contact us to obtain one.

Example:

{
  quanteecConfig: {
    quanteecKey: "UNIQUE-QUANTEEC-KEY";
  }
}

media

Data type: object

Configuration path: .quanteecConfig.media

Description: Optional, configuration object for mapping media id to quanteec videoID, collection or analyticsVideoID.

Example:

{
    quanteecConfig: {
        media: {
                '<media.id>': {
                    analyticsVideoID: 'Quanteec analyticsVideoID value', // optional.
                    collection: 'Quanteec collection value', // optional.
                    videoID: 'Quanteec videoID value' // optional, if not present <media.id> will be used, useful for overriding.
                },
        }
    }
}

activated

Data type: boolean

Configuration path: .quanteecConfig.activated

Description: Optional, activate/deactivate Quanteec, including the connection with the controller. This value overrides p2p.activated which does not stop the connection to the controller.

Default value: true

analyticsVideoID

Data type: string

Configuration path: .quanteecConfig.analyticsVideoID

Description: Optional, specific name to identify a video for the analytics process. By default, videoID is used.

The value will be overridden by the quanteecConfig.media configuration. For more details, refer to the quanteecConfig.media configuration.

Default value: videoID value.

cellularActivated

Data type: boolean

Configuration path: .quanteecConfig.cellularActivated

Description: Optional, activates or deactivates the possibility to send data if the device is connected to a cellular network.

Default value: true

checkUrls

Data type: boolean

Configuration path: .quanteecConfig.checkUrls

Description: Optional, if true, the plugin will check that the url of the segment is the same before sending the data in P2P. Useful for Server-Side Ad Isertion (SSAI) use cases where users may not request the same segments every time.

Default value: false

collection

Data type: string

Configuration path: .quanteecConfig.collection

Description: Optional, collection of the video. Used in the panel to sort and manage the parameters of Quanteec for several videos at the same time.

Collection can be a string representing a JSON array of strings to define several collections at once.

The value will be overridden by the quanteecConfig.media configuration. For more details, refer to the quanteecConfig.media configuration.

Example:

{
  quanteecConfig: {
    collection: '["Coll1", "Coll2", "Coll3"]';
  }
}

controller

Data type: string

Configuration path: .quanteecConfig.controller

Description: Optional, url of the controller. Used only in specific scenarios where the signalling/controller server is deployed on premises.

iceServers

Data type: array

Configuration path: .quanteecConfig.iceServers

Description: Optional, array with iceServers used by Quanteec WebRTC connections. Should be compatible with WebRTC object.

Example:

{
  quanteecConfig: {
    iceServers: [
      { urls: ["stun:localhost:3478"] },
      {
        urls: ["turn:localhost:3478"],
        username: "username",
        credential: "password",
      },
    ];
  }
}

ignoreTokenInUrls

Data type: string (Js Regex)

Configuration path: .quanteecConfig.ignoreTokenInUrls

Description: If checkUrls is true, the urls will be checked WITHOUT the regex defined in ignoreTokenInUrls. Useful if the url embeds an unique token for every user, for security reasons.

logLevel

Data type: number

Configuration path: .quanteecConfig.logLevel

Description: Indicates the loglevel of the plugin.

Default value: 0. available levels: 0 - ERROR, 1 - INFOS, 2 - DEBUG, 3 - TRACE

lowLatency

Data type: boolean

Configuration path: .quanteecConfig.lowLatency

Description: Activates or deactivates the low-latency mode of Quanteec. Only set this value to true for low-latency streams, using DASH-LL or HLS-LL. Low-latency is currently only supported for dash and hls

Default value: false

lowLatencyBufferLimit

Data type: number

Configuration path: .quanteecConfig.lowLatencyBufferLimit

Description: The low buffer level, in milliseconds. When the buffer level is lower than the value lowLatencyBufferLimit, the P2P request is dropped and the remaining bytes are requested in HTTP. If -1, uses the “bufferLimitLow” of the player.

Default value: -1 (Not activated)

NOTE: WebRTS only

maxUploadPercent

Data type: number

Configuration path: .quanteecConfig.maxUploadPercent

Description: Percentage of upload to use. Number between 0 and 1. If 0, nothing is sent, but the peer still receives data.

Default value: 0.5

p2pActivated

Data type: boolean

Configuration path: .quanteecConfig.p2pActivated

Description: Activates Quanteec P2P system.

Default value: true

p2pConfiguration

Data type: string

Configuration path: .quanteecConfig.p2pConfiguration

Description: Select a collection and use the P2P configurations associated with this configuration for this plugin. If the name of the collection is invalid, the configuration used will fall back to the configuration selected for this video in the panel.

p2pOptimizedStart

Data type: boolean

Configuration path: .quanteecConfig.p2pOptimizedStart

Description: If true, slow down the download speed of the very first segments in order to create P2P connections as fast as possible.

Default value: false

useSubnets

Data type: boolean

Configuration path: .quanteecConfig.useSubnets

Description: Get the private IP of the peer to group the peers according to the subnetwork rules defined in the Panel.

Default value: false

validateData

Data type: boolean

Configuration path: .quanteecConfig.validateData

Description: Validate the data received in P2P with the help of the CDN for every single segments. This feature needs the CDN to support Range HTTP requests.

Default value: false

videoID

Data type: string

Configuration path: .quanteecConfig.videoID

Description: Specific name to identify a video in the Quanteec system. Defaults to media id if present or media source url value. Useful if the media source url contains a token which is different for every user.

The value will be overridden by the quanteecConfig.media configuration. For more details, refer to the quanteecConfig.media configuration.

Default value: media id or media source url

withCredentials

Data type: boolean

Configuration path: .quanteecConfig.withCredentials

Description: Sends the HTTP requests with credentials.

Default value: false

NOTE: Web only

streamboost

Data type: StreamBoost configuration object

Configuration path: .quanteecConfig.streamboost

Description: Optional, configuration for Quanteec StreamBoost panel.

more at: https://quanteec.com/streamboost/

StreamBoost configuration

Field nameTypeDescription
userIdstringRequired - a unique id to identify the viewer.
sponsorIdstringOptional - unique id to identify the advertising campaign.
sponsorImagestringOptional - url to an ad banner with a 1:4 ratio.
sponsorUrlstringOptional - url to make the image clickable.
dashboardCardsstringOptional - list of card names for the streamboost panel dashboard.
defaultIsStreamboostOnbooleanOptional - enable/disable the boost by default.
defaultSectionstringOptional - default section to open in the streamboost panel.
colorstringOptional - custom color for the streamboost panel.

streamboost.userId

Data type: string

Configuration path: .quanteecConfig.streamboost.userId

Description: Required, a unique id to identify the viewer.

Example:

{
  quanteecConfig: {
    quanteecKey: "UNIQUE-QUANTEEC-KEY";
    streamboost: {
      userId: "UNIQUE-USER-ID";
    }
  }
}

streamboost.sponsorId

Data type: string

Configuration path: .quanteecConfig.streamboost.sponsorId

Description: Optional, unique id to identify the advertising campaign.

streamboost.sponsorImage

Data type: string

Configuration path: .quanteecConfig.streamboost.sponsorImage

Description: Optional, url to an ad banner with a 1:4 ratio.

streamboost.sponsorUrl

Data type: string

Configuration path: .quanteecConfig.streamboost.sponsorUrl

Description: Optional, url to make the image clickable.

streamboost.dashboardCards

Data type: string

Configuration path: .quanteecConfig.streamboost.dashboardCards

Description: Optional, comma-separated list of card names for the dashboard.

Default value: "Peers, Shared, Energy, Speed", allowed card names are: CO2, Energy, Peers, Power, Ranking, Shared, Speed, Water.

streamboost.defaultIsStreamboostOn

Data type: boolean

Configuration path: .quanteecConfig.streamboost.defaultIsStreamboostOn

Description: Optional, boolean to enable/disable the boost by default (the user can still change the vale afterward).

streamboost.defaultSection

Data type: string

Configuration path: .quanteecConfig.streamboost.defaultSection

Description: Optional, “dashboard” or “status” to force the default open section.

streamboost.color

Data type: string

Configuration path: .quanteecConfig.streamboost.color

Description: Optional, custom color for the panel.