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
}
}
}
Parameter | Description | Allowed Values | Default Value | |
---|---|---|---|---|
original_source | Original Source File for VMAF metric | Valid URL | none | - |
original_transformations | Source file transformations for VMAF metric | - | - | - |
Original transformations params | - | - | - | - |
type | Transformation type | scale, pad | none | - |
width | Width | Positive integer number | none | - |
height | Height | Positive integer number | none | - |
algo | Scale algorithm | fast_bilinear, bilinear, bicubic, experimental, neighbor, area, bicublin, gauss, sinc, lanczos, spline | none | - |
x | Horizontal padding | Positive integer number | none | - |
y | Vertical padding | Positive integer number | none | - |
metrics | Metrics array | - | - | - |
Metrics params | - | - | - | - |
metric | Metric name | vmaf, psnr, ssim, ms_ssim, bitrate | none | - |
model | VMAF model | hdtv, 4ktv | none | - |
thresholds | Metric threshold functions array | - | - | - |
Thresholds params | - | - | - | - |
severity | Test severity | warning, fatal | warning | - |
min | Minimum function | - | - | - |
max | Maximum function | - | - | - |
percentile | Percentile function | - | - | - |
median | Median function | - | - | - |
mean | Mean function | - | - | - |
harm_mean | Harmonic mean function | - | - | - |
Threshold function params | - | - | - | - |
lower | Lower value | Positive integer number | none | - |
upper | Upper value | Positive integer number | none | - |
perc | Percentile value | Positive integer number | none | - |
Note
The qc_video_metrics test is available only for mpeg-4, mpeg-ts, and mxf source file formats.