How to Create Devices and Targets

Identify the Media You Are Trying to Monitor

This is frequently confused with the web page or media player location on your website.  The target of a streaming media task will not be the URL of a player or webpage that contains the player, but the actual media resource path that is used by a player to play the file.

Once you have identified the location, check the media file type. What protocol does it use? (make sure to specify the protocol in the file path (such as rtmp:// or https://, for example).

Supported protocols include applehttp, concat, crypto, gopher, hls, http, httpproxy, mms, pipe, rtmp, rtp, tcp, udp, rtsp, https.

Depending on the file type and codec, the task will play the media file back in one of several engines that generate slightly different monitoring values: a general player, or Windows Media Player.

The task execution involves the following steps:

  1. The system hits the stream URL and connects the stream server.
  2. In the case of the playlist, the system gets the list of the stream URLs.
  3. The stream properties such as codec, quality, etc. are requested from the server.
  4. The system downloads the first 30 sec of the stream to decode.
  5. If the source server is unavailable or the system failed to download the 30 sec of stream playback, the error will be generated.

Creating a Target

Stream URI

Enter the address of the actual media source you wish to monitor. Note that the URL must link directly to the media file and not a web page that contains a media player. For example, “http://streammedia.com/stream.asf”.

Time Validation Threshold (in seconds)

Enter the number of seconds the system should wait for a response from the target resource before returning an error. If this is left blank the default timeout is 120 seconds.

Prepare Script

Apart from the media URL, you can choose MediaEngine and ReportDetails by adding to the Prepare Script field:

(Tasks[0] as Media).MediaEngine= “GENERAL”;

(Tasks[0] as Media).ReportDetails = “FULL”;

Where,

Tasks[<sequential number of the task>] – specifies the sequential number of the task in the device. Note that the numbering of tasks in the device starts from 0. So to refer to the first task in the device you should provide Tasks[0].

MediaEngine  = ( “GENERAL”, “WMP”)

ReportDetails = (“STANDART”, “FULL”, “SHORT”)

Error Filter

You can create filters that will ignore specific errors that you know may occur and are not relevant to the goal of a specific device. The system will not generate alerts on responses with error codes that match the filters. For example, DNS errors could be filtered out based on who is responsible for DNS server operations. In addition, you can configure the system to ignore a range of error codes using a dash, or multiple error codes using semicolons as a separator.

You can find a comprehensive list of Error Codes in the HTTP Status Codes List | HTTP Error Codes Explained article of this wiki.

For example, if you do not care about 404 errors on one particular device, you can filter them out so that you do not receive alerts when they the errors are detected. The error details will be available for review in the device reports.

If you want to ignore an error with a specific code and type while monitoring, you can configure the Ignore Error Codes option in the device settings. If the system detects a response with the specified error type and code, the response will be considered as successful and its status will be changed to OK. Note that ignored errors will not be reflected on the reports and can’t be tracked down.