Step by Step - Definitions and Process Flows

OverView

This document should be used in conjunction with the “Implementation of Stream Measurement” document.

The purpose of this document is to provide a simple “How, When, Why” description of the sequence of activities required in order to measure any streaming content using the Kantar Spring Library sensor.

For ALL of the examples documented here, we are assuming that the commercials are played out as a different object to the video content.

This document describes in simple terms, the stages when integrating the streaming measurement, regardless of the host application.

Application

General

To measure any player – even proprietary ones – an adapter to the specific player can be used to pass on data to the sensors of the measurement system. This adapter provides the following three functions:

var myAdapter = {
"getMeta" : function(id) {
return {
"pl" :"own player",
"plv" :"version1",
"sx" : screen.width,
"sy" : screen.height }
},
"getDuration" : function(id) {
return streamlength in seconds;
},
"getPosition" : function(id) {
return new Date().getTime() / 1000;
}
};
FunctionDescription
getMetais used to acquire a description of the player and the available screen area.
By calling this function a return of an object with the following attributes is expected:
  • pl player description
  • plv player version
  • sx screen width in pixel
  • sy screen height in pixel
getDurationis used to acquire the total duration of the stream in seconds. If this cannot be done (because it is e.g. a live stream) 0 should be returned.
getPosition

is used to acquire the current position in the stream. The function delivers the current play position in seconds.
This function is also used to determine the intervals within the streams being played, skipped or stopped.

By calling the object to be measured (from the first parameter of the call to sensors.track(…)) it will be transmitted to all functions.

Example for a proprietary player

