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><<id>></userid> <!-- required-->
    <userkey><<key>></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": "<<id>>", // required
        "userkey": "<<key>>", // 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_source Original Source File for VMAF metricValid URLnone
original_transformations Source file transformations for VMAF metric
metricsMetrics array
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
Metrics params
metricMetric namevmaf, psnr, ssim, ms_ssim, bitratenone
modelVMAF modelhdtv, 4ktvnone
thresholdsMetric threshold functions array
Thresholds params
severity Test severitywarning, fatalwarning
min Minimum function
max Maximum function
percentile Percentile function
median Median function
mean Mean function
harm_mean Harmonic 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.