Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Image RemovedImage Added 

TV PLAYER REPORT


Info
titleGeneral Info for this Page

Any critical changes to this page will be communicated directly to Project Owners via BARB Barb Dovetail Basecamp.


Info
titleLast updates of this page:
  • Released new JavaScript library 2.5.10 for Browser, TVML/TVJS (Apple TV), TAL (Smart-TV), WebMAF (Playstation), and Electron
  • Released new iOS library 1.14.1
  • Released new tvOS library 1.14.1
  • Released new Android library 1.9.0
  • Released new Roku library 1.4.4
  • Released new xbox library 1.2.0

Table of Contents
minLevel2

...


PROJECT OVERVIEW

Project Summary

The TV Player Report represents the first stage of BARB Barb Project Dovetail.

As audiences continue to fragment across both content and delivery mechanisms, the stresses of using of a sample survey alone to create and report audience estimates at a granular level increase. Project Dovetail sets out an ultimate aim of augmenting a panel approach with new, granular datasets. In short, raw absolute census data providing the totality of what has been consumed, with the panel providing the context of who has viewed. The resulting merged dataset will allow the full dissemination and analysis of viewing behaviour across viewing platforms, who is watching what, and what incremental and de-duplicated coverage is obtained.

The first stage of this unified vision is to standardise and centrally collect the site centric IP data from all participating broadcasters, enabling a regular account of the size and delivery content through a variety of devices. This means that all broadcaster data will be directly comparable without differing definitions or collection methods hindering the direct analysis.

To this end, BARB Barb has chosen Kantar Media as its supplier of this data. Broadcasters are asked to implement the Kantar Media plugin' library sensor into their media players. In addition to the integration of the Kantar Media measurement, BARB Barb requires a broadcaster consistent approach to cataloguing and tracking of content. This parallel Content ID project is discussed 159727260.


Participating Broadcasters

The following companies are currently part of the BARB Barb TV Player Report project:

  • BBC
  • Channel 4
  • Channel 5
  • ITV
  • Sky
  • STV
  • S4C
  • UKTV

Current Project Status

For more information on the current project status and schedule, please contact Kantar UK and/or BARBBarb.

Project Teams and Resources

The Kantar project team is led by Kantar Audiences in London.  Our technology specialists from Kantar Germany will assist with your technical queries as you begin and progress each player/platform implementation.

...

We will be directly involved in the sign-off process for your implementation, undertaking a review of the data we receive from your implementation once on a staging environment.  You can find out more about how together we verify your stream implementation 159727260.

Who Do I Contact and When?

General Queries

Please contact us at the following address: uk-tvpr-ops@kantarmedia.com

More about us
Info

Kantar Online Data and Development Unit is a technology-oriented company located in Saarlouis, Germany. It was founded as a spin-off of the renowned German Research Center for Artificial Intelligence (DFKI), Saarbrücken.

Realizing as early as 1995 that the ever-growing global importance of web-based information dissemination and product marketing would require more and more sophisticated solutions for measuring online audiences,
spring began to develop an integrated technology for measuring usage data, estimation algorithms, projection methodologies and reporting tools which soon began to draw the attention of innovative corporations
and national Joint Industry Committees.

Partnering with JICs, spring’s technology for collecting and measuring usage data is now well-tried and tested and has helped to define the standard for audience reach measurement of advertising media in Norway, Finland, Baltic States, Germany, Switzerland, Romania and many other countries as well as to a number of broadcasters, publishers and telecommunication companies.

In 2011, the company became a wholly-owned subsidiary of Kantar, a global industry leader in audience measurement for TV, radio and the web.

Today, we are one of the leading pan-European companies in site-centric and user-centric Internet measurement, online research and analysis.


...


LIBRARY CODE BASE AND ROADMAP

Our Technology Roadmap

This expert-based forward roadmap is constructed based on BARB-driven industry platform coverage priorities. It is expected that each project stakeholder will engage in the process to agree ongoing solution design and prioritisation. We anticipate being able to build upon our existing technologies to meet many of the new target platforms.

...

Each project stakeholder will have the opportunity to critique and validate the roadmap, and that in-house plans across the project lifecycle will be shared with Kantar. A regular 3-monthly review process will be used to review and update project platform priorities between BARBBarb, Kantar, and each broadcaster stakeholder.

Library Downloads

Which library do I need?

You can find our currently available libraries below.  We will work with you to identify which library you should use as part of your initial implementation planning discussions.

