Video Quality Metrics

When the <qc_video_metrics> parameter is added to your QC check, the source asset <original_source> is used as a reference file to quantitatively compare VQ using your choice of 4 industry-standard perceptual quality tools VMAF, PSNR, SSIM, and MS_SSIM. Comparing the report metrics of outputs with different codecs or encoding parameters can be an invaluable tool to help improve the playback experience. Custom threshold parameters can be configured to return alerts when the quality scores are higher or lower than the predefined targets.

<?xml version="1.0"?>
<query>
    <userid>[UserID]</userid> <!-- required-->
    <userkey>[UserKey]</userkey> <!-- required-->
    <action>AddMedia</action>
    <source>[SourceFile]</source><!-- required -->
    <format>
        <output>qc_check</output><!-- required -->
        <source_options>
            <qc> 
                <qc_video_metrics>
                    <original_source>[OriginalSurceFile]</original_source> <!-- required -->
                    <original_transformations>
                        <type>scale</type>
                        <width>[Width]</width>
                        <height>[Height]</height>
                        <algo>[ScaleAlgo]</algo>
                    </original_transformations>
                    <original_transformations>
                        <type>pad</type>
                        <width>[Width]</width>
                        <height>[Height]</height>
                        <x>[PadX]</x>
                        <y>[PadY]</y>
                    </original_transformations>
                    <original_transformations>
                        <!-- original_transformations params -->
                    </original_transformations>
                    <metrics>
                        <metric>vmaf</metric> <!-- required -->
                        <model>[hdtv|4ktv]</model>
                        <thresholds>
                            <severity>[warning|fatal]</severity>
                            <min>
                                <lower>[LowerValue]</lower>
                                <upper>[UpperValue]</upper>
                            </min>
                            <max>
                                <lower>[LowerValue]</lower>
                                <upper>[UpperValue]</upper>
                            </max>
                            <percentile>
                                <perc>[PercentileValue]</perc>
                                <lower>[LowerValue]</lower>
                                <upper>[UpperValue]</upper>
                            </percentile>
                            <median>
                                <lower>[LowerValue]</lower>
                                <upper>[UpperValue]</upper>
                            </median>
                            <mean>
                                <lower>[LowerValue]</lower>
                                <upper>[UpperValue]</upper>
                            </mean>
                            <harm_mean>
                                <lower>[LowerValue]</lower>
                                <upper>[UpperValue]</upper>
                            </harm_mean>
                        </thresholds>
                        <thresholds>
                            <!-- thresholds params -->
                        </thresholds>
                    </metrics>
                    <metrics>
                        <metric>ms_ssim</metric> <!-- required -->
                        <thresholds>
                            <!-- thresholds params -->
                        </thresholds>
                    </metrics>
                    <metrics>
                        <metric>ssim</metric> <!-- required -->
                        <thresholds>
                            <!-- thresholds params -->
                        </thresholds>
                    </metrics>
                    <metrics>
                        <metric>psnr</metric> <!-- required -->
                        <thresholds>
                            <!-- thresholds params -->
                        </thresholds>
                    </metrics>
                    <metrics>
                        <metric>bitrate</metric> <!-- required -->
                        <thresholds>
                            <!-- thresholds params -->
                        </thresholds>
                    </metrics>
                </qc_video_metrics>
            </qc>
        </source_options>
        <!-- format params -->
    </format>
</query>
{
    "query": {
        "userid": "[UserID]", // required
        "userkey": "[UserKey]", // required
        "action": "AddMedia", // required
        "source": "[SourceFile|SourcePlaylist]", // required
        "format": {
            "output": "qc_check", // required
            "source_options": {
                "qc": {
                    "qc_video_metrics": {
                        "original_source": "[OriginalSurceFile]", // required
                        "original_transformations": [
                            {
                                "type": "scale",
                                "width": "[Width]",
                                "height": "[Height]",
                                "algo": "[ScaleAlgo]"
                            },
                            {
                                "type": "pad",
                                "width": "[Width]",
                                "height": "[Height]",
                                "x": "[PadX]",
                                "y": "[PadY]"
                            },
                            {
                                // original_transformations params
                            }
                        ],
                        "metrics": [
                            {
                                "metric": "vmaf", // required
                                "model": "[hdtv|4ktv]",
                                "thresholds": [
                                    {
                                        "severity": "[warning|fatal]",
                                        "min": {
                                            "lower": "[LowerValue]",
                                            "upper": "[UpperValue]"
                                        },
                                        "max": {
                                            "lower": "[LowerValue]",
                                            "upper": "[UpperValue]"
                                        },
                                        "percentile": {
                                            "perc": "[PercentileValue]",
                                            "lower": "[LowerValue]",
                                            "upper": "[UpperValue]"
                                        },
                                        "median": {
                                            "lower": "[LowerValue]",
                                            "upper": "[UpperValue]"
                                        },
                                        "mean": {
                                            "lower": "[LowerValue]",
                                            "upper": "[UpperValue]"
                                        },
                                        "harm_mean": {
                                            "lower": "[LowerValue]",
                                            "upper": "[UpperValue]"
                                        }
                                    },
                                    {
                                        // thresholds params
                                    }
                                ]
                            },
                            {
                                "metric": "ms_ssim", // required
                                "thresholds": [
                                    {
                                        // thresholds params
                                    }
                                ]
                            },
                            {
                                "metric": "ssim", // required
                                "thresholds": [
                                    {
                                        // thresholds params
                                    }
                                ]
                            },
                            {
                                "metric": "psnr", // required
                                "thresholds": [
                                    {
                                        // thresholds params
                                    }
                                ]
                            },
                            {
                                "metric": "bitrate", // required
                                "thresholds": [
                                    {
                                        // thresholds params
                                    }
                                ]
                            }
                        ]
                    }
                }
            }
            // format params
        }
    }
}
ParameterDescriptionAllowed ValuesDefault Value
original_sourceOriginal Source File for VMAF metricValid URLnone-
original_transformationsSource file transformations for VMAF metric---
Original transformations params----
typeTransformation typescale, padnone-
widthWidthPositive integer numbernone-
heightHeightPositive integer numbernone-
algoScale algorithmfast_bilinear, bilinear, bicubic, experimental, neighbor, area, bicublin, gauss, sinc, lanczos, splinenone-
xHorizontal paddingPositive integer numbernone-
yVertical paddingPositive integer numbernone-
metricsMetrics array---
Metrics params----
metricMetric namevmaf, psnr, ssim, ms_ssim, bitratenone-
modelVMAF modelhdtv, 4ktvnone-
thresholdsMetric threshold functions array---
Thresholds params----
severityTest severitywarning, fatalwarning-
minMinimum function---
maxMaximum function---
percentilePercentile function---
medianMedian function---
meanMean function---
harm_meanHarmonic mean function---
Threshold function params----
lowerLower valuePositive integer numbernone-
upperUpper valuePositive integer numbernone-
percPercentile valuePositive integer numbernone-

🚧

Note

The qc_video_metrics test is available only for mpeg-4, mpeg-ts, and mxf source file formats.