Configuring a Non-Brightcove Player for QoE

In this topic, you will learn how to send Quality of Experience (QoE) Analytics data to Brightcove from your custom, non-Brightcove player.

Introduction

Brightcove Player (web) and the Brightcove Native SDKs have a lot of built-in functionality, including sending QoE data. If you choose to use a non-Brightcove Player, you can send QoE data manually using the Data Collection API.

For details about using your Video Cloud library, see the Using a Non-Brightcove Player document.

QoE analytic data can be viewed in Video Cloud Studio. For details, see the Quality of Experience (QoE) Analytics document.

QoE analytics flow

QoE analytics

Configure player data

Follow these steps to send QoE data from your player to Brightcove:

  1. If you are new to the Data Collection API, review the Overview: Data Collection API v2 document.
  2. Configure some key data as defined in the Minimal data section of the Overview document.
  3. Configure fields and events for QoE analytics.

    The following parameters can be sent with events for QoE metrics. For details about viewing QoE tables and metrics in Video Cloud Studio, see the Quality of Experience (QoE) Analytics document.

    Player event field Player event value QoE table QoE metric
    event "error" Error rate Count of sessions with error
    event "error" Error rate Error rate
    event "play_request" Error rate Error rate by play request
    event "video_view" Video start time Average time before video started by video views
    event "video_view" Video start time View count
    event "play_request" Video start time For player V7 this describes the action of requesting playback either manually from the viewer by clicking play or automatically by an autoplay mechanism. For Player 6 or older, this counts the number of times resuming playback from pause or replaying.
    event video_engagement Stall rate Average stalls per hour of video watched
    rebuffering_count >0 Stall rate Average stalls per hour of video watched
    event video_engagement Upscale time Average time spent in upscaling per hour of video engagement time
    rendition_height Upscale time Average time spent in upscaling per hour of video engagement time
    player_height Upscale time Average time spent in upscaling per hour of video engagement time
    rendition_width Upscale time Average time spent in upscaling per hour of video engagement time
    player_width Upscale time Average time spent in upscaling per hour of video engagement time
    rebuffering_seconds Summary Average rebuffering seconds per hour of video watched
    rendition_height Summary Resolution of the video played

Send player data

You will use an HTML img tag to send data to Brightcove's Data Collection API.

  1. Review the Data Collection API Sample. Here you will find example code for sending player data.

  2. For your custom player, create JavaScript code to do the following:

    1. Get a reference to your player.
    2. Listen for player events that you are interested in.
    3. When an event is triggered, send data to the Data Collection API.
    4. To avoid CORS issues,the best way to "send" to the Data Collection API is by setting the request URL as the src value for a new img element and then injecting that element into your HTML page.
  3. Test your data collection script in a controlled environment for at least a day.
  4. Verify your analytics data either in Video Cloud Studio or by using the Analytics API.