MPEG Monitor

Real time QoE monitoring of several MPEG-2 and MPEG-4/AVC programs

 

MPEG Monitor is UNIQUE. It enables to monitor the perceived quality (also called QoE: Quality of Experience) of several MPEG-2 or MPEG-4/AVC (H.264) programs in real time and on a single machine.

MPEG Monitor is mainly designed for:

  • perceived video quality monitoring of TV head ends
  • monitoring of blockiness, black frames, jerkiness (image freezing) and silences
  • test and monitoring of audio video streaming
  • video encoders testing with live sources
  • alerts sending when problems happen (when audio or video signal is lost, when audio or video signal is back, when audio or video quality is lower than a user-defined threshold, when black frames or jerkiness or silence has a duration greater than a user-defined threshold)

But more than this, MPEG Monitor is unique due to the way it works.

Indeed, classical monitoring systems measure packets loss (QoS systems) or check the syntax of Transport Streams (verification of values like PCR) but they can't know the impact on perceived video quality (QoE) of the errors they measure. On the opposite, MPEG Monitor PERFORMS the video decoding in order to KNOW EXACTLY how the decoding was done and how are the pictures which are presented to the end-user. Therefore, MPEG Monitor is a REAL Quality of Experience (QoE) monitoring solution!

Because even if only one video packet is lost, depending on the packet which was lost, distortions can be invisible or they can lead to 12 seconds of black screen! So you need to precisely monitor your video transmissions and know the consequences of each lost packet, from the end-user point of view!

General overview

For each monitored audio video program, the quality scores computed in real time by MPEG Monitor can be used to trigger alerts (by SNMP traps or emails) and to save audio video samples of problems. All measured data are saved so that they can be consulted later (locally or remotely).

When a problem of quality loss is detected, audio and/or video samples can be saved for later examination. These samples can be saved from X seconds BEFORE the problem to Y seconds AFTER the problem (X and Y are user-defined).

Starting MPEG Monitor

At start up, MPEG Monitor displays a window which mainly contains three parts. On the top of the window, you can see the SAP announces and detect streams corresponding to these SAP announces or coming from a particular server (manually entered). On the middle of the window, the detected audio and video streams are displayed. On the bottom of the window, the programs are displayed. Each program is an association of one video stream (or none) and one or two audio streams (or none).

Detecting the audio and video streams

MPEG Monitor can detect one or several streams from UDP, RTP, RTSP, HTTP or HLS (HTTP Live Streaming). Each Transport Stream can contain one or several programs. For each program, the video can be encoded in MPEG-2 or MPEG-4/AVC (H.264). Concerning the audio encoding, you just have to install the appropriate DirectShow decoder(s) and MPEG Monitor will support your audio streams. MPEG Monitor can process streams coming from one or several servers. Each server can stream in unicast or multicast.

When streams are detected from an SAP announce or from the IP address and port you specifed, these streams are displayed in the list located in the middle of the window.

Default association of audio and video streams to create programs

For a quick start, you can create programs by associating the first video stream with the first audio stream, the second video stream with the second audio stream, etc.

Custom association of audio and video streams to create programs

You can also create custom associations between video streams and audio streams. And several buttons can help you by creating associations automatically.

Monitoring windows

When you start the monitoring, MPEG Monitor displays one main window which shows all the monitored programs. For each program, the decoded video is displayed in real time and the volumes of the audio streams are indicated (if there are associated audio streams).

And for each program, one audio quality score and three video quality scores are computed:

  • the video quality score taking into account only the encoding artifacts ("Enc" score)
  • the video quality score taking into account only the transmission errors ("Tra" score)
  • the video quality score taking into account both the encoding artifacts and the transmission errors ("VQ" score)

MPEG Monitor also displays other windows showing:

  • the video quality curves of each program
  • the audio quality curves of each program
  • the video bitrate curves of each program (to see how the different video streams share the bandwidth)
  • the audio bitrate curves of each program (to see how the different audio streams share the bandwidth)
  • the list of the last 1000 triggered alerts
  • the list of the alerts which are being sent
  • the status of each program (with OK/Warning/Error icons and information about the last alert, if any)
  • the system clock