Streaming libraries and JavaScript downloads
Type Desktop PlayerNotesRelease DateDownload link
Streaming JavaScript

For the web environment or other Java Script capable environments

(not natively supported)

 kantarmedia-streaming-js-barb-2.5.10.zip
Library for Flash/ActionScript 3
 spring-appstreaming-as3-barb-1.4.0.zip
Library for Flash/OSMF2
 spring-streaming-osmfplugin-barb-1.0.1.zip
Plugin for Brightcove
 spring-streaming-brightcove-barb-1.2.0.zip
Type Mobile Player
NotesRelease DateDownload link
Library for iOS

1.14.1

Image Added

1.14

22 Feb  kantarmedia-streaming-iOS-barb-1.14.1.zip
Library for Android

Supports Android versions 4.4 and higher.

 kantarmedia-streaming-android-barb-1.9.0.zip
Type Big Screen Player
NotesRelease DateDownload link
Library for tvOSimage2024-2-23_13-46-3.pngImage Removed22 Feb

1.14.1

Image Added

1.14

Image Added

 kantarmedia-streaming-tvOS-barb-1.14.1.zip

Type Game Console Player

Notes

Release Date

Library for XboxSupports Xbox One 

kantarmedia-streaming-xbox-barb-1.2.0.zip

Type Settop Box

Notes

Release Date

Download link

Library for Roku
 kantarmedia-streaming-roku-barb-1.4.4.zip


Help with Adapters

Why do I need an Adapter?

When a library specifically suited for your player is not available, you can still use our measurement by implementing an "adapter". This is a small piece of code that ensures the connection between the Kantar Media library and your player. It is typically written by yourself; and Kantar Media can provide consultancy to aid you with this.

Documentation about how to integrate the libraries by using an adapter is available in the general documentation Implementation of Stream Measurement for BARB Barb TV Player Report.

Some examples that require an adapter are here below.

Microsoft Silverlight

Silverlight Implementation

Brightcove

For Flash: /wiki/spaces/KASRLCS/pages/159726836

Not available natively yet for Android or iOS. It can be done currently with the available Android and iOS Spring libraries + a custom adapter to connect the library with the Brightcove API. 

YouView

YouView runs a proprietary version of Flash and they do not use "flash.net.NetStream" but "MediaRouter" instead. An adapter is needed in this case to extend flash.net.NetStream and grab information from MediaRouter such as the position and duration. It is similar to what is demonstrated in NetStream adapter for the flash.media.Sound object example in the documentation.

The library does not rely on flash.external.ExternalInterface being available or cookies. The ExternalInterface is normally used for passing an "unload" call from the browser back to the library in case the browser is being closed. However, this "unload()" method can also be triggered from inside the Flash application itself.

...

UNDERSTANDING HOW TO IMPLEMENT THE SPRING LIBRARIES

Our Measurement Ethos

Info

The Kantar Media technology was conceived and developed to be as platform-agnostic as possible.
Every video player has at least the possibility to report a playhead-position and the duration of the video (enables the user to see how long the video is and can keep track of the progress). These two variables form the basis of our measurement system, and they are common in every environment.
We capture a combination of environment-specific identifiers and additional metadata to attribute each streaming heartbeat to a session and a device.

Documentation

Info

This is one of the most important documents because it describes in a general way how the Kantar measurement works. Reading and understanding this document is crucial to taking full ownership of the implementation process.

...

Note
 Specific app library documentation are included in the library deliverables themselves.

Step-by-Step Guide

The step-by-step guide gives a graphical and concise overview of HOW, WHEN, and WHY to measure. We recommend to have look at it: here.

General metadata tagging instructions

It is essential that you ensure the standardised functions and values are passed in your library implementation.

...

Info

LIVE and TESTING environments are separated by the sitename. You will be given sitenames for both these purposes.

Live Stream Measurement – Instructions

The instructions for measuring your Live TV streams will vary depending on the features of your Player.
Instructions on how to map the “cq”, “stream”, and “dur” variables for Live TV streams are detailed in the General metadata tagging instructions section. As your implementation requires that you also provide access to other functionality, this section declares in full the Live TV stream requirement.
As part of your implementation, to ensure that all your Live TV streams are included in the BARB TV Player Report production you must inform BARB and our UK Project Manager of the following information:

  1. Complete up-to-date list of your Player channel identifiers (or Service Key identifier) including regional programming identifiers
  2. The official “known as” name of each channel identifier
  3. Date from which the Live TV channel becomes available online
  4. Player platforms the channel is available on
  5. Identify whether the channel carries commercials, and how they are handled
  6. The agreed offset between broadcast time and streaming time for your channel.  A table of all existing offsets can be seen here


