How to improve the video streaming quality ?

Ravi Singhatia
Wynk
Published in
4 min readJun 4, 2021

In Depth Analysis of Video Quality Metrics

[Capturing — Analysis — Alerting]

Part 1: How can we calculate video quality for all videos coming in our system and monitor on a daily basis ? Is the Video Good or Bad ?

Part 2: How can we say that a video is looking better than the other on the basis of video quality metrics like blockiness, blurriness and many more?

Part3: How to get quick results. i.e, Get the Automation integrated

The Quest to find Video Quality Metrics began with above questions.There were many factors which can’t be captured simply by Watching. Immediately we started working on finding some best practices. We continuously worked towards these above problems and finally decided to use a combination of VMAF | PSNR to compared a raw video with a transcoded one

A Glimpse of multiple iterations vs scores in initial stages

Iterations vs Scores

VMAF score (1st Iteration) : 77 (Not as per Our standards)

Vmaf vs Resolution

VMAF Score (5th Iteration) : 93 (Good to go)

Vmaf vs Resolution

While tweaking FFMPEG parameters to get the best possible VMAF Score, we got to know that there was a huge fluctuation in the score if video input parameters varied even slightly.

Variations in : FPS | Video Duration | Bitrate | Video Size

Score fluctuations

How can we say that a video is looking better than the other on the basis of video quality metrics like blockiness, blurriness and many more?

Streaming Quality better means very few issues after compression . This can be divided into few transcoding quality indicators which calculates the level of distortion in a video.

How we designed to be seamless and quick using Automation ?

Purpose of Automation: Test Videos of Huge GBs for VMAF Calculation — Consumes time and local systems memory.

Results Analysis with previous ones — Data Monitoring

Immediate Alerts on Failures — Jenkins Pipeline Setup

Automation Architecture:

Some Facts — Video Quality Metrics

In order to compute a VMAF score, the source video and the encoded video need to have the same resolution.

Both video quality metrics work on a frame basis. This means that videos are compared frame by frame and compute an overall score. Usually, the overall score is based on the arithmetic mean, alternatives like the harmonic mean are also valid and possible.

Some encoders include an additional black frame at the beginning of the video. This can falsify the results as it leads to a frame shift and an unequal number of frames between source- and encoded video.

While PSNR is based on the mean squared error, VMAF is a machine learning-based model that was trained on actual MOS scores. Hence, the VMAF scores are usually linked closer to the actual perceived quality of a video.

The default VMAF model is trained for video consumption on a 1080p TV device. There are two more models, one for mobile devices (trained on Samsung S5 with resolution 1920×1080), and one for 4k devices.

— — — — — — — — — — — — — — — — — — — — — — — — — —

--

--