12 August 2021

Video Quality QC Check

Added a video quality check to the QC suite Metrics Report QC test.

Within the <qc_video_metrics> parameters added to your job' qc_check request, the source asset is used as a reference file to quantitatively compare VQ using 4 industry-standard perceptual quality tools VMAF, PSNR, SSIM, and MS_SSIM for each output format. 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_sourceOriginal Source File for VMAF metricValid URLnone
original_transformationsSource 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
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.