METHOD 1 –

...

“Barb OFFICIAL CHANNEL METHOD”

This is the recommended method for implementing livestreams. This method assumes that for live simulcast streams, your Player will not provide any indicator of where a stream crosses a programme boundary. It also assumes your Player will not provide any unique content identifier.

You will call trackMethod whenever a Live TV channel stream begins; a new View will be created. Every time the Live TV stream is pause/resume no action is required. When the Live TV stream is stop/start you will need to stop the library and once again call trackMethod. By doing this you will correctly create a new View.

INSTRUCTIONS:
  1. Map the “dur” variable for Live TV streams as detailed in the General metadata tagging instructions section.
  2. Populate the channel name (or Service Key identifier) into the stream variable as instructed in the General metadata tagging instructions section.
  3. Set the Live TV channel identifier within the stream variable, e.g.
    1. live/channelone
    2. live/channeltwo
    3. live/channeltwosouth
    4. live/channelthree
    5. live/channelfour
    6. live/F230
    7. live/X234
  4. Supply the playhead position (“pst” variable) using the linear broadcast date and time as a timestamp value in seconds. You will need to account for the fact that the delay between linear broadcast and online playout may vary between platforms. Your Player should retain control over how any delay versus linear broadcast is handled.
  5. Handle FFWD/RWD (“tricks”) by updating the broadcast date and time in the pst variable, i.e. for the scenarios commonly understood as “Scrubbing”, “Live Rewind” and “Live Restart”.
Example tracking call:

http://tvplayerplugintest.2cnt.net/j0=,,,,v=A%201.1.0+app=mobiletestapp+pl=mobiletestapp+did=868e10589389fd35+aid=bb97262e90e4ef1f+sy=768+plv=1.0.0.0+sx=1196;+,vt=16+uid=3a8w7ib+stream=live/channelname+pst=,,0+0+na8vcw;+,1407932109+1407932126+na8vcw;;+sy=360+dur=0+sx=640;;;;?lt=hysmffp1

 deprecated – METHOD 2 – “CONTENT ASSET TRACKING METHOD”

This method must only be used if the Live TV channel stream can be restarted at each programme boundary, i.e. your Player must know the programme boundary and relevant EPG information, enabling you to create a new View for each programme. It assumes that your Player can handle the tracking of programmes delivered as part of a live stream in the same way as on-demand content.

INSTRUCTIONS:

You will call trackMethod whenever a new programme on your Live TV channel stream begins; a new View will be created every time. Pause/resume of a Live TV programme represents a continuation of the same stream View. Only when the stream is stop/start or background/foreground will you reset the playhead position to “0” and create a new View.

  1. Map the “cq” variable using the unique BARB system program ID, as detailed above in the General metadata tagging instructions section,
  2. Map the “dur” variable for Live TV streams as detailed above in the General metadata tagging instructions section
  3. Set the Live TV channel identifier within the stream variable, e.g.
    1. live/channelone
    2. live/channeltwo
    3. live/channeltwosouth
    4. live/channelthree
    5. live/channelfour
    6. live/F230
    7. live/X234
  4. Supply the playhead position (“pst” variable) using an offset in seconds, in the same way as for on-demand steams. It is not necessary to expose a variable delay within your player or to pass it to the measurement system.
  5. Handle FFWD/RWD (“tricks”) by updating the offset, in the same way as for on-demand steams.
Example tracking call:

http://tvplayerplugintest.2cnt.net/j0=,,,,v=A%201.1.0+app=mobiletestapp+pl=mobiletestapp+did=868e10589389fd35+aid=bb97262e90e4ef1f+sy=768+plv=1.0.0.0+sx=1196;+,vt=16+uid=3a8w7ib+stream=live/channelname+cq=C4:12345/2+pst=,,0+0+na8vcw;+,1+16+na8vcw;;+sy=360+dur=0+sx=640;;;;?lt=hysmffp1

METHOD 3 – “CHANNEL-ONLY METHOD”

This method assumes that for live simulcast streams, your Player will not provide any indicator of where a stream crosses a programme boundary. It also assumes your Player will not provide any unique content identifier. Moreover the broadcast date and time cannot be exposed to the measurement tracking system.

INSTRUCTIONS:

You will call trackMethod whenever a Live TV channel stream begins; a new View will be created. Every time the Live TV stream is pause/resume or stop/start, the position in stream is reset to “0” and a new View is created.

  1. Map the “dur” variable for Live TV streams as detailed above in the General metadata tagging instructions section
  2. Populate the channel name (or Service Key identifier) into the stream variable as instructed in the General metadata tagging instructions section.
  3. Set the Live TV channel identifier within the stream variable, e.g.
    1. live/channelone
    2. live/channeltwo
    3. live/channeltwosouth
    4. live/channelthree
    5. live/channelfour
    6. live/F230
    7. live/X234
Example tracking call:

http://tvplayerplugintest.2cnt.net/j0=,,,,v=A%201.1.0+app=mobiletestapp+pl=mobiletestapp+did=868e10589389fd35+aid=bb97262e90e4ef1f+sy=768+plv=1.0.0.0+sx=1196;+,vt=16+uid=3a8w7ib+stream=live/channelname+pst=,,0+0+na8vcw;+,1+16+na8vcw;;+sy=360+dur=0+sx=640;;;;?lt=hysmffp1

New Kantar Media Library Code Releases

Each and every time our library sensor technology is updated, it is subject to a strict release checklist process as outlined below:

  1. Component Testing
    • We test the different components of the library with the help of special test-app (Kantar Media made) that allows
      changing internal parameters of the library. With this app we trigger the overflowing of configured maximum values,
      in order to make sure that everything is handled correctly.
    • For iOS specifically, we test for memory leaks and search for potential memory leaks.
      Tests are conducted with the tools XCode and Instruments.
    • These tests are conducted for every new release of the library; and of course also tested on any new feature should
      there be one.
  2. Functional and System Testing
    Here we test if the data from the libraries are leading to correct results in reporting. All components of the system are being
    passed through here.
    • Test 1 - Test Tool
      Test of Lib-Testapp with the help of our TestTool (internal and external)
      internal address: http://10.20.1.4:7779/doc/html5/mobile.html
      Currently the Test-Tool can be used to test the following:
      • Does the AUT (ApplicationUnderTest) send all requests?
        (STARTED, FOREGROUND, BACKGROUND, CLOSED (optional))

      • Heartbeat events can then be analyzed.
    • Test 2 - Unittests
      • Check the DID, AID, and AI in the logstream and in Hadoop cluster.
        (Android ID, Apple Advertising ID, Device ID, ... 16 character a-f0-9 (hex)).
        See also 159727260.
      • Without connection
      • Via WiFi
        • With and without SIM card
      • Via 2/3/4/5G
      • With bad connection
        • WiFi when you are finding yourself on the edge of its reach
      • Test if the cookie is stable (when applicable)
        • Does the cookie remain the same even after the app is restarted?
        • Does the cookie remain while the app is opened?
    • Test 3a - Integration Test in App Environment
      • Implement in different apps and test:
        • Panelapp
        • Lib-Testapp
        • Mobile-streaming-app
      • Scenario
        • start Lib-Testapp
          => Lib-Testapp shows DID (, AID), AI?
          => DID (, AID), AI in Logstream?
        • For Panelapp: log on as Testpanelist
          => same DID (, AID), AI in Logstream, and additionally the pid?

    • Test 3b - Integrationtest in Web Environment
      • Start browser
        Log on to Panelwebsite as same Testpanelist
        => cookie and pid in Logstream?
         Also check mobile websites, e.g. heise.de (m-heisede.2cnt.net, surf to http://heise-online.mobi/)

      • Cookie in Logstream
        In the Hadoop cluster we have to be able to identify the DID (, AID), pid and cookie.

  3. Release Process and Documentation

    We will communicate the availability of new code releases in the following manner:

    1. Library downloads will be made publically available on this wiki site, with new version numbering process strictly applied.

    2. High-level communication about what has been changed, informing you whether a change is required or not on your side.
      This will include an explanation of why you should upgrade, and whether the change is critical or optional. Critical changes will also be communicated directly outside of this wiki site.

    3. Accompanying change log document inside the new library download and also mirrored on the project page here.

    4. Kantar QC report documenting that the new library has passed release tests.

...


FROM IMPLEMENTATION TO PUBLICATION - PROCESS

The process of verifying your stream implementation follows four big steps: Unit testing, Comms testing, Go-live acceptance testing, and Operational testing.

Unit Tests for Initial Implementation

By the time the broadcaster gets his hands on a library, the package has already run through unit tests that have been conducted by Kantar (see above).

Communications Tests

In this phase the http-requests that are being sent from the Kantar library inside your player to the collection servers are tested and verified.

...

You can see an example of the heartbeats sent from the Kantar Media libraries here:
kantarmedia.atlassian.net/wiki/spaces/public/pages/159727225/BARB+TVPR+Test+Tool#BARBTVPRTestTool-Heartbeatssentfromthelibraries

We recommend that the verification should be done using an http proxy, such as Charles Proxy or Fiddler.

Once verification is complete your implementation can move to the next QA stage.

Go-Live Acceptance Tests

Before live release, your desktop or mobile app player integration must pass tailored acceptance tests to ensure it adheres to the desired TV Player report project outcomes.

...

We will provide written confirmation once acceptance tests have been successfully completed, signing off your implementation.

Publishing your player

With acceptance tests complete, you may now schedule your implementation for publication.
Please:

...

The Live Operational Calibration process is used to “calibrate” the TVPR project metrics in the weeks immediately after your player implementation goes live.

BARB Barb JIC ask you to share data from your internal measures for comparison versus the BARB Barb metrics. These are reviewed between BARBBarb, the Broadcaster, and Kantar. At the end of the process BARB will sign-off the data for publication on an ongoing basis. All calibration phase data and discussions are in the strictest confidence.

The diagram below details the optimum schedule. We recognise that iterations of each stage may be required before sign-off can take place, leading to an extended calibration phase.

Managing Future Updates

Once your integration is live, library sensor code changes will be infrequent. Changes will largely be driven by software environment changes (e.g. introduction of Apple IFA/IFV). When a new Kantar library becomes available, you will be notified whether the update is critical to the measurement and therefore mandatory, or whether an upgrade can be scheduled at your discretion.

...

Once the upgrade implementation has been verified by all parties, you will be advised to switch to your standard sitename before publishing your upgraded player.

...



CUSTOMER DATA PRIVACY DOCUMENTATION

Here is an overview of all the types of data that is being collected and/or processed by Kantar in the context of the TVPR project.

...

Info
titleData Collection and Aggregation

Kantar publishes only aggregated results. There will be no device identification possible within the published results.


Informing Users

With regards to data privacy, there is an obligation to inform the user that the application monitors the user actions and transmits them to a measuring system. Furthermore, the user must be informed that he has the possibility to switch of the tracking in the application and how to do this.

...

Info

Our app uses the "mobile app streaming sensor" of Kantar GmbH, München, Germany, to gather statistics about the usage of our site. This data is collected anonymously.
This measurement of the mobile usage uses an anonymised device identifier for recognition purposes. To ensure that your device ID can not be clearly identified in our systems, it is encrypted and will be reduced by half. Only the encrypted and shortened device identifier is used in this measurement context.
This mobile measurement was developed under the observance of data protection laws. The aim of the measurement is to determine the intensity of use, the extent of use and the number of users of a mobile application. At no time, individual users will be identified. Your identity is always protected. You get no advertising by this system.
You can opt-out of the measurement by our app with the following activation switch.

Please note that only the measurement of our app is disabled. It may be that you will continue to be measured by other broadcasters using the "mobile app streaming sensor".

Opt-Out on Mobile Applications
Note

The application developer has to give users the ability to stop the further tracking of the user actions

...

Note

A persistent saving of the opt-out decision in the library is not provided and needs to be implemented by the app developer.

Opt-Out on Desktop Player

In the web-environment, the opt-out mechanism uses a specific cookie content to identify the client who does not want to be measured. Due to the fact that a direct and/or standardized way of recognition of the client is not provided, there is no other way to identify such clients.
A client is able to change his identity anytime (e.g. by cookie deletion). Such an identity change always leads to a loss of specific settings of the initial clients (causing them to appear in the system again from the moment of change).

...

More information can be found at https://kantarmedia.atlassian.net/wiki/spaces/public/pages/159726816/OPT-OUT+and+Anonymization.

...



FAQ

Info

The content of this FAQ section is based on previous correspondence and experience from UK broadcaster implementations of our library software. To help share knowledge between broadcasters, we will continue to add to this section as new questions arise.

Include Page
BARB Barb TVPR FAQ Streaming implementationBARB
Barb TVPR FAQ Streaming implementation

...


FEEDBACK

We recognize the fact that even with all the information presented here, there might still be questions or remarks from your side.

...