14 October 2019 - QC Workflow Update
over 5 years ago by Encoding.com Product Team
Changed QC workflow.
- Added support of advanced_fmp4 and fmp4_hls output formats.
- QC Auto/All merged to QC Auto.
- Added qc_check format to validate your own medias.
- QC processing moved to separate job to minimize it influence on transcoding process.
Available Tests
Request Template
Auto
<?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>[advanced_hls|advanced_dash|advanced_fmp4|fmp4_hls|mp4]</output><!-- REQUIRED -->
<!-- Format fields -->
<qc>auto</qc>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "AddMedia",
"qc_notify": "[QCNotifyURL]",
"source": "[SourceFile|SourcePlaylist]",
"format": {
"output": "[advanced_hls|advanced_dash|advanced_fmp4|fmp4_hls|mp4]",
"qc": "auto"
}
}
}
Custom 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>[advanced_hls|advanced_dash|advanced_fmp4|fmp4_hls|mp4|qc_check]</output><!-- REQUIRED -->
<!-- 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>
<!-- <stream /> params available only for advanced_hls output format -->
<stream>
<qc>
<!-- Stream Validation Tests -->
<qc_test_name_1>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_1>
<qc_test_name_2>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_2>
<!-- Multiple Tests -->
<qc_test_name_N>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_N>
</qc>
</stream>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "AddMedia",
"qc_notify": "[QCNotifyURL]",
"source": "[SourceFile|SourcePlaylist]",
"format": {
"output": "[advanced_hls|advanced_dash|advanced_fmp4|fmp4_hls|mp4|qc_check]",
"qc": {
"qc_test_name_1": {
"severity": "[fatal|warning]"
},
"qc_test_name_2": "",
"qc_test_name_N": ""
},
"stream": {
"qc": {
"qc_test_name_1": {
"severity": "[fatal|warning]"
},
"qc_test_name_2": {
"severity": "[fatal|warning]"
},
"qc_test_name_N": {
"severity": "[fatal|warning]"
}
}
}
}
}
}
QC Check
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>AddMedia</action>
<qc_notify_format>[xml|json]</qc_notify_format>
<qc_notify>[QCNotifyURL]</qc_notify>
<source>[SourceFile1|SourcePlaylist1]</source><!-- required -->
<source>[SourceFile2|SourcePlaylist2]</source>
<!-- Multiple source files -->
<source>[SourceFileN|SourcePlaylistN]</source>
<format>
<output>qc_check</output><!-- required -->
<source_options>
<qc>
<qc_test_name_1>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_1>
<qc_test_name_2>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_2>
<!-- Multiple Tests -->
<qc_test_name_N>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_N>
</qc>
<stream>
<qc>
<qc_test_name_1>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_1>
<qc_test_name_2>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_2>
<!-- Multiple Tests -->
<qc_test_name_N>
<!-- Tests Params -->
<severity>[fatal|warning]</severity>
</qc_test_name_N>
</qc>
</stream>
</source_options>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "AddMedia",
"qc_notify_format": "[xml|json]",
"qc_notify": "[QCNotifyURL",
"source": [
"[SourceFile1|SourcePlaylist1]",
"[SourceFile2|SourcePlaylist2]",
"[SourceFileN|SourcePlaylistN]"
],
"format": {
"output": "qc_check",
"source_options": {
"qc": {
"qc_test_name_1": {
"severity": "[fatal|warning]"
},
"qc_test_name_2": {
"severity": "[fatal|warning]"
},
"qc_test_name_N": {
"severity": "[fatal|warning]"
}
},
"stream": [
{
"qc": {
"qc_test_name_1": {
"severity": "[fatal|warning]"
},
"qc_test_name_2": {
"severity": "[fatal|warning]"
},
"qc_test_name_N": {
"severity": "[fatal|warning]"
}
}
}
]
}
}
}
}