Status | DRAFT |
---|---|
Author | Hendrik Vermeylen (KASRL) (Unlicensed) |
Date | 05.07.2019 |
Version | 0 |
Version | Date | Author | Comments |
---|---|---|---|
0 | 05.07.2019 | initial draft | |
PROJECT OVERVIEW
Project Summary
A video measurement project covering both digital content and video ads in Hong Kong.
Participating Broadcasters
- TVB
- Viu TV
- Fantastic TV
Current Project Status
Tender.
Project Teams and Resources
- CSM in Hong Kong
- Kantar Online Data & Development Unit in Germany
Who Do I Contact and When?
- rolfthomsen@csmhk.com.hk - Managing Director @ CSM in Hong Kong
- hendrik.vermeylen@kantarmedia.com - Senior Client Service Manager @ Kantar ODDU in Germany
More about us
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 UK, 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
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 Player | Notes | Release Date | Download link |
---|---|---|---|
Streaming JavaScript | For the web environment or other JavaScript capable environments (not natively supported) | kantarmedia-streaming-js-barb-2.4.0.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 | Notes | Release Date | Download link |
Library for iOS | Supports iOS versions 8, 9, 10, 11, 12. | kantarmedia-streaming-iOS-barb-1.10.2.zip | |
Library for Android | Supports Android versions 2.3 and higher. | kantarmedia-streaming-android-barb-1.5.0.zip | |
Type Big Screen Player | Notes | Release Date | Download link |
Library for tvOS | Supports tvOS 9 and higher | kantarmedia-streaming-tvOS-barb-1.10.2.zip | |
Type Game Console Player | Notes | Release Date | Download link |
Library for Xbox | Supports Xbox One | ||
Type Settop Box | Notes | Release Date | Download link |
Library for Roku | kantarmedia-streaming-roku-barb-1.3.0.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 library and your player. It is typically written by yourself; and Kantar 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.
Some examples that require an adapter are here below.
MICROSOFT SILVERLIGHT
BRIGHTCOVE
For Flash: Brightcove Streaming Sensor 1.2.0 (English Version)
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
The Kantar 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
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.
Our comprehensive Implementation of Stream Measurement document describes how the Kantar libraries work. It includes sample implementations and guidelines for writing a custom adapter for our libraries.
In order to measure any streaming content, a sensor on the client side is necessary, which measures which sequences of the stream were played by the user. These sequences can be defined by time intervals in seconds - therefore, the player or the playing instance must be able to provide a method for delivering the actual position on the stream in seconds.
The regular reading of the current position allows the tracking of all actions on a stream. Winding operations can be identified, if there are unexpected jumps in reading out the position. Stop or pause operations are identified by the fact, that the current position will not change.
User actions and operations like stop or pause are not measured directly (not player event based) but are instead derived from measuring the current position on stream.
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.
How to map:
Metric / Dimension | Description | Variable Namespace in the Library | Required for Library Functionality | Source | Notes | |
---|---|---|---|---|---|---|
1 | sitename | unique Kantar system name per broadcaster - assigned by Kantar | sitename | mandatory | Assigned by Kantar | NOTE: You will be assigned "test"-sitenames for testing purposes! |
2 | player | broadcaster website or app player being used | pl | mandatory | Free choice | |
3 | player version | version of media player or app being used | plv | mandatory | Free choice | "1.4.1.1", "1.0.5" |
4 | window dimension width | width of the stream window, embedded or pop-out | sx | optional | Pass value on to Library | recommended although can be blank where unavailable |
5 | window dimension height | height of the stream window, embedded or pop-out | sy | optional | Pass value on to Library | recommended although can be blank where unavailable |
6 | content id | unique programme / episode ID | cq | mandatory | Following FSC convention | linked to separate content id database and master file:
|
7 | stream | description of the content stream (activity type/livestream channel id) | stream | mandatory | Following FSC convention | descriptors of the type and delivery of content, not an identifier of the content itself.
|
8 | content duration | duration of the video being played, reported in seconds | dur | mandatory | Pass value on to Library |
|
10 | Registration ID | Broadcaster application user registration ID | login | optional | Pass value on to Library |
|
Before you start
Once you have read the documentation, and before you begin your implementation, please contact us so we may review together the behaviour of your player and therefore the scope of the implementation.
LIVE and TESTING environments are separated by thesitename. You will be given sitenames for both these purposes.
TBC...