We provide running your own Baton Test Plan on your output media with our QC service.
Test Plans and Report Templates
For now, we support only manual validation and integration of the Test Plans and Report Templates.
Please reach out to us to add your Test Plan or Report Template to our system and then we will send you the needed parameters: <test_plan /> and <template />.
Media Format
Baton Validation available only for advanced_hls, mp4, cablelabs_mpegts, mainconcept_mxf, and mxf_op1a output formats. For qc_check format, You can use any single-bitrate source file.
<?xml version="1.0"?>
<query>
<userid>[UserID]</userid> <!-- required-->
<userkey>[UserKey]</userkey> <!-- required-->
<action>AddMedia</action>
<source>[SourceFile|SourcePlaylist]</source><!-- required -->
<format>
<output>[qc_check|advanced_hls|mp4|mxf|mainconcept_mxf|cablelabs_mpegts|mxf_op1a]</output><!-- required -->
<qc>
<qc_baton_validation>
<test_plan>[TestPlanHash]</test_plan> <!-- required -->
<template>[TemplateHash]</template>
<logo_image>[URL]</logo_image>
</qc_baton_validation>
</qc>
<!-- format params -->
</format>
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "AddMedia", // required
"source": "[SourceFile|SourcePlaylist]", // required
"format": {
"output": "[qc_check|advanced_hls|mp4|mxf|mainconcept_mxf|cablelabs_mpegts|mxf_op1a]", // required
"qc": {
"qc_baton_validation": {
"test_plan": "[TestPlanHash]", // required
"template": "[TemplateHash]",
"logo_image": "[URL]"
}
}
// format params
}
}
}
Parameter | Decription | Allowed Values | Default Value |
---|---|---|---|
test_plan | Baton Test Plan hash ID. | String | none |
template | PDF Report Template hash ID or one of predefined Presets. | String Available Presets: • Audio and Container Errors Report • Audio Errors Report • Auto QC Report • Baton Compact Report • Baton Default Report • Container Errors Report • Detailed Report • Editor Report • Eyeball QC Report • Field Technician Report • Flat View Report • Format Specific Report • PSE Video Flash Report • Scene Change Detection Report • Summarized View Report • Video and Container Errors Report • Video Errors Report | none |
logo_image | Custom Logo Image for PDF report | Valid URL | none |
Baton Report
Link to Baton Report can be found in GetStatus response
<?xml version="1.0"?>
<report>
<mediaID>[MediaID]</mediaID>
<status>[QCStatus]</status>
<externalReports>
<externalReport>
<testName>qc_baton_validation</testName>
<fileName>[FileName]</fileName>
<ReportLinkXML>[BatonReportURL]</ReportLinkXML>
<ReportLinkPDF>[BatonPDFReportURL]</ReportLinkPDF>
<Summary>[BatonSummary]</Summary>
<Result>[Success|Failure]</Result>
</externalReport>
</externalReports>
<!-- report fields -->
</report>
{
"report": {
"mediaID": "[MediaID]",
"status": "[QCStatus]",
"externalReports": {
"externalReport": [
{
"testName": "qc_baton_validation",
"fileName": "[FileName]",
"ReportLinkXML": "[BatonReportURL]",
"ReportLinkPDF": "[BatonPDFReportURL]",
"Summary": "[BatonSummary]",
"Result": "[Success|Failure]"
}
]
}
// report fields
}
}
For ReportLinkPDF, Summary, and Result
<ReportLinkPDF >, <Summary >, and <Result > fields may not be presented in <externalReport > block.
Prohibited Words Check
We provide the ability to check for a specified list of prohibited words in closed captions via Baton QC.
You can create several prohibited words lists and we will check all of them in Baton Validation test.
To manage lists we provide these API requests:
Create New List
Request:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<userid>[UserID]</userid> <!-- required -->
<userkey>[UserKey]</userkey> <!-- required-->
<action>SetBatonProfaneWords</action> <!-- required-->
<name>[ListName]</name> <!-- required-->
<words>
<word>[Word_1]</word>
<word>[Word_2]</word>
<!-- ... -->
<word>[Word_N]</word>
</words>
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "SetBatonProfaneWords", // required
"name": "[ListName]", // required
"words": {
"word": [
"[Word_1]",
"[Word_1]",
// ...
"[Word_N]"
]
}
}
}
Parameter | Description | Allowed Values |
---|---|---|
name | List Name | String |
word | Prohibited Word | String |
Response:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<action>setbatonprofanewords</action>
<status>Success</status>
</response>
{
"response": {
"action": "setbatonprofanewords",
"status": "Success"
}
}
Show Added Lists
Request:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<userid>[UserID]</userid> <!-- required -->
<userkey>[UserKey]</userkey> <!-- required-->
<action>ListBatonProfaneWordLists</action> <!-- required-->
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "ListBatonProfaneWords" // required
}
}
Response:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<action>listbatonprofanewordlists</action>
<status>Success</status>
<result>
<user_id>[UserID]</user_id>
<wordlists>
<wordlist>[ListName_1]</wordlist>
<wordlist>[ListName_1]</wordlist>
<!-- ... -->
<wordlist>[ListName_N]</wordlist>
</wordlists>
</result>
</response>
{
"response": {
"action": "listbatonprofanewords",
"status": "Success",
"result": {
"user_id": "[UserID]",
"wordlists": {
"wordlist": [
"ListName_1",
"ListName_2",
// ...
"ListName_N"
]
}
}
}
}
Delete Words List
Request:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<userid>[UserID]</userid> <!-- required -->
<userkey>[UserKey]</userkey> <!-- required-->
<action>DropBatonProfaneWords</action> <!-- required-->
<name>[ListName]</name> <!-- required-->
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "DropBatonProfaneWords", // required
"name": "[ListName]" // required
}
}
Parameter | Description | Allowed Values |
---|---|---|
name | List Name | String |
Response:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<action>dropbatonprofanewords</action>
<status>Success</status>
</response>
{
"response": {
"action": "dropbatonprofanewords",
"status": "Success"
}
}
Show Words In List
Request:
<?xml version="1.0" encoding="UTF-8"?>
<query>
<userid>[UserID]</userid> <!-- required -->
<userkey>[UserKey]</userkey> <!-- required-->
<action>GetBatonProfaneWords</action> <!-- required-->
<name>[ListName]</name> <!-- required-->
</query>
{
"query": {
"userid": "[UserID]", // required
"userkey": "[UserKey]", // required
"action": "GetBatonProfaneWords", // required
"name": "[ListName]" // required
}
}
Parameter | Description | Allowed Values |
---|---|---|
name | List Name | String |
Response:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<action>getbatonprofanewords</action>
<status>Success</status>
<result>
<user_id>[UserID]</user_id>
<words>
<word>[Word_1]</word>
<word>[Word_1]</word>
<!-- ... -->
<word>[Word_N]</word>
</words>
</result>
</response>
{
"response": {
"action": "getbatonprofanewords",
"status": "Success",
"result": {
"user_id": "[UserID]",
"words": {
"word": [
"Word_1",
"Word_2",
// ...
"Word_N"
]
}
}
}
}