How to choose the right tool for OTT quality control

Аdaptive broadcasting is gaining momentum quickly. The live TV is giving way to new services that not only adapt to the broadcasting bandwidth but also receive user feedback as well as generate and display targeted advertising. However, what spurred the broadcasting revolution was streaming, a technology that selects the best available quality. It is unnecessary to have a DVB-T2 antenna, a cable run to your household, or a satellite dish on your balcony to receive such broadcasts: all you need is your favorite gadget, such as a smartphone, a tablet, a laptop, or an in-car multimedia system. Those broadcasts have a low buffering capacity for guaranteed delivery of the content and can even tolerate having the user temporarily exit the coverage area.

The last is the reason why everybody loves adaptive broadcasting. The users have become accustomed to smooth content delivery in any situation, wherever they are, be it in the kitchen, on the go, or at the summer cottage. Adaptive broadcasting comes in several formats, such as Smooth Streaming by Microsoft, HTTP Live Streaming by Apple, and Dynamic Adaptive Streaming over HTTP by MPEG Group. All of them impose similar requirements: the content at the end device should play smoothly, without freezing and switch quickly and seamlessly between different profiles. The key competitive advantages here are the Quality of Service (i.e. guaranteed delivery) and Quality of Experience (i.e. good picture even at low bitrates and clear audio even in remote country areas).

All formats are standardized. The standards specify how the manifest (playlist) and content chunks are prepared, how they are delivered, how the switching between different quality and bitrate alternatives (profiles) works, what the buffer capacity should be, what video and audio formats should be supported in chunks etc. Even if video complies with these standards, it is necessary to make sure it has made it through the entire delivery chain intact, without artifacts, hangs, freezes, glitches, or pixelation. How is this done? Flexible software solutions for video stream analysis (including live streams and video files) come to our aid here. In this article, I will explain what to look for when choosing such a solution. We will consider HLS format as an example.


Each project is unique, and it is important that the analyzer allows a flexible configuration of parameters to monitor. In some cases, picture freeze is a common case that should be ignored; in others, audio PID missing constantly is a phenomenon inherent to delivering the content in question. However, sometimes the stream needs to be so clean that even a few lost TS packets area reason for alarm. In this case, the ability to set up monitoring for certain errors manually, specify error severity levels, and configure alert settings will come handy. This is necessary to filter information that the operator gets in his or her work with streams. It is also useful when generating reports to exclude errors that can be disregarded.


Such alert systems are often based on SNMP traps, GET requests, or webhooks (e.g. PagerDuty or DataMiner). Traditional methods, such as email alerts, also exist. In addition, smartphone push notifications and instant messages are currently gaining traction. It is convenient when several alert types are supported because you can then choose the one that suits you best.

Intuitive UI

Tools for deep video analysis

Diagnostics and preventative measures help avoid severe failures and isolate hidden malfunctions in the service. The more information the analyzer can give about the stream, the more means the technical department has at its disposal to prevent errors from occurring. For example, detailed stream information makes it possible to diagnose playback problems on devices, especially if the device specification is missing along with requirements to input streams.

There are many possible causes of playback issues:
– Unsupported video or audio format supplied to the packetizer (HLS packager) input
– Invalid content generated by the encoder itself (e.g. interlaced stream sent instead of progressive)
– Playlist stopped updating but keeps creating chunks
– Some tags have been added to an existing media playlist, causing incompatibility with the end devices.

It is important to have such changes monitored by the analyzer in real time. If, in addition to stream parameters, the operator also gets their changes over time, it can save him or her time troubleshooting the error.

Ad insertion

Analyzer types

Startup time, supported operating systems, conditional access, self-diagnostics, task grouping and resource consumption monitoring — these are the key factors for choosing a software-based video data validation and analysis system in OTT.

Additional tools

Sometimes it is necessary to check for picture matching (frame alignment) between profiles as well as analyze the GOP structure in a chunk. For example, in case of HLS traffic, it is vital that each fragment of a single profile begins with a reference frame from which stream decoding can start. In addition, the picture should be identical between profiles — this will allow switching between them seamlessly if the available network bandwidth changes.


I encourage everybody to keep up with the times and stay ahead of any possible problems — using tools that help prevent or isolate them timely.

Author: Vitaly Suturikhin, Head of Integration and Technical Support Department, Elecard



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Elecard Company

Leading provider of components and software products for analysis, monitoring, encoding, decoding and streaming digital video and audio data.