Media Streaming Task

Monitoring Streaming Media

A Streaming Media Task checks video and audio streaming services for performance, errors, and availability.

The monitoring agent connects to the media server, performs buffering, and plays the stream for 30 seconds. Then, the monitoring agent disconnects.

The monitoring agent will check for errors and also measures metrics, including: Connection Time, Buffering Time, Received Packages, Buffering Packages, Frame Rate and Average Bytes Per Second

Descriptions of these metrics:

Connection – time value measured between sending the first request and getting first frame of media stream.

Duration – time when media source was in process. Depending on method used by streaming server (streaming vs. progressive download) duration may reflect download of sufficient part of file for further analysis or time engine spent on capturing stream.

FPS – the ratio of all frames that we downloaded from the given stream to the total time of monitoring (connection + stream playback).

FPS = all downloaded frames / monitoring time

Quality – reflects estimated streaming performance or in other words visual quality of streams. It represents the ratio of actual FPS while playing sample part to the original properties specified in a stream.  In response Description engine type is always displayed.

General. Underlying codecs of this engine return quality value themselves. This engine has peculiarity – it counts only video streams correctly. Clean audio stream will show 0 quality  value.

Here is an example from real life explaining this peculiarity:

Used General engine
Connection time: 16 msec.
Duration: 30068 msec.
FPS: 137.47
Quality: 14.29
Stream#0: h264 / yuv420p / 768×432 / 23.98 FPS
Stream#1: aac / Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 118 kb/s
Stream#2: h264 / yuv420p / 1920×1080 / 23.98 FPS
Stream#3: aac / Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 118 kb/s
Stream#4: h264 / yuv420p / 320×180 / 15.00 FPS
Stream#5: aac / Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 73 kb/s
Stream#6: h264 / yuv420p / 320×180 / 23.98 FPS

1. We make FPS calculations for each stream:

Stream#0: all downloaded frames / monitoring time
Stream#1: 0
Stream#2: all downloaded frames / monitoring time
Stream#3: 0 
Stream#4: all downloaded frames / monitoring time
Stream#5: 0
Stream#6: all downloaded frames / monitoring time

1. We make Quality calculations for each stream:

Stream#0: actual FPS / specified FPS
Stream#1: 0
Stream#2: actual FPS / specified FPS
Stream#3: 0
Stream#4: actual FPS / specified FPS
Stream#5: 0
Stream#6: actual FPS / specified FPS

Overall quality = (QualityStream#0 + QualityStream#1 + QualityStream#2 + QualityStream#3 + QualityStream#4 + QualityStream#5 + QualityStream#6) / 7 = 14.29

WMP (Windows Media Player) – quality is being calculated by formula Q = actual FPS / specified FPS

Flash – quality is being calculated by formula Q = actual FPS / specified FPS

Silverlight – quality is being calculated by formula Q = actual FPS / specified FPS



Supported protocols are:
applehttp, concat, crypto, file, gopher, hls, http, httpproxy, mms, pipe, rtmp, rtp, tcp, udp, rtsp, https

Related Articles: