4.3.6. TemplateUpload

Description

This method allows you to import a template in JSON format to the server. Template includes a list of tests. Each test is a rule which the probe validates a media file in reliance to. Each test includes severity level, compliance conditions or thresholds and responsible for analyzing a specific parameter or error.

Request

{
  "user_id":(number),
  "methods":[
    {
      "method":"TemplateUpload",
      "params":{
        "project_id":(number),
        "name"(string),
        "data":{}
      }
    }
  ]
}

where:

  • user_id — an integer value, a user identifier;

  • project_id — an integer value, a user project identifier;

  • name — a string, a template name;

  • data — an object containing the template structure in JSON format. The object contains a list of tests, as well as settings for each test: threshold values and severity levels;

Attention

JSON file has to be validated before uploading. If there are no errors, the system will save the template. Otherwise, you will see a log with error descriptions in the terminal. Validation includes:

  • checking the syntax and formatting of the JSON file;

  • checking for threshold values for all enabled tests. An enabled test without a threshold value is considered invalid;

  • cross-checking between the number of video and audio tracks as well as threshold values for test groups for video (General video settings, Specific settings for AVC/H.264, HEVC/H.265) and audio (General audio settings);

  • checking the span of the entered threshold values against the requirements of each test, since different tests can use different units. When manually editing values, refer to the description of specific tests in the List of Tests section.

Reply

{
  "reply":[
    {
      "method": "TemplateUpload",
      "result":{
        "template_id":(number),
        "name":(string)
      }
    }
  ]
}

where:

  • template_id — an integer value, a template identifier;

  • name — a string, a template name.

Example

Request by the cURL utility
#1. Request to import a template to the server.
curl http://172.16.1.41/ctrl_api/v1/json \
 -H "Content-Type: application/json" \
 --data '{"user_id":1,"methods":[{"method":"TemplateUpload","params":{"project_id":2,"name":"TestTemplateUploadAPI","data":{"general":{"thumbnail":{"enable":false,"defaultPeriod":10,"freezePeriod":10,"jpegQuality":70},"audioTracksNumber":{"value":1},"videoTracksNumber":{"value":1}},"priority1":{"fileSize":{"enable":false,"severity":2,"min":0},"containerFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["MP4"]},"fileExtension":{"enable":true,"severity":2,"value":["mp4","mov"]},"videoFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["AVC/H.264"]},"audioFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["AAC"]},"TracksNumber":{"enable":true,"severity":3},"AVStartTimestamp":{"enable":false,"severity":2,"value":"00:00:00.000"},"AVStopTimestamp":{"enable":false,"severity":3,"value":""},"videoAudioDurationDiscrepancy":{"enable":true,"severity":3,"value":300},"audioDuration":{"enable":false,"severity":3,"min":"","max":""},"videoDuration":{"enable":false,"severity":3,"min":"","max":""}},"priority2":{"checkMandatoryMP4Boxes":{"enable":true,"severity":4},"mvhdTimescale":{"enable":true,"severity":4},"AVMetadataInconsistency":{"enable":true,"severity":3},"audioTimestampsDiscontinuity":{"enable":true,"severity":3,"value":100},"videoTimestampsDiscontinuity":{"enable":true,"severity":3,"value":100},"mvhdFileDurationDiscrepancy":{"enable":true,"severity":3,"value":300},"videoMetadataInconsistency":{"enable":false},"audioMetadataInconsistency":{"enable":false}},"priority3":{"videoResolution":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["1920x1080"]}]},"videoProfileLevel":{"enable":true,"severity":3,"tracks":[{"id":1,"MPEG-1":{"profile":"Main","level":"Main"},"MPEG-2":{"profile":"Main","level":"Main"},"AVC/H.264":{"profile":"High (100)","level":"4"},"HEVC/H.265":{"profile":"Main (1)","level":"4.1"}}]},"chromaSubsampling":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["4:2:0"]}]},"videoBitDepth":{"enable":true,"severity":3,"tracks":[{"id":1,"lumaBitDepth":[8],"chromaBitDepth":[8]}]},"entropyCoding":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["CABAC"]}]},"scanType":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["Progressive"]}]},"scanOrder":{"enable":false,"severity":3,"tracks":[{"id":1,"value":["TFF"]}]},"displayAspectRatio":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["16:9"]}]},"colorimetricDescription":{"enable":false,"severity":3,"tracks":[]},"sampleAspectRatio":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["1:1"]}]},"afdCodes":{"enable":false,"severity":3,"tracks":[]},"frameRate":{"enable":true,"severity":3,"tracks":[{"id":1,"value":[25.0]}]},"averageBitRate":{"enable":false,"severity":3,"tracks":[]},"activeFrameRate":{"enable":false,"severity":3,"tracks":[{"id":1,"threshold":0}],"threshold":0},"bitRateType":{"enable":false,"severity":3,"tracks":[{"id":1,"value":["VBR"]}]},"gopLength":{"enable":false,"severity":3,"tracks":[]},"gopStructure":{"enable":false,"severity":3,"tracks":[{"id":1,"m":0,"n":0}]},"closedGOP":{"enable":false,"severity":3,"tracks":[]},"referenceFrames":{"enable":false,"severity":3,"tracks":[{"id":1,"value":3}]},"hdrFormat":{"enable":false,"severity":3,"tracks":[]},"hdrMetadata":{"enable":false,"severity":3,"tracks":[{"id":1,"displayPrimaries[0]":"0.170; 0.797","displayPrimaries[1]":"0.131; 0.046","displayPrimaries[2]":"0.708; 0.292","whitePoint":"0.3127; 0.329","maxDisplayMasteringLuminance":1000,"minDisplayMasteringLuminance":0.005,"maxCLL":1000,"maxFALL":400}]},"videoResolutionChange":{"enable":true,"severity":3},"videoProfileLevelChange":{"enable":true,"severity":3},"chromaSubsamplingChange":{"enable":true,"severity":3},"videoBitDepthChange":{"enable":true,"severity":3},"entropyCodingChange":{"enable":true,"severity":3},"scanTypeChange":{"enable":true,"severity":3},"scanOrderChange":{"enable":false,"severity":3},"colorimetricDescriptionChange":{"enable":false,"severity":3},"displayAspectRatioChange":{"enable":true,"severity":3},"sampleAspectRatioChange":{"enable":true,"severity":3},"afdCodesChange":{"enable":false,"severity":3},"frameRateChange":{"enable":true,"severity":3},"referenceFramesChange":{"enable":false,"severity":3},"hdrMetadataChange":{"enable":false,"severity":3},"lumaBitDepthChange":{"enable":true,"severity":3},"chromaBitDepthChange":{"enable":true,"severity":3}},"priority4":{"audioSampleRate":{"enable":true,"severity":3,"tracks":[{"id":2,"value":[48000]}]},"audioBitDepth":{"enable":false,"severity":3,"tracks":[]},"audioChannelsNumber":{"enable":true,"severity":3,"tracks":[{"id":2,"value":[2]}]},"audioProfile":{"enable":true,"severity":3,"tracks":[{"id":2,"value":["LC"]}]},"audioLanguage":{"enable":false,"severity":3,"tracks":[]},"audioLayer":{"enable":false,"severity":3,"tracks":[{"id":2,"value":[3]}]}},"priority5":{"videoFreeze":{"enable":true,"severity":3,"interval":1000,"threshold":0,"psnrThreshold":42,"forceCheck":0,"timeFromStart":0,"timeFromEnd":0},"videoBlack":{"enable":true,"severity":3,"luminance":16,"threshold":95,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoMono":{"enable":true,"severity":3,"threshold":90,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoMattress":{"enable":true,"severity":3,"thresholdI":40,"thresholdII":10,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoDecodability":{"enable":true,"severity":3,"mode":"full","threshold":100}},"priority6":{"audioSilence":{"enable":true,"severity":3,"threshold":-70.0,"timeFromStart":0,"timeFromEnd":0},"audioDecodability":{"enable":true,"severity":3,"threshold":100},"momentaryLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0},"shortTermLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0},"loudnessRange":{"enable":true,"severity":3,"min":0.0,"max":6.0},"truePeakDetection":{"enable":true,"severity":3,"level":-1.0},"programmeLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0}}}}}]}'

#2. Request to import a template to the server failed. In the *videoResolution* test, the threshold value is not specified.
curl http://172.16.1.41/ctrl_api/v1/json \
 -H "Content-Type: application/json" \
 --data '{"user_id":1,"methods":[{"method":"TemplateUpload","params":{"project_id":2,"name":"TestTemplateUploadAPI","data":{"general":{"thumbnail":{"enable":false,"defaultPeriod":10,"freezePeriod":10,"jpegQuality":70},"audioTracksNumber":{"value":1},"videoTracksNumber":{"value":1}},"priority1":{"fileSize":{"enable":false,"severity":2,"min":0},"containerFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["MP4"]},"fileExtension":{"enable":true,"severity":2,"value":["mp4","mov"]},"videoFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["AVC/H.264"]},"audioFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["AAC"]},"TracksNumber":{"enable":true,"severity":3},"AVStartTimestamp":{"enable":false,"severity":2,"value":"00:00:00.000"},"AVStopTimestamp":{"enable":false,"severity":3,"value":""},"videoAudioDurationDiscrepancy":{"enable":true,"severity":3,"value":300},"audioDuration":{"enable":false,"severity":3,"min":"","max":""},"videoDuration":{"enable":false,"severity":3,"min":"","max":""}},"priority2":{"checkMandatoryMP4Boxes":{"enable":true,"severity":4},"mvhdTimescale":{"enable":true,"severity":4},"AVMetadataInconsistency":{"enable":true,"severity":3},"audioTimestampsDiscontinuity":{"enable":true,"severity":3,"value":100},"videoTimestampsDiscontinuity":{"enable":true,"severity":3,"value":100},"mvhdFileDurationDiscrepancy":{"enable":true,"severity":3,"value":300},"videoMetadataInconsistency":{"enable":false},"audioMetadataInconsistency":{"enable":false}},"priority3":{"videoResolution":{"enable":true,"severity":3,"tracks":[{"id":1}]},"videoProfileLevel":{"enable":true,"severity":3,"tracks":[{"id":1,"MPEG-1":{"profile":"Main","level":"Main"},"MPEG-2":{"profile":"Main","level":"Main"},"AVC/H.264":{"profile":"High (100)","level":"4"},"HEVC/H.265":{"profile":"Main (1)","level":"4.1"}}]},"chromaSubsampling":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["4:2:0"]}]},"videoBitDepth":{"enable":true,"severity":3,"tracks":[{"id":1,"lumaBitDepth":[8],"chromaBitDepth":[8]}]},"entropyCoding":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["CABAC"]}]},"scanType":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["Progressive"]}]},"scanOrder":{"enable":false,"severity":3,"tracks":[{"id":1,"value":["TFF"]}]},"displayAspectRatio":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["16:9"]}]},"colorimetricDescription":{"enable":false,"severity":3,"tracks":[]},"sampleAspectRatio":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["1:1"]}]},"afdCodes":{"enable":false,"severity":3,"tracks":[]},"frameRate":{"enable":true,"severity":3,"tracks":[{"id":1,"value":[25.0]}]},"averageBitRate":{"enable":false,"severity":3,"tracks":[]},"activeFrameRate":{"enable":false,"severity":3,"tracks":[{"id":1,"threshold":0}],"threshold":0},"bitRateType":{"enable":false,"severity":3,"tracks":[{"id":1,"value":["VBR"]}]},"gopLength":{"enable":false,"severity":3,"tracks":[]},"gopStructure":{"enable":false,"severity":3,"tracks":[{"id":1,"m":0,"n":0}]},"closedGOP":{"enable":false,"severity":3,"tracks":[]},"referenceFrames":{"enable":false,"severity":3,"tracks":[{"id":1,"value":3}]},"hdrFormat":{"enable":false,"severity":3,"tracks":[]},"hdrMetadata":{"enable":false,"severity":3,"tracks":[{"id":1,"displayPrimaries[0]":"0.170; 0.797","displayPrimaries[1]":"0.131; 0.046","displayPrimaries[2]":"0.708; 0.292","whitePoint":"0.3127; 0.329","maxDisplayMasteringLuminance":1000,"minDisplayMasteringLuminance":0.005,"maxCLL":1000,"maxFALL":400}]},"videoResolutionChange":{"enable":true,"severity":3},"videoProfileLevelChange":{"enable":true,"severity":3},"chromaSubsamplingChange":{"enable":true,"severity":3},"videoBitDepthChange":{"enable":true,"severity":3},"entropyCodingChange":{"enable":true,"severity":3},"scanTypeChange":{"enable":true,"severity":3},"scanOrderChange":{"enable":false,"severity":3},"colorimetricDescriptionChange":{"enable":false,"severity":3},"displayAspectRatioChange":{"enable":true,"severity":3},"sampleAspectRatioChange":{"enable":true,"severity":3},"afdCodesChange":{"enable":false,"severity":3},"frameRateChange":{"enable":true,"severity":3},"referenceFramesChange":{"enable":false,"severity":3},"hdrMetadataChange":{"enable":false,"severity":3},"lumaBitDepthChange":{"enable":true,"severity":3},"chromaBitDepthChange":{"enable":true,"severity":3}},"priority4":{"audioSampleRate":{"enable":true,"severity":3,"tracks":[{"id":2,"value":[48000]}]},"audioBitDepth":{"enable":false,"severity":3,"tracks":[]},"audioChannelsNumber":{"enable":true,"severity":3,"tracks":[{"id":2,"value":[2]}]},"audioProfile":{"enable":true,"severity":3,"tracks":[{"id":2,"value":["LC"]}]},"audioLanguage":{"enable":false,"severity":3,"tracks":[]},"audioLayer":{"enable":false,"severity":3,"tracks":[{"id":2,"value":[3]}]}},"priority5":{"videoFreeze":{"enable":true,"severity":3,"interval":1000,"threshold":0,"psnrThreshold":42,"forceCheck":0,"timeFromStart":0,"timeFromEnd":0},"videoBlack":{"enable":true,"severity":3,"luminance":16,"threshold":95,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoMono":{"enable":true,"severity":3,"threshold":90,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoMattress":{"enable":true,"severity":3,"thresholdI":40,"thresholdII":10,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoDecodability":{"enable":true,"severity":3,"mode":"full","threshold":100}},"priority6":{"audioSilence":{"enable":true,"severity":3,"threshold":-70.0,"timeFromStart":0,"timeFromEnd":0},"audioDecodability":{"enable":true,"severity":3,"threshold":100},"momentaryLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0},"shortTermLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0},"loudnessRange":{"enable":true,"severity":3,"min":0.0,"max":6.0},"truePeakDetection":{"enable":true,"severity":3,"level":-1.0},"programmeLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0}}}}}]}'

#3. Request to import a template to the server failed. In the *videoResolution* test, the tracks value is not specified and the threshold value is missing.
curl http://172.16.1.41/ctrl_api/v1/json \
 -H "Content-Type: application/json" \
 --data '{"user_id":1,"methods":[{"method":"TemplateUpload","params":{"project_id":2,"name":"TestTemplateUploadAPI","data":{"general":{"thumbnail":{"enable":false,"defaultPeriod":10,"freezePeriod":10,"jpegQuality":70},"audioTracksNumber":{"value":1},"videoTracksNumber":{"value":1}},"priority1":{"fileSize":{"enable":false,"severity":2,"min":0},"containerFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["MP4"]},"fileExtension":{"enable":true,"severity":2,"value":["mp4","mov"]},"videoFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["AVC/H.264"]},"audioFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["AAC"]},"TracksNumber":{"enable":true,"severity":3},"AVStartTimestamp":{"enable":false,"severity":2,"value":"00:00:00.000"},"AVStopTimestamp":{"enable":false,"severity":3,"value":""},"videoAudioDurationDiscrepancy":{"enable":true,"severity":3,"value":300},"audioDuration":{"enable":false,"severity":3,"min":"","max":""},"videoDuration":{"enable":false,"severity":3,"min":"","max":""}},"priority2":{"checkMandatoryMP4Boxes":{"enable":true,"severity":4},"mvhdTimescale":{"enable":true,"severity":4},"AVMetadataInconsistency":{"enable":true,"severity":3},"audioTimestampsDiscontinuity":{"enable":true,"severity":3,"value":100},"videoTimestampsDiscontinuity":{"enable":true,"severity":3,"value":100},"mvhdFileDurationDiscrepancy":{"enable":true,"severity":3,"value":300},"videoMetadataInconsistency":{"enable":false},"audioMetadataInconsistency":{"enable":false}},"priority3":{"videoResolution":{"enable":true,"severity":3,"tracks":[]},"videoProfileLevel":{"enable":true,"severity":3,"tracks":[{"id":1,"MPEG-1":{"profile":"Main","level":"Main"},"MPEG-2":{"profile":"Main","level":"Main"},"AVC/H.264":{"profile":"High (100)","level":"4"},"HEVC/H.265":{"profile":"Main (1)","level":"4.1"}}]},"chromaSubsampling":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["4:2:0"]}]},"videoBitDepth":{"enable":true,"severity":3,"tracks":[{"id":1,"lumaBitDepth":[8],"chromaBitDepth":[8]}]},"entropyCoding":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["CABAC"]}]},"scanType":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["Progressive"]}]},"scanOrder":{"enable":false,"severity":3,"tracks":[{"id":1,"value":["TFF"]}]},"displayAspectRatio":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["16:9"]}]},"colorimetricDescription":{"enable":false,"severity":3,"tracks":[]},"sampleAspectRatio":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["1:1"]}]},"afdCodes":{"enable":false,"severity":3,"tracks":[]},"frameRate":{"enable":true,"severity":3,"tracks":[{"id":1,"value":[25.0]}]},"averageBitRate":{"enable":false,"severity":3,"tracks":[]},"activeFrameRate":{"enable":false,"severity":3,"tracks":[{"id":1,"threshold":0}],"threshold":0},"bitRateType":{"enable":false,"severity":3,"tracks":[{"id":1,"value":["VBR"]}]},"gopLength":{"enable":false,"severity":3,"tracks":[]},"gopStructure":{"enable":false,"severity":3,"tracks":[{"id":1,"m":0,"n":0}]},"closedGOP":{"enable":false,"severity":3,"tracks":[]},"referenceFrames":{"enable":false,"severity":3,"tracks":[{"id":1,"value":3}]},"hdrFormat":{"enable":false,"severity":3,"tracks":[]},"hdrMetadata":{"enable":false,"severity":3,"tracks":[{"id":1,"displayPrimaries[0]":"0.170; 0.797","displayPrimaries[1]":"0.131; 0.046","displayPrimaries[2]":"0.708; 0.292","whitePoint":"0.3127; 0.329","maxDisplayMasteringLuminance":1000,"minDisplayMasteringLuminance":0.005,"maxCLL":1000,"maxFALL":400}]},"videoResolutionChange":{"enable":true,"severity":3},"videoProfileLevelChange":{"enable":true,"severity":3},"chromaSubsamplingChange":{"enable":true,"severity":3},"videoBitDepthChange":{"enable":true,"severity":3},"entropyCodingChange":{"enable":true,"severity":3},"scanTypeChange":{"enable":true,"severity":3},"scanOrderChange":{"enable":false,"severity":3},"colorimetricDescriptionChange":{"enable":false,"severity":3},"displayAspectRatioChange":{"enable":true,"severity":3},"sampleAspectRatioChange":{"enable":true,"severity":3},"afdCodesChange":{"enable":false,"severity":3},"frameRateChange":{"enable":true,"severity":3},"referenceFramesChange":{"enable":false,"severity":3},"hdrMetadataChange":{"enable":false,"severity":3},"lumaBitDepthChange":{"enable":true,"severity":3},"chromaBitDepthChange":{"enable":true,"severity":3}},"priority4":{"audioSampleRate":{"enable":true,"severity":3,"tracks":[{"id":2,"value":[48000]}]},"audioBitDepth":{"enable":false,"severity":3,"tracks":[]},"audioChannelsNumber":{"enable":true,"severity":3,"tracks":[{"id":2,"value":[2]}]},"audioProfile":{"enable":true,"severity":3,"tracks":[{"id":2,"value":["LC"]}]},"audioLanguage":{"enable":false,"severity":3,"tracks":[]},"audioLayer":{"enable":false,"severity":3,"tracks":[{"id":2,"value":[3]}]}},"priority5":{"videoFreeze":{"enable":true,"severity":3,"interval":1000,"threshold":0,"psnrThreshold":42,"forceCheck":0,"timeFromStart":0,"timeFromEnd":0},"videoBlack":{"enable":true,"severity":3,"luminance":16,"threshold":95,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoMono":{"enable":true,"severity":3,"threshold":90,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoMattress":{"enable":true,"severity":3,"thresholdI":40,"thresholdII":10,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoDecodability":{"enable":true,"severity":3,"mode":"full","threshold":100}},"priority6":{"audioSilence":{"enable":true,"severity":3,"threshold":-70.0,"timeFromStart":0,"timeFromEnd":0},"audioDecodability":{"enable":true,"severity":3,"threshold":100},"momentaryLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0},"shortTermLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0},"loudnessRange":{"enable":true,"severity":3,"min":0.0,"max":6.0},"truePeakDetection":{"enable":true,"severity":3,"level":-1.0},"programmeLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0}}}}}]}'

#4. Request to import a template to the server failed. Incorrect dimension of the value for the defaultPeriod key.
curl http://172.16.1.41/ctrl_api/v1/json \
 -H "Content-Type: application/json" \
 --data '{"user_id":1,"methods":[{"method":"TemplateUpload","params":{"project_id":2,"name":"TestTemplateUploadAPI","data":{"general":{"thumbnail":{"enable":false,"defaultPeriod":"wrong_value","freezePeriod":10,"jpegQuality":70},"audioTracksNumber":{"value":1},"videoTracksNumber":{"value":1}},"priority1":{"fileSize":{"enable":false,"severity":2,"min":0},"containerFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["MP4"]},"fileExtension":{"enable":true,"severity":2,"value":["mp4","mov"]},"videoFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["AVC/H.264"]},"audioFormat":{"enable":true,"severity":4,"errorAction":"continue","value":["AAC"]},"TracksNumber":{"enable":true,"severity":3},"AVStartTimestamp":{"enable":false,"severity":2,"value":"00:00:00.000"},"AVStopTimestamp":{"enable":false,"severity":3,"value":""},"videoAudioDurationDiscrepancy":{"enable":true,"severity":3,"value":300},"audioDuration":{"enable":false,"severity":3,"min":"","max":""},"videoDuration":{"enable":false,"severity":3,"min":"","max":""}},"priority2":{"checkMandatoryMP4Boxes":{"enable":true,"severity":4},"mvhdTimescale":{"enable":true,"severity":4},"AVMetadataInconsistency":{"enable":true,"severity":3},"audioTimestampsDiscontinuity":{"enable":true,"severity":3,"value":100},"videoTimestampsDiscontinuity":{"enable":true,"severity":3,"value":100},"mvhdFileDurationDiscrepancy":{"enable":true,"severity":3,"value":300},"videoMetadataInconsistency":{"enable":false},"audioMetadataInconsistency":{"enable":false}},"priority3":{"videoResolution":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["1920x1080"]}]},"videoProfileLevel":{"enable":true,"severity":3,"tracks":[{"id":1,"MPEG-1":{"profile":"Main","level":"Main"},"MPEG-2":{"profile":"Main","level":"Main"},"AVC/H.264":{"profile":"High (100)","level":"4"},"HEVC/H.265":{"profile":"Main (1)","level":"4.1"}}]},"chromaSubsampling":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["4:2:0"]}]},"videoBitDepth":{"enable":true,"severity":3,"tracks":[{"id":1,"lumaBitDepth":[8],"chromaBitDepth":[8]}]},"entropyCoding":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["CABAC"]}]},"scanType":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["Progressive"]}]},"scanOrder":{"enable":false,"severity":3,"tracks":[{"id":1,"value":["TFF"]}]},"displayAspectRatio":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["16:9"]}]},"colorimetricDescription":{"enable":false,"severity":3,"tracks":[]},"sampleAspectRatio":{"enable":true,"severity":3,"tracks":[{"id":1,"value":["1:1"]}]},"afdCodes":{"enable":false,"severity":3,"tracks":[]},"frameRate":{"enable":true,"severity":3,"tracks":[{"id":1,"value":[25.0]}]},"averageBitRate":{"enable":false,"severity":3,"tracks":[]},"activeFrameRate":{"enable":false,"severity":3,"tracks":[{"id":1,"threshold":0}],"threshold":0},"bitRateType":{"enable":false,"severity":3,"tracks":[{"id":1,"value":["VBR"]}]},"gopLength":{"enable":false,"severity":3,"tracks":[]},"gopStructure":{"enable":false,"severity":3,"tracks":[{"id":1,"m":0,"n":0}]},"closedGOP":{"enable":false,"severity":3,"tracks":[]},"referenceFrames":{"enable":false,"severity":3,"tracks":[{"id":1,"value":3}]},"hdrFormat":{"enable":false,"severity":3,"tracks":[]},"hdrMetadata":{"enable":false,"severity":3,"tracks":[{"id":1,"displayPrimaries[0]":"0.170; 0.797","displayPrimaries[1]":"0.131; 0.046","displayPrimaries[2]":"0.708; 0.292","whitePoint":"0.3127; 0.329","maxDisplayMasteringLuminance":1000,"minDisplayMasteringLuminance":0.005,"maxCLL":1000,"maxFALL":400}]},"videoResolutionChange":{"enable":true,"severity":3},"videoProfileLevelChange":{"enable":true,"severity":3},"chromaSubsamplingChange":{"enable":true,"severity":3},"videoBitDepthChange":{"enable":true,"severity":3},"entropyCodingChange":{"enable":true,"severity":3},"scanTypeChange":{"enable":true,"severity":3},"scanOrderChange":{"enable":false,"severity":3},"colorimetricDescriptionChange":{"enable":false,"severity":3},"displayAspectRatioChange":{"enable":true,"severity":3},"sampleAspectRatioChange":{"enable":true,"severity":3},"afdCodesChange":{"enable":false,"severity":3},"frameRateChange":{"enable":true,"severity":3},"referenceFramesChange":{"enable":false,"severity":3},"hdrMetadataChange":{"enable":false,"severity":3},"lumaBitDepthChange":{"enable":true,"severity":3},"chromaBitDepthChange":{"enable":true,"severity":3}},"priority4":{"audioSampleRate":{"enable":true,"severity":3,"tracks":[{"id":2,"value":[48000]}]},"audioBitDepth":{"enable":false,"severity":3,"tracks":[]},"audioChannelsNumber":{"enable":true,"severity":3,"tracks":[{"id":2,"value":[2]}]},"audioProfile":{"enable":true,"severity":3,"tracks":[{"id":2,"value":["LC"]}]},"audioLanguage":{"enable":false,"severity":3,"tracks":[]},"audioLayer":{"enable":false,"severity":3,"tracks":[{"id":2,"value":[3]}]}},"priority5":{"videoFreeze":{"enable":true,"severity":3,"interval":1000,"threshold":0,"psnrThreshold":42,"forceCheck":0,"timeFromStart":0,"timeFromEnd":0},"videoBlack":{"enable":true,"severity":3,"luminance":16,"threshold":95,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoMono":{"enable":true,"severity":3,"threshold":90,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoMattress":{"enable":true,"severity":3,"thresholdI":40,"thresholdII":10,"interval":1000,"timeFromStart":0,"timeFromEnd":0},"videoDecodability":{"enable":true,"severity":3,"mode":"full","threshold":100}},"priority6":{"audioSilence":{"enable":true,"severity":3,"threshold":-70.0,"timeFromStart":0,"timeFromEnd":0},"audioDecodability":{"enable":true,"severity":3,"threshold":100},"momentaryLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0},"shortTermLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0},"loudnessRange":{"enable":true,"severity":3,"min":0.0,"max":6.0},"truePeakDetection":{"enable":true,"severity":3,"level":-1.0},"programmeLoudness":{"enable":true,"severity":3,"target":-23.0,"tolerance":1.0}}}}}]}'
Reply to request from example #1
 {
   "reply": [
     {
       "method": "TemplateUpload",
       "result": {
         "template_id": 100,
         "name": "TestTemplateUploadAPI"
       }
     }
   ]
 }
Reply to request from example #2
 {
   "reply": [
     {
       "method": "TemplateUpload",
       "errors": {
         "priority3": {
           "videoResolution": {
             "tracks": {
               "0": {
                 "value": [
                   "is missing"
                 ]
               }
             }
           }
         }
       }
     }
   ]
 }
Reply to request from example #3
 {
   "reply": [
     {
       "method": "TemplateUpload",
       "errors": {
         "priority3": {
           "videoResolution": {
             "tracks": [
               "Tracks should not be empty.",
               "Invalid number of video tracks: expected 1, got 0."
             ]
           }
         }
       }
     }
   ]
 }
Reply to request from example #4
 {
   "reply": [
     {
       "method": "TemplateUpload",
       "errors": {
         "general": {
           "thumbnail": {
             "defaultPeriod": [
               "must be an integer"
             ]
           }
         }
       }
     }
   ]
 }