25 July 2017

QC for mp4 output format

Added mp4 quality control tests.

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <qc_notify>[QCNotifyURL]</qc_notify>
    <source>[SourceFile|SourcePlaylist]</source><!-- REQUIRED -->
    <format>
        <output>[p4|qc_check_only]</output><!-- REQUIRED -->
        <qc_format>[advanced_hls|mp4]</qc_format> <!-- required for qc_check_only output format -->
        <!-- Format fields -->
        <qc>
            <!-- Format Validation Tests -->
            <qc_test_name_1>
                <!-- Tests Params -->
                <severity>[fatal|warning]</severity>
            </qc_test_name_1>
            <qc_test_name_2>
                <!-- Tests Params -->
            </qc_test_name_2>
            <!-- Multiple Tests -->
            <qc_test_name_N>
                <!-- Tests Params -->
            </qc_test_name_N>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "qc_notify": "[QCNotifyURL]",
        "source": "[SourceFile|SourcePlaylist]",
        "format": {
            "output": "[p4|qc_check_only]",
            "qc_format": "[advanced_hls|mp4]",
            "qc": {
                "qc_test_name_1": {
                    "severity": "[fatal|warning]"
                },
                "qc_test_name_2": {},
                "qc_test_name_n": {}
            }
        }
    }
}

Test NameAPI Param NameFormats Available
General Validation Tests
Duration<qc_duration>advanced_hls, mp4
File size<qc_file_size>advanced_hls, mp4
Bitrate<qc_bitrate>advanced_hls, mp4
Bitrate mode<qc_bitrate_mode>advanced_hls, mp4
Closed Captions(608/708) are present and maintained<qc_captions_presented>advanced_hls, mp4
Video Validation Tests
Video format<qc_video_format>advanced_hls, mp4
Video Bitrate<qc_video_bitrate>advanced_hls, mp4
Frame rate<qc_frame_rate>advanced_hls, mp4
Video Duration<qc_video_duration>advanced_hls, mp4
Video codec profile<qc_video_codec_profile>advanced_hls, mp4
Video level<qc_video_level>advanced_hls, mp4
Frame size<qc_frame_size>advanced_hls, mp4
Aspect ratio<qc_aspect_ratio>advanced_hls, mp4
Video streams number<qc_video_streams_number>advanced_hls, mp4
Validate DTS<qc_validate_dts>advanced_hls, mp4
Validate PTS<qc_validate_pts>advanced_hls, mp4
Check B-Frames Present<qc_b_frames_present>advanced_hls, mp4
Check B-Frames DTS grow<qc_bframe_dts_grow>advanced_hls, mp4
IDR interval is maintained<qc_idr_interval>advanced_hls, mp4
Each segment starts with IDR<qc_segments_start_with_idr>advanced_hls, mp4
Audio Validation Tests
Audio Codec<qc_audio_codec>advanced_hls, mp4
Audio Bitrate<qc_audio_bitrate>advanced_hls, mp4
Audio Duration<qc_audio_duration>advanced_hls, mp4
Audio sample rate<qc_audio_sample_rate>advanced_hls, mp4
Audio channels<qc_audio_channels>advanced_hls, mp4
Audio channel layout<qc_audio_channel_layout>advanced_hls, mp4
Audio streams number<qc_audio_streams_number>advanced_hls, mp4
Audio bit depth<qc_audio_bit_depth>advanced_hls, mp4

Check file duration

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_duration>
                <value>[TimeCode]</value>
                <severity>[fatal|warning]</severity>
            </qc_duration>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_duration": {
                    "value": "[TimeCode]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueFile durationValid Timecode in format HH:mm:ss.SS
severitywarning, fatalwarning

Check file size

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_file_size>
                <value>[Size]</value>
                <severity>[fatal|warning]</severity>
            </qc_file_size>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_file_size": {
                    "value": "[Size]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueFile size valueSize in bytes
severitywarning, fatalwarning

Check total file bitrate

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_bitrate>
                <value>[Bitrate]</value>
                <allowed_deviation>[Percent]</allowed_deviation>
                <severity>[fatal|warning]</severity>
            </qc_bitrate>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_bitrate": {
                    "value": "[Bitrate]",
                    "allowed_deviation": "[Percent]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueBitratePositive integer
allowed_deviationBitrate deviation in percent0 to 100 integer
severitywarning, fatalwarning

Check bitrate mode

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_bitrate_mode>
                <value>[cbr|vbr]</value>
                <severity>[fatal|warning]</severity>
            </qc_bitrate_mode>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_bitrate_mode": {
                    "value": "[cbr|vbr]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueBitrate mode(constant or variable)cbr, vbr
severitywarning, fatalwarning

Check video streams format(codec) value

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_video_format>
                <value>[CodecName]</value>
                <severity>[fatal|warning]</severity>
            </qc_video_format>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_video_format": {
                    "value": "[CodecName]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueVideo codec nameValid codec name