And if you have any video and/or audio rendering cards installed on your PC (like Blackmagic Design cards for example), they wil be detected when MPEG Monitor starts and buttons (as the ones labelled "0" and "1" on the presented screenshot) will enable you to send the video and audio streams of a given program to these audio video devices. So you are able to see each program on a separate screen, to view it in full size. There is even one option to automatically display programs having problems on this separate screen.

Web server

Monitoring in real time is interesting. Sending alerts and saving samples is interesting too. But having the possibility to check the monitoring remotely, to draw quality and bitrate curves between two user-chosen dates, to compute statistics between two user-chosen dates and to easily browse and play the saved audio video samples... this is even more interesting!

To do this, MPEG Monitor includes its own web server. No need to install a separate web server (like Apache): the web server is already fully included in the application.

All you have to do is opening a web browser (Internet Explorer, Mozilla Firefox, Chrome, Safari, Opera...) and go to URL "http://IPADDRESSOFTHEMACHINE" (replace IPADDRESSOFTHEMACHINE by the IP address of the machine which runs MPEG Monitor).

Remote monitoring of quality and images

First, the web server enables you to remotely see the video and audio quality scores (value and bargraph) of each monitored program, but also a thumbnail of each video stream.

Remote monitoring of curves

MPEG Monitor also enables to remotely view the quality and bitrate curves (for video and audio) of each monitored program.

Consulting the saved data between two dates

For video and for audio, you can define two dates (thanks to a calendar, with a granularity of one minute) between which all the saved quality (or bitrate) measurement data will be processed.

Then MPEG Monitor will display the curves (for quality, for bitrate), statistics (mean value, min, max) and the saved samples over the selected period of time.

Computed statistics

Between the two dates you have chosen, the following statistics will be given (for video results consultation):

  • the mean video quality score taking into account only the encoding artifacts ("Enc" score)
  • the mean video quality score taking into account only the transmission errors ("Tra" score)
  • the mean video quality score taking into account both the encoding artifacts and the transmission errors ("VQ" score)
  • three quality scores equivalent to the three ones previously mentioned, but when considering only the minimum quality score over each second
  • the mean video bitrate
  • the number of triggered SNMP traps
  • the number of triggered email alerts
  • the number of saved video samples

A curve also displays the data saved over the selected period of time. Thanks to a menu, this curve can show any of the seven first statistics described above (quality scores and bitrate).

Saved samples

Below the curve, you'll find the list of the saved samples (if any). Just click on a filename to download it through the web server and play it on your machine (locally or remotely).

Playing a saved video sample

You can play the saved sample using your favorite player. Just click on a saved video sample in the web interface. Of course, you can also choose to save the file.

Interactive curves

In the web interface, all curves are interactive: if you click on one point of the curve, it will put this point at the center and zoom by a factor of 2. And if you drag your mouse to select a portion of the curve, it will zoom on this selection.

Audio

Like for video, the web server will enable you to compute statistics on audio measurement data, draw audio quality and audio bitrate curves, and download audio samples (if any).

Conclusion

Thanks to its operating mode, MPEG Monitor is the state-of-the-art solution to monitor MPEG-2 and MPEG-4/AVC (H.264) broadcasting and streaming. And its many features make it a really useful tool to detect problems, report them and help to identify their causes.

And unlike classical QoS (Quality of Service) metrics, MPEG Monitor DOES decode and therefore KNOWS the impact of encoding and lost packets on QoE (Quality of Experience).

MPEG Monitor enables to:

  • Monitor video quality and bitrate in real time
  • Monitor audio quality and bitrate in real time
  • Trigger alerts (SNMP traps, emails) when quality is lower than a user-defined threshold, for a user-defined duration
  • Save audio video samples when problems occur
  • Compute quality statistics and draw curves over a user-defined period of time

Therefore, MPEG Monitor is the best solution for:

  • TV head ends monitoring
  • IPTV monitoring
  • Remote monitoring
  • QoE measurement before and after equipment replacement or firmware update
  • Help in subjective monitoring

Thanks to its real time operating and its functionalities to save samples when problems happen, MPEG Monitor can also be used to debug and validate audio and video encoders using live audio and video streams as input (instead of always using the same test sequences that all end in passing the tests successfully, using live streams can speed up validation).