How to Analyze the Channel / Movie Start Delay

When the subscriber switches on a TV channel or starts watching a movie, there is some delay between the moment of pressing a key on the remote control and the start of playback. Sometimes this delay can become too large and uncomfortable for subscribers. SmartCARE allows you to analyze the reasons that led to such situations.

What does SmartCARE have to offer?

You can get information about such problems in various ways:

Regardless of the way above, the analysis of the playback start delay is performed on a specific device. By going to the SmartCARE Console > Sessions > Device info, you can find the problematic device by its UID or MAC:

Image3

Having found the device, you can see what happened with streaming on it. The most essential data are located in the Events and sessions section:

Image2

Each line of this graph represents an event of a certain type. These events are passed to the SmartCARE by client applications upon the occurrence of certain conditions.

Here you can find Join time events, which show the time between a subscriber pressing a button on the remote control (not releasing the button) and the start of playback, in msec. This way you can find sessions when the subscriber has suffered from too long waiting time for the channel or movie to start.

After you find abnormal Join time on the graph you can also look at additional parameters passed with this event. Remember the time of such event, switch to the Table tab and find it by time:

Image1

The jointime event can pass the following additional parameters:

The time between a subscriber pressing a button on the remote control (not releasing the button) and the start of playback.

API Request Parameter

Type

Description

Player

Shaka

HLSJS

Cobalt +

ExoPlayer

iOS

Android

e=JOIN_TIME

String

Event type

+

+

+

+

+

values

Integer

The time between a subscriber pressing a button on the remote control (not releasing the button) and the start of playback, in ms.

+

+

+

+

+

Parameters that directly affect the start time of the stream

mnft

Double

Amount of time it took to download and parse the manifest, in seconds.

+

+

+

Roadmap

N/A

drmt

Double

Amount of time it took to download the first DRM key, in seconds.

+

N/A

Roadmap

N/A

+

lct

Double

Time spent on license requests during this session, in seconds.

+

N/A

Roadmap

N/A

+

ldl

Double

Time it took for the video element to have enough data to begin playback, in seconds. This is measured from the time the player’s load() function is called to the time the ‘loadeddata’ event is fired by the media element.

+

+

N/A

N/A

+

Reference parameters

dt

String

Device type

+

+

+

+

+

bfu

Integer

Loading buffer occupancy (%). The ratio of the time of viewing the content by the subscriber to the time of its buffering.

For the JOIN_TIME event, this parameter should be equal to 100%, since playback has not started yet.

+

+

+

N/A

Roadmap

ibr

Integer

NOT USED: Not sent by devices. Incoming stream bitrate, in bit/sec.

msd

Double

Presentation’s max segment duration: The duration of the longest segment described in the first loaded MPEG-DASH playlist at the moment of session start.

+

+

N/A

N/A

+

ll

Double

Time between the frame display on the screen and its output to the air by the head-end, in seconds.

+

+

N/A

N/A

Roadmap

bft

Double

Total time spent in a buffering state, in seconds.

+

+

+

N/A

+

ebw

Double

Current estimated network bandwidth, in bit/sec.

+

+

+

N/A

+

pdc

Integer

Number of frames played

+

+

+

N/A

+

pdec

Integer

Number of frames with decoding errors

+ (non-zero value)

+

+

N/A

Roadmap

pbr

Integer

The bandwidth required for the current streams (total, in bit/sec). It takes into account the playback rate.

abr

Array of integers

Available bitrates, in bit/sec.

bdr

Integer

Buffer size, in sec.

btr

Integer

Average bitrate calculated by the video PES packet, in bit/sec.

dbr

Integer

Downloading bitrate, in bit/sec.

dec

Integer

Number of frames with errors

+ (non-zero value)

+

+

N/A

Roadmap

ufc

Integer

Number of loading buffer underrun events (client application STVID_DATA_UNDERFLOW_EVT event).

For the JOIN_TIME event, this parameter should be equal to 1.

+

+

+

N/A

+

fr

Integer

Number of frames (not fields) per second multiplied by 1000. For example, 24 fps is recorded as 24000.

url

String

URL of the content playlist/manifest

+

+

+

+

+

Now, in order to analyze this data for the cause of the large Join time, we need to understand the processes that occur during the stream start.

Process of Starting the TV Channel / Movie Playback

The Join time consists of the following chain of events, each of which can be analyzed using additional parameters:

https://view.genially.com/630c7e8550ebcc001183dc50/guide-stream-playback-starting 

Knowing this sequence, you can understand where to look for the cause of a large delay in the playback start.

CONTENTS
Sign-in
Sign-in with your SmartLabs Support Portal account credentials to see non-public articles.