severitywarning, fatalwarning

Check video bitrate

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_video_bitrate>
                <value>[Bitrate]</value>
                <allowed_deviation>[Percent]</allowed_deviation>
                <severity>[fatal|warning]</severity>
            </qc_video_bitrate>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_video_bitrate": {
                    "value": "[Bitrate]",
                    "allowed_deviation": "[Percent]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueVideo bitratePositive integer
allowed_deviationBitrate deviation in percent0 to 100 integer
severitywarning, fatalwarning

Check video frame rate

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_frame_rate>
                <value>[FrameRate]</value>
                <severity>[fatal|warning]</severity>
            </qc_frame_rate>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_frame_rate": {
                    "value": "[FrameRate]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueVideo frame ratePositive integer
severitywarning, fatalwarning

Check video duration

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_video_duration>
                <value>[TimeCode]</value>
                <severity>[fatal|warning]</severity>
            </qc_video_duration>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_video_duration": {
                    "value": "[TimeCode]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueVideo durationValid Timecode in format HH:mm:ss.SS
severitywarning, fatalwarning

Check video codec profile name

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_video_codec_profile>
                <value>[Profile]</value>
                <severity>[fatal|warning]</severity>
            </qc_video_codec_profile>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_video_codec_profile": {
                    "value": "[Profile]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueProfile nameValid profile name. See examples here
severitywarning, fatalwarning

Check video level value

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_video_level>
                <value>[VideoLevel]</value>
                <severity>[fatal|warning]</severity>
            </qc_video_level>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_video_level": {
                    "value": "[VideoLevel]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueVideo level valuePositive integer
severitywarning, fatalwarning

Check video frame size

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_frame_size>
                <value>[Width]X[Height]</value>
                <severity>[fatal|warning]</severity>
            </qc_frame_size>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_frame_size": {
                    "value": "[Width]X[Height]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueVideo frame sizePair of video frame's width and height devided by 'X'
severitywarning, fatalwarning

Check video aspect ratio value

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_aspect_ratio>
                <value>[h]:[v]</value>
                <severity>[fatal|warning]</severity>
            </qc_aspect_ratio>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_aspect_ratio": {
                    "value": "[h]:[v]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAspect ratio valueValid aspect ratio value(measures devided by ':')
severitywarning, fatalwarning

Check number of video streams

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_video_streams_number>
                <value>[StreamsNumber]</value>
                <severity>[fatal|warning]</severity>
            </qc_video_streams_number>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_video_streams_number": {
                    "value": "[StreamsNumber]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueVideo streams numberPositive integer
severitywarning, fatalwarning

Check audio codec name

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_audio_codec>
                <value>[CodecName]</value>
                <severity>[fatal|warning]</severity>
            </qc_audio_codec>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_audio_codec": {
                    "value": "[CodecName]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAudo codec nameValid codec name
severitywarning, fatalwarning

Check audio bitrate

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_audio_bitrate>
                <value>[Bitrate]</value>
                <allowed_deviation>[Percent]</allowed_deviation>
                <severity>[fatal|warning]</severity>
            </qc_audio_bitrate>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_audio_bitrate": {
                    "value": "[Bitrate]",
                    "allowed_deviation": "[Percent]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAudio bitratePositive integer
allowed_deviationBitrate deviation in percent0 to 100 integer
severitywarning, fatalwarning

Check audio duration

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_audio_duration>
                <value>[TimeCode]</value>
                <severity>[fatal|warning]</severity>
            </qc_audio_duration>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_audio_duration": {
                    "value": "[TimeCode]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAudio durationValid Timecode in format HH:mm:ss.SS
severitywarning, fatalwarning

Check audio bit depth number

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_audio_bit_depth>
                <value>[BitDepth]</value>
                <severity>[fatal|warning]</severity>
            </qc_audio_bit_depth>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_audio_bit_depth": {
                    "value": "[BitDepth]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAudio bit depth numberPositive integer
severitywarning, fatalwarning

Check audio sample rate value

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_audio_sample_rate>
                <value>[SampleRate]</value>
                <severity>[fatal|warning]</severity>
            </qc_audio_sample_rate>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_audio_sample_rate": {
                    "value": "[SampleRate]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAudio sample rate valuePositive integer
severitywarning, fatalwarning

Check number of audio channels

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_audio_channels>
                <value>[ChannelsNumber]</value>
                <severity>[fatal|warning]</severity>
            </qc_audio_channels>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_audio_channels": {
                    "value": "[ChannelsNumber]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAudio channels numberPositive integer
severitywarning, fatalwarning

Check audio channel layout

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_audio_channel_layout>
                <value>[ChannelLayout]</value>
                <severity>[fatal|warning]</severity>
            </qc_audio_channel_layout>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_audio_channel_layout": {
                    "value": "[ChannelLayout]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAudio channel layoutValid channel layout. See examples here