<html>
<head>
<title>spring sensors</title>
<script src="springstreams.js"></script>
</head>
<body onunload="unload();">
<script type="text/javascript">
var sensors = new SpringStreams("test"); 
var adapter = {
	"getMeta" : function() {
		return {
			"pl" :"own player",
			"plv" :"version1",
			"sx" : screen.width,
			"sy" : screen.height
		}
	},
	"getDuration" : function() {
		return streamlength in seconds;
	},
	"getPosition" : function() {
		return new Date().getTime() / 1000;
	}
};
var desc = {
	"stream": "videos/teststream",
	"cq": "342579889"
}
sensors.track("someid", desc, adapter);
// uncomment for debugging
//	sensors.debug = function(v) {
//		window.status = v;
//	}
function unload() {
	sensors.unload();
        // give time for submission
	var start= new Date(); var now = null; do now = new Date();

Standard Video Stream

The regular reading of the current play head position allows the tracking of all actions on a stream.
Winding operations (RWD or FFWD) can be identified due to the change in current position of the play head.
Stop or pause operations are identified by the fact, that the current position of the play head does not change.
User actions and operations, like stop or pause, are not measured directly (this is not an event based measurement)
but are instead derived from measuring the current position of the play head in the stream.

Streams in parallel Measurement

The library sensor is able to measure several streams in parallel.
Each of the streams that are started with the “track” method can be measured and controlled independently.
The rules for Standard Video Stream apply to ALL streams being measured.

Glossary

MethodDescription
Track Method
“Registers the content to be measured via the description object on the sensor”
  • The streaming content and the description object are transmitted to the sensor via the method “track”
  • From this point, the current position of the play head within the stream is tracked

When measuring multiple streams they MUST each be registered with unique coding

Stop Method
“Stops measurement of the stream”
  • The measurement of the stream is stopped; it does send the current state of the measurement to the measurement system

If the stream should be measured again (continued) after the method stop has been called, the method “track” must be called again

Unload Method
“Terminates all measurement”
  • This call sends the current state of the measurement to the measurement system and then terminates all measurements.

There any areas of unknown with differing player types:

    • On an iOS platform this method is automatically called by the library if the video stream goes into the background
    • On an Android platform this method MAY not be the case. Each platform should be accessed separately and adjusted accordingly

A basic overview flow diagram can be seen here:

Step-by-Step Examples

Standard (Simple) Viewing Stream


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

    Video stream completes and the measurement process is stopped by the developers calling the “stop” or “unload” method.

     Actual stream minutes measured.

    Commercials NOT measured.

Standard (Simple) Viewing Stream with Rewind


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

    When the user Rewinds the video back a few minutes, the Library sensor will continue measurement from the new position. NO action is required by the developer. NOTE: This action will be performed each time the stream is rewound.

    Video stream completes and the measurement process is stopped by the developers calling the “stop” or “unload” method.

     Actual stream minutes measured.

    Commercials NOT measured.

Standard Viewing Stream with FFWD (Fast Forward)


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

    When the user FFWD (Fast Forward) the video a few minutes, the Library sensor will continue measurement. NO action is required by the developer.

    Video stream completes and the measurement process is stopped by the developers calling the “stop” or “unload” method.

     Actual stream minutes measured. NOTE: The period of viewing covered in the FFWD period is NOT measured.

    Commercials NOT measured.

Standard Viewing Stream with Pause period (15 mins)


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

    When the user presses PAUSE the video will stop streaming and the measurement will be suspended. When the user presses PLAY again the Library sensor will continue the measurement from the last play head position. NO action is required by the developer.

    Video stream completes and the measurement process is stopped by the developers calling the “stop” or “unload” method.

     Actual stream minutes measured. NOTE: The period of time elapsed in the pause period (15mins) is NOT measured; only the video stream movement.

    Commercials NOT measured.

Standard Viewing Stream with Programme sent to Background


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

    When the user sends the current viewed programme to the background the Library sensor will AUTOMATICALLY STOP the measurement by calling the “unload” method NO action is required by the developer.

    Video stream completes. NOTE: The measurement process was stopped automatically at the background activity.

     Actual stream minutes measured. NOTE: The period of time elapsed from the background activity to the end is NOT measured.

    Commercials NOT measured.

Standard Viewing Stream with Programme sent to Background and Returned to Foreground


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

    When the user sends the current viewed programme to the background the Library sensor will AUTOMATICALLY STOP the measurement by calling the “unload” method NO action is required by the developer.

    When the user brings the viewed programme to the Foreground, the measurement will NOT start automatically. The developers MUST start the measurement by calling the “track” method again.  This will create a NEW video view to be measured.

    Video stream completes and the measurement process is stopped by the developers calling the “stop” or “unload” method.

     Actual stream minutes measured. NOTE: The period of time elapsed between the background activity and the return to foreground is NOT measured.

 This is a “new” stream created when the programme is returned to foreground mode.

    Commercials NOT measured.

Viewing Stream with Restart or Rewind


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    If the user rewinds the video (Using the scrubber bar) to the beginning of the video stream, the Library sensor will automatically identify the play head position and continue measuring the viewing stream. Remember: the library sensor only measures the play head movement, so any commercials displayed during this period will NOT be measured.  NO action is required by the developer.

    Video stream completes and the measurement process is stopped by the developers calling the “stop” or “unload” method.

     Actual stream minutes measured. NOTE: The period of viewing in the Rewind cycle is measured again.

    Commercials NOT measured.

Viewing Stream with FFWD (Immediate)


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    The user immediately moves the scrubber bar to position 500 in the stream. The commercials will still play out – NO action is required from the developer, NO measurement will occur as the video play head will not move during advert play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    As the user has moved the video start position to 500 via the scrubber bar, the Library sensor will automatically identify the play head position and start the measurement from here. Remember: the library sensor only measures the play head movement, so any commercials played out during this period will NOT be measured. NO action is required by the developer.

    Video stream completes and the measurement process is stopped by the developers calling the “stop” or “unload” method.

     Actual stream minutes measured. NOTE: The period of viewing measured is only from the play head position 500.

Abnormal Termination of Viewing Stream


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

   The user may terminate viewing by “power off” or simply close the laptop lid. These actions will AUTOMATICALLY STOP the measurement process, forceful closures cannot be accounted for and will always result in some playtime lost. (Maximally 59 seconds since the heartbeats are maximally 60 seconds apart). NO action is required from the developers.

    Video stream stops.

     Actual stream minutes measured.

    Commercials NOT measured.

Abnormal Termination and Resume Viewing Stream


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

   The user may terminate viewing by “power off” or simply close the laptop lid. These actions will AUTOMATICALLY STOP the measurement process, forceful closures cannot be accounted for and will always result in some playtime lost. (Maximally 59 seconds since the heartbeats are maximally 60 seconds apart). NO action is required from the developers.

    When the user restarts the device (Power on or “opens the lid”), the player may remember the previously viewed programme and offer the user the option to resume watching. Should this happen then the normal processes (calling track method  to start the measurement etc.) will cover this situation. This is required because the Library sensor stopped the measurement.

    • If the user selects to resume viewing then this will be recorded as a “New” view even though it could be a continuation of the previous action.

    Video stream stops.

     Actual stream minutes measured.

    Elapsed time NOT measured.

NEW measurement stream.

Abnormal Termination and Restart Viewing Stream


    Video Load, user selects a programme and the video stream starts – The library sensor is started by calling “track” method.  NO measurement is made at this point.

    Commercials start playing immediately – NO action is required from the developer, NO measurement will occur as the video play head will not move during commercials play out.

    Commercials finished and Video begins streaming. The measurement process will begin as soon as the play head moves. NO action is required from the developer.

    Commercials are played out during this period. NO action is required from the developer, the video play head pauses therefore the measurement also pauses. When the video resumes playing, the play head moves on and the measurement also resumes automatically.

   The user may terminate viewing by “power off” or simply close the laptop lid. These actions will AUTOMATICALLY STOP the measurement process, forceful closures cannot be accounted for and will always result in some playtime lost. (Maximally 59 seconds since the heartbeats are maximally 60 seconds apart). NO action is required from the developers.

    When the user restarts the device (Power on or “opens the lid”), the player may remember the previously viewed programme and offer the user the option to restart viewing. Should this happen then the normal processes (calling track method  to start the measurement etc.) will cover this situation.

    • If the user selects to restart viewing then this will be recorded as a “New” view even though it could be a continuation of the previous action. NOTE:

    Video stream stops.

     Actual stream minutes measured.

    Elapsed time NOT measured.

NEW measurement stream.