severitywarning, fatalwarning

Check number of audio streams

<?xml version="1.0"?>
<query>
    <userid><<id>></userid> <!-- required-->
    <userkey><<key>></userkey> <!-- required-->
    <action>AddMedia</action>
    <format>
        <output>[advanced_hls|mp4|qc_check_only]</output><!-- REQUIRED -->
        <!-- Format fields -->
        <qc> 
            <qc_audio_streams_number>
                <value>[StreamsNumber]</value>
                <severity>[fatal|warning]</severity>
            </qc_audio_streams_number>
        </qc>
    </format>
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "AddMedia",
        "format": {
            "output": "[advanced_hls|mp4|qc_check_only]",
            "qc": {
                "qc_audio_streams_number": {
                    "value": "[StreamsNumber]",
                    "severity": "[fatal|warning]"
                }
            }
        }
    }
}
FieldDescriptionAllowed ValuesDefault Value
valueAudio streams numberPositive integer
severitywarning, fatalwarning

Output params in Upload notifications

Set <notify_upload_extended /> param to 'yes' to include output params to notification callback

📘

Note

This feature doesn't work with multibitrate output formats

<?xml version="1.0"?>
<query>
    <!-- Main fields -->
    <userid><<id>></userid>
    <userkey><<key>></userkey>
    <action>[Action]</action>
    <source>[SourceFile]</source>
    <notify_format>[xml|json]</notify_format>
    <notify_upload>[NotifyUploadURL]</notify_upload>
    <notify_upload_extended>[yes|no]</notify_upload_extended>
    <format>
        <!-- Format fields -->
    </format> 
</query>
{
    "query": {
        "userid": "<<id>>",
        "userkey": "<<key>>",
        "action": "[Action]",
        "source": "[SourceFile]",
        "notify_format": "[xml|json]",
        "notify_upload": "[NotifyUploadURL]",
        "notify_upload_extended": "[yes|no]",
        "format": {}
    }
}

Callback Format for notify_upload

<?xml version="1.0"?>
<result>
    <mediaid>[MediaID]</mediaid>
    <taskid>[TaskID]</taskid>
    <destination>[DestinationLink]</destination>
    <status>[DestinationStatus]</status>
    <!-- <output_params /> section will be included if you set <notify_upload_extended /> param to 'yes' -->
    <output_params>
        <format>[FormatName]</format>
        <bitrate>[Bitrate]</bitrate>
        <duration>[Duration]</duration>
        <audio_bitrate>[AudioBitrate]</audio_bitrate>
        <audio_codec>[AudioCodec]</audio_codec>
        <audio_duration>[AudioDuration]</audio_duration>
        <audio_sample_rate>[SampleRate]</audio_sample_rate>
        <audio_channels>[AudioChannels]</audio_channels>
        <video_bitrate>[VideoBitrate]</video_bitrate>
        <video_codec>[CodecName]</video_codec>
        <video_duration>[VideoDuration]</video_duration>
        <size>[FrameSize]</size>
        <display_aspect_ratio>[AspectRatio]</display_aspect_ratio>
        <frame_rate>[VideoFrameRate]</frame_rate>
        <filesize>[FileSize]</filesize>
    </output_params>
</result>
{
    "result": {
        "mediaid": "[MediaID]",
        "taskid": "[TaskID]",
        "destination": "[DestinationLink]",
        "status": "[DestinationStatus]",
        "output_params": {
            "format": "[FormatName]",
            "bitrate": "[Bitrate]",
            "duration": "[Duration]",
            "audio_bitrate": "[AudioBitrate]",
            "audio_codec": "[AudioCodec]",
            "audio_duration": "[AudioDuration]",
            "audio_sample_rate": "[SampleRate]",
            "audio_channels": "[AudioChannels]",
            "video_bitrate": "[VideoBitrate]",
            "video_codec": "[CodecName]",
            "video_duration": "[VideoDuration]",
            "size": "[FrameSize]",
            "display_aspect_ratio": "[AspectRatio]",
            "frame_rate": "[VideoFrameRate]",
            "filesize": "[FileSize]"
        }
    }
}
FieldDescription
MediaIDA unique identifier of the media
TaskIDA unique identifier of the task
DestinationLinkA link to destination where task was uploaded
DestinationStatusA status of task
Note:<output_params /> section will be included if you set <notify_upload_extended /> param to 'yes'
OutputParamsOutput file parameters

format — output format name
bitrate — output file overall bitrate
duration — output file overall duration
audio_bitrate — output file audio bitrate
audio_codec — output file audio codec name
audio_duration — output file audio duration
audio_sample_rate — output file audio sample rate
audio_channels — output file audio channels
video_bitrate — output file video bitrate
video_codec — output file video codec name
video_duration — output file video duration
size — output file video frame size
display_aspect_ratio — output file video aspect ratio
frame_rate — output file video frame size
* filesize — output file size in bytes