Qualify User Guide
Qualify User Documentation
Introduction
Telestream Cloud Qualify is a Cloud-Native, file-based QC service. The service can be used to test a wide variety of media file types for common video, audio and file-based issues. You can interact with the service via our UI, or via our API. Reports can be delivered on screen (with proxy video preview), or as a PDF document for onward consumption.
Projects
Projects are a convenient way to group your Qualify Jobs, as well as specifying key technical details such as the Cloud Provider and Region.
Here’s some information about the different fields you can expect to see when configuring your Project.
-
Project Name – You can give your project a memorable name.
-
Default Template – Choose a Default Template for this Project. This means that any job submitted to this project will, by default, be started with this template. Note: You can always choose the template when starting a Qualify Job.
-
File Upload Store – You can pick which of your Telestream Cloud “Stores” (see the User dropdown menu in the top-right hand corner) to use. This is only relevant if you plan on uploading files from your desktop via the UI.
-
Cloud Provider – Choose which Cloud compute provider you’d like to use for this Project.
-
Cloud Region – Choose which Cloud compute region you’d like to use for this Project.
-
Proxy Video Generation Service – By default, Qualify will use our “Flip” service behind the scenes to create a proxy review video, which you’ll see when viewing a Qualify report. However, if you have our “Transform” service enabled on your account, you can choose to use Transform to create the proxy video and benefit from wider input file support.
Audio Layouts
Audio layouts allow you to choose how Qualify deals with different track layouts in your source media. Use the "Add Next Channel Map" button to specify a new use case for source media with an expected number of tracks and channels. You can use the “Scissors” button to divide audio groups in order to match the expected layout of the source media and choose the expected channel labels from the dropdown list. Add as many channel maps as you require, to ensure Qualify can process your audio correctly. Each Audio group then becomes “Track 1”, “Track 2” etc when building a template in Qualify.
This feature uses a look up table that is used to assist in working with PCM channels. It contains entries mapping PCM channels to specific mix configurations. For example, mapping 8 PCM channels to a stereo pair followed by a 5.1 mix.
When an audio file is processed in Qualify it has its PCM channels from all mixes joined into a single mix. Then this mix is split into “processed as” mixes based on the audio layout provided.
For example, in the picture below there is an input media file with 2 mixes each containing 4 channels. The last 2 channels of Mix 2 are a DolbyE pair. All channels, regardless of coding are joined into a single mix:
In the mapping phase the non-coded PCM tracks are counted (6 in this case) and the entry for that count is looked up in the audio layout. In this example, a layout with a mapping of 6 PCM channels is mapped to 3 stereo pairs, 3 mixes are produced each with 2 channels. DolbyE channels are treated separately regardless of the audio layout and produce extra mixes as shown. Audio layout will only apply to PCM audio.
Example 2:
DolbyE mixes will always be placed after the PCM mixes in the mapping phase regardless of the position of the DolbyE pairs in the file.
Encoded input tracks will be decoded and then provided as a separate mix after all PCM and DolbyE tracks. Encoded tracks are not affected by the audio layout. (ie: PCM audio will always be arranged first, DolbyE will follow PCM, and encoded audio if applicable will follow DolbyE).
An alert will be raised if there are audio track coding changes.
If the audio layout does not contain an entry for the number of found PCM channels, a single Mix with all channels marked as Mono will be assumed. Example below:
If no audio layout is given, a default audio layout is applied, see tables below:
- List Of Channel Labels
Channel Label | Short Code |
---|---|
Unknown | U |
Left | L |
Right | R |
Center | C |
Low Frequency Effects | LFE |
Left Surround | LS |
Right Surround | RS |
Left Center | LC |
Right Center | RC |
Center Surround | CS |
Left Side | LSD |
Right Side | RSD |
Top Center | TCS |
Top Front Left | TFL |
Top Front Center | TFC |
Top Front Right | TFR |
Top Back Left | TBL |
Top Back Center | TBC |
Top Back Right | TBR |
Top Side Left | TSL |
Top Side Right | TSR |
Left Wide | LW |
Right Wide | RW |
Low Frequency Effects 2 | LFE2 |
Left Rear Surround | LRS |
Right Rear Surround | RRS |
Left Total | LT |
Right Total | RT |
Mono | M |
- Default Audio Layout
PCM Channels | Audio Layout |
---|---|
1 | M |
2 | L, R |
3 | L, R, C |
4 | L, R, Ls, Rs |
6 | L, R, C, LFE, Ls, Rs |
8 | L, R, C, LFE, Ls, Rs, Lrs, Rrs |
10 | L, R, C, LFE, Ls, Rs, Tfl, Tfr, Tbl, Tbr |
12 | L, R, C, LFE, Ls, Rs, Lrs, Rrs, Tfl, Tfr, Tbl, Tbr |
14 | L, R, C, LFE, Ls, Rs, Lrs, Rrs, Lw, Rw, Tfl, Tfr, Tbl, Tbr |
16 | L, R, C, LFE, Ls, Rs, Lc, Rc, Cs, Tfl, Tfr, Tfc, Tcs, Tbl, Tbr, Tbc |
24 | L, R, C, LFE, Ls, Rs, Lc, Rc, Cs, LFE, Ls, Rs, Tfl, Tfr, Tfc, Tcs, Tbl, Tbr, Tsl, Tsr, Tbc, C, L, R |
Media Layouts
Users can now set their media layout preferences at the template creation level, which can then be applied individually to specific tests based on user needs.
In the example below, the Global Layout is set to check all content within the airable portion of the media file, while the user layout is set to check all content within a 5 minute predefined period of the file.
The Global Layout information will be applied to all tests that are activated within a template by default. Within each specific test the user may change which layout they would like to test against. (ie: a user has 10 tests activated with the Global Layout listed below, but needs one of those tests to utilize a different layout configuration).
Layout options:
Whole File – Will test against every frame within a file from start to finish. Can not be reconfigured by user.
Global Layout – User defines start and end points of layout specified to their needs. Applies by default.
User Layout – User defines start and end points of layout specified to their needs.
Key Notes
If a “range” is defined on the test then it will apply to the layout limits.
The user can optionally apply the "use start timecode" setting to the media layouts. If the end timecode value is set to 0 the layout will run to the end of the file.
Layouts will not apply to metadata tests or subtitle tests. They will only apply to Video Quality and Audio Quality tests, with the exception of PSE (Harding & Proprietary).
Package Layouts
Package Layouts allow you to choose how Qualify will handle packaged content, such as HLS/Dash. Use the controls to choose which video, audio and subtitle variants will be loaded and tested. This is only relevant to packaged media formats - If you load a non-packaged, monolithic media file (e.g. a standard MOV, MP4, MXF etc) then the Package Layout will be ignored.
Templates
A Template is used to specify what tests you’d like to run against your media. You can choose any combination of tests and use the in-depth settings to tune the thresholds to yield the results you need. It’s worth bearing in mind that the more tests you choose, the longer the test will take to complete. Some tests also command an additional Multiplier.
When you’re creating a template, you’ll also need to be aware of some concepts which are used consistently throughout the product:
-
Add Next Test – This allows you to add multiples of the same test, to test multiple audio tracks simultaneously. If a test is added that references an audio track that does not exist, then an alert will be raised for that test.
-
Test Whole File – This will test the entirety of the file for the artifact in question. You can specify how many seconds/frames are allowed, and if this is exceeded, an alert will be raised.
-
Layout – This gives you extra flexibility in terms of finding artifacts at specific points in the file.
For example, you may require that a file has 10s of black at the beginning and 30s of black at the end. You can
add 2 Layouts – the first of which tests a fixed duration, starting at 0 and ending at 10, and specifying this “Must
Be Black”. Add a second Layout to “Test End Of File” and choose to “Test Last” 30s “With Duration” 30s, and
“Must Be Black”. Any deviation from these parameters in the inspected file will raise an alert. -
Treat Missing Media As - The user can set the alert level when missing media is detected to info, warning, or error.
-
Aggregate Alerts - The option to aggregate job alerts has been consolidated from “Aggregate Warning Limits” and “Aggregate Error Limits”, to “Aggregate Alerts”. This function now encompasses the aggregation limit of all alerts, regardless of whether they are reported as info, warnings, or errors. If the value of “Aggregate Alerts” is left blank or set to 0 then no aggregation of alerts will take place.
-
Template Upgrade - Starting with the release of QC engine version 2023.3.2, users can now upgrade existing QC templates to be compatible with new engine versions, rather than manually create new templates each time an upgraded QC engine is released. Automatic template upgrades are only supported from container version 2023.1.1 and forward. Any templates that pre-exist this engine version will need to be manually upgraded.
- To use the latest engine version the customer must initiate the template upgrade process on their existing template. The user may simply navigate to “Templates” and click “Upgrade” to initiate this process. Once upgraded, the new template will appear with the current engine version listed and maintain the previous template ID for automation purposes. The previous template that was upgraded will be replaced by the new upgraded one. Once the template in question has been upgraded it can be used to run a job against the latest container version.
Jobs
A job is used to specify which project you’d like to run against a specific template for QC. On this page you will select the file you wish to upload to be run against the template previously chosen. File upload can be done either by URL or drag and drop from your computer. It is also possible to add sidecar files when submitting a job through this page. Click the “Use Sidecars” checkbox, then the “Arrange Sidecars” button should become visible. When there are no files to submit, it is not possible to click the “Arrange Sidecars” button. Files can be provided by either upload, pasting URL, or a combination of the two.
QC Test Reference
The tables below contain a list of all of the tests included with Qualify, and information about what each test does and how it can be configured.
File Checks
Check | Identifier | Description |
---|---|---|
File Bit Rate | FC-101 | Verifies that the calculated bit rate of the file (video audio bit rate/duration) falls within the defined Min/Max parameters. |
Duration | FC-102 | Checks that the duration of the file (video and audio) falls within the defined Min/Max parameters. |
Container Format | FC-103 | Verifies the 'wrapper' or container file used to hold the video and/or audio matches the user defined value. Examples would be 'TS' (MPEG-2 Transport Stream), 'MXF', 'MOV' etc. |
Size | FC-104 | Checks that the total file size falls within the Min/Max parameters. |
Container Start Timecode | FC-105 | Verifies that the Container Start Timecode matches the user specified value, with an adjustable tolerance. Can also optionally check for drop frame verification. |
Container End Timecode | FC-106 | Verifies that the Container End Timecode matches the user specified value, with an adjustable tolerance. Can also optionally check for drop frame verification |
Compare Stream Lengths | FC-108 | Checks whether the audio track is present throughout the duration of the video. An alert is raised if the audio track is shorter than the video track by more than 2 video frames. An alert is also raised if the audio track is found to be significantly longer (more than 2 seconds) than the video. |
Transport Stream Bit Rate | FC-109 | Check stream bitrate using PCRs which accounts for various stuffing methods. |
Container/Header Agrees With Essence | FC-112 | This is intended to be a general test to check that parameters which are potentially duplicated between container (systems layer) and essence (elementary stream) are consistent. |
Essence Start Timecode | FC-115 | Verifies that the Essence Start Timecode matches the user specified input, with an adjustable tolerance. Can also optionally check for drop frame verification. The material package start timecode can also optionally be compared against the GOP timecode. |
Essence End Timecode | FC-116 | Verifies that the Essence End Timecode matches the user specified input, with an adjustable tolerance. Can also optionally check for drop frame verification. |
Number of Tracks | FC-121 | Check the number of video, audio, subtitle and timecode tracks in the file. |
Container Drop Frame | FC-122 | Check that the container's start timecode is either drop-frame or non-drop as specified. |
Essence Drop Frame | FC-123 | Check that the essence's start timecode is either drop-frame or non-drop as specified. |
Dolby E Presence | FC-125 | Test for the presence of Dolby E. |
Deep MXF Tests
Check | Identifier | Description |
---|---|---|
Deep MXF Tests | MX-101 | A range of in-depth MXF checks, to ensure technical conformance with a variety of MXF constraints. |
MXF Operational Pattern | MX-102 | Tests the Operational Pattern of an MXF file. Currently only OP-1a and Op-Atom are supported. |
AVC SPS/PPS | MX-103 | This test ensures that every frame of an AVC stream contains an SPS and PPS header. This is mandated by SMPTE RP2027. This test is only available when the 'Video Codec' test is enabled and set to 'H.264' and the 'Container' test is enabled and set to 'MXF'. |
Syntax Checks
Enabling syntax checking will test the appropriate codec based on the file provided.
Check | Identifier | Description |
---|---|---|
MPEG-2 Video Codec Syntax | SC-101 | For MPEG-2 streams, section 8.5 (Table 8-13) defines upper limits for bit rate, in Mbps, for each combination of Profile and Level. For MPEG-2 streams, section 8.5 (Table 8-14) of ISO/IEC 13818-2 defines the vbv_buffer size requirements (in bits) for each combination of Profile and Level. |
AVC/H.264/MPEG-4 Video Codec Syntax | SC-102 | Tests that the sequence should always start with an IDR picture as per ITU-T H.264. Sequences that start with a non-IDR picture can cause playability problems, including tearing, stuttering and freeze frames. Tests that bitstreams do not cause an underflow or overflow in the hypothetical reference decoder (HDR), as per ITU-T H.264, Annex C. Tests that PPS referenced in the headers exist in the file as per ITU-T H.264. Tests that bitstreams do not cause coded picture buffer (CPB) removal timing violations in the hypothetical reference decoder as per ITU-T H.264, Annex C. |
Dolby-E Audio Codec Syntax | SC-108 | CRC Check: Checks the CRC of each Dolby-E frame. Frames that fail the CRC check are likely corrupted either in transport or in the decoder. Guard Band Alignment: Checks Dolby-E guard band start position against the values from Table 4-2 of the Dolby-E specifications. Guard Band Not In Ideal Position: Checks for a Dolby-E frame that is not in the ideal position in reference Table 4-2 of the Dolby-E specifications. Frame Rate Coherency: Checks for a Dolby-E stream where the frame rate does not match with the container metadata frame rate. Frame Synchronization: Checks for a frame without a synchronization header in the Dolby-E stream. |
Caption / Subtitle Checks
Check | Identifier | Description |
---|---|---|
Closed Caption Presence | CC-101 | Checks for the presence or absence of closed captions (C608, C708). |
Closed Caption Dropouts | CC-102 | Detect and report any closed caption dropouts. Maximum time allowed with no caption data can be specified in seconds or frames. |
Teletext Subtitle Presence | CC-103 | Checks for the presence of specified teletext pages. |
Discreet Subtitle Presence | CC-104 | Checks for the presence or absence of discrete subtitles. |
Discreet Subtitle Dropouts | CC-105 | Detect and report any discrete subtitle dropouts. Maximum time allowed with no subtitle data can be specified in seconds or frames. |
CGMS-A Value | CC-106 | Test the CGMS-A value from the CEA-608 caption data packet. CGMS-A is defined in CEA-608-E, section 9.5.1.8 in the Type 0x08 copy and redistribution control packet. This is a 2 byte packet and CGMS-A resides in b4 & b3 of the first byte. B4 - B3 - CGMS-A Meaning 0 - 0 - Copying permitted without restriction 0 - 1 - No more copies (one generation copy has already been made) 1 - 0 - One generation of copies can be made 1 - 1 - No copying is permitted |
Caption Word Detection | CC-107 | Check captions for the presence of words from a specified list. |
Service Count | CC-111 | Check the number of services in the file. This test can check for any type of service or specifically for CEA-608 or CEA-708 services. |
Caption Paint Style | CC-116 | Checks the caption paint style used in selected channels and services. There are three standard caption transitions that can be used for video: pop-on, roll-up and paint-on. |
STL Checks | CC-121 | The following STL checks are available within this test:
|
Video Metadata
Check | Identifier | Description |
---|---|---|
Bit Depth | VM-101 | The number of bits per video sample. For cases where luma and chroma sample depths are different, this check will test the luma bit depth. |
Video Track ID/PID | VM-102 | Checks the ID of the video track within its container format. This is the 'PID' for MPEG-2 Transport Streams, the 'stream_id' for MPEG-2 Program Streams and the 'Track ID' for MOV and MXF files. |
Video Bit Rate | VM-103 | Check that the bit rate of the video track is within the given range, expressed in Mbit/s. |
Video Bit Rate Mode | VM-104 | Checks whether the bit rate mode of the video is variable (VBR) or constant (CBR). |
Codec | VM-105 | Tests the format of the video elementary stream. Can also test MPEG-2 profile and level, as well as ProRes Profile. |
Color Space Information | VM-106 | This tests that the video has certain color space properties (e.g. color primaries, transfer characteristics and matrix coefficients). If a property is not found in the video, a Warning will be generated |
Frame Rate | VM-107 | Frame rate in video frames per second. "NTSC" denotes a drop frame rate, e.g. "30fps (NTSC)" corresponds to 29.97fps. |
Frame Size | VM-109 | Choose from a selection of standard frame sizes, or specify a Custom frame size (e.g. 2000x1000). |
Frame Aspect Ratio | VM-111 | Choose from a selection of standard frame aspect ratios, or specify a custom value as an integer or floating point value (e.g. 3 or 1.4). |
Pixel Aspect Ratio | VM-112 | The aspect ratio of each luminance sample in the coded stream, either as coded directly or implied by the display aspect ratio and frame size. |
Pixel To Frame Aspect Ratio Comparison | VM-113 | This test checks for possible anamorphic video in a 4:3 frame. This will most easily be determined by showing rectangular pixels in a 4:3 frame, indicating that the pixels should be stretched during playback to achieve the standard square aspect ratio. |
Chroma Subsampling Format | VM-114 | Checks that the chroma subsampling format matches the user specified value. Only applicable for YUV-based video. |
Clean Aperture | VM-115 | Checks that the Clean Aperture of the video is equal to the Production Aperture. This implies that no cropping of the encoded picture is indicated by the container. This test also verifies that no Clean Aperture offset is indicated. Clean Aperture is a QuickTime concept, thus this test will only be performed on MOV containers. |
GOP Length | VM-116 | Check the distance between successive I-frames in the encoded video. For example, this distance will be 1 for I-frame only video and 12 for a long GOP sequence coded as 'IBBPBBPBBPBBI'. This test is suitable for GOP coded video, such as MPEG-2 and H.264. |
Advanced GOP Length | VM-117 | A more thorough GOP test for MPEG-2 and H.264 that can test for a range of GOP lengths, test for open and closed GOPs (MPEG-2 only), and allow special handling of first and last GOPs. The "First GOP" and "Last 2 GOPs" sections, when ticked, enable specific values to be given for the first and last two GOPs. The "Other GOPs" section will apply to any other GOP (possibly including the first and last GOPs if their specific sections are not ticked). The input boxes for I-frame distance and P-frame distance are comma-separated lists of distances or ranges of distances. For example, "12", "1-12", "1,12,15' and "1,12-15" are all valid inputs. The syntax ">5" and "<5" mean "greater than" and "less than" 5 frames, respectively. If the input is empty, then no check is performed (i.e., any distance is valid). It is possible to choose whether the test operates on the coded frame order or the displayed frame order. This distinction is only important when B-frames are present. The test can be configured to either show unique GOP length errors (default) or to show all of them. |
Video Reference Frames | VM-118 | Checks the maximum number of short-term and long-term reference frames, complementary reference field pairs, and non-paired reference fields that may be used by the decoding process for inter-prediction of any picture in the coded video sequence. This test is applicable for AVC and HEVC video codec. |
Dolby Vision Validation | VM-121 | Verifies compliance of input file with Dolby Vision metadata. |
TV/MPAA Rating | VM-123 | Checks the Type 0x05 Content Advisory Packet from the caption data packet in the video stream and compares the results to the value you set in the template. |
AFD Detection (Dynamic) | VM-124 | Tests the value of the Active Format Description (AFD) as sent in the User Data of an MPEG-2 video sequence. |
Video Buffer Size | VM-125 | When MPEG-2 is selected, this test checks the VBV buffer size reported in the stream. When AVC/H.264 is selected, this test checks the CPB buffer size reported in the stream. Minimum and Maximum values are specified in KiB (1024 bytes) and either value may be left blank if not required. The 'Video Codec' test must be enabled and set to 'MPEG-2' or 'AVC/H.264' before this test may be used. |
MOOV Atom | VM-127 | This check is to identify that there is only one MOOV atom in an mov/mp4 file. |
Single Sample Description | VM-128 | This test looks for the presence of multiple Sample Descriptions in the MOV/MP4 track metadata, which is often an indicator that such incompatible splicing has taken place. |
Video Essence Duration | VM-130 | Test if the essence is shorter/longer than specified value/range. |
Is PAL or NTSC | VM-131 | This checks if PAL/NTSC video is present. NTSC Broadcast Format: NTSC Standard: 525 total lines, 480 displayed lines. 29.97 frames/second (59.97 fields/sec). Interlaced video only. PAL Broadcast Format: PAL Standard: 625 total lines, 576 displayed lines. 25 frames/second (50 fields/sec). Interlaced video only. |
Video Quality
Check | Identifier | Description |
---|---|---|
Black Frame | VQ-101 | Checks for instances of both intentional/unintentional black frames, using a luma level specified in the template (default value varies with different video bit depths). The Percentage of Frame option acts as a tolerance control, and the user can set the maximum number of consecutive black frames that are allowed before an alert is raised. This test also has the ability to check certain parts of the file using the "Layout" controls. |
Color Bars | VQ-102 | Checks for instances of both intentional/unintentional color bars. The user can specify which type of color bars to search for, and set a tolerance to account for non-standard encoding. This test also has the ability to check certain parts of the file using the "Layout" controls and by enabling the details option the test will provide information on why a frame is not a colorbar. |
Field Order | VQ-103 | Tests whether the encoded flag matches the user specified input, and optionally tests that the baseband video also has the desired encoded field order. The user can specify a time threshold to ensure relevant alerts are caught. |
Cadence | VQ-104 | Checks that the baseband cadence is correct based on the user selected criteria of what is expected in the stream. The user can select from the following expected cadences:
The user can optionally look for broken 2:3 cadence; opt to report all detected cadences or check for poor patterns that could cause excessive stutter. |
Freeze Frame | VQ-105 | Checks for instances of both intentional/unintentional freeze frames. The user can specify the maximum number of allowed consecutive frozen frames before an alert is raised. There is also the ability to ignore black frames, using a user specified luma level (default value varies with different bit depths). This test also has the ability to check certain parts of the file using the "Layout" controls. |
HDR Area | VQ-106 | This test measures the number of HDR pixels in a PQ or HLG-1000 graded frame. As per ITU-R B.2408-1 recommendations, a pixel with luminance more than 203 nits is considered HDR. An alert is generated when the percentage of HDR pixels in a frame exceeds the Area Threshold and when this continues for the user specified number of measurements. |
HDR Limit | VQ-108 | This test measures how many HDR pixels lie above the brightest two thresholds, and how many lie below the darkest, giving the user a reliable and useful metric as to how much their content lies within "HDR" boundaries. |
HDR Measurement | VQ-109 | This test measures analyses each decoded frame, in its native bit depth, to calculate the MaxCLL (Maximum Content Light Level) and MaxFALL (Maximum Frame Average Light Level). The measured values are compared against the HDR metadata within the file. |
HDR Change Detection | VQ-110 | Checks for changes to the SEI-encoded HDR metadata on a frame-by-frame basis. Any changes to this metadata cause an alert to be raised. |
Luma/Chroma Levels | VQ-112 | This tests that the luma component (Y) of the YUB signal is within valid limits. The Low Luma Limit and High Luma Limit fields allow for stricter or more lenient rules for when a pixel is considered a violation. The defaults of -1% to 103% comply with EBU r103. |
RGB Gamut | VQ-113 | This test ensures that the YUV components of the decoded video lie within the legal range given by ITU-R- BT.601-5, 709-5 or 2020-1. The default values of -5% to 105% comply with EBU r103. |
Media Offline | VQ-114 | Checks for the presence of the "Media Offline" slate, which can be produced by applications such as Adobe Premiere, After Effects, Avid Media Composer or DaVinci Resolve. |
PSE Test (Proprietary) | VQ-115 | Tests for rapid changes in luminance which could trigger photosensitive epilepsy (PSE). This test is in accordance with ITU-R BT 1702-2 (supporting both SDR and HDR content) but can be switched to be run in accordance with ITU-R BT 1702-1 by choosing "Use Legacy". The test will alert if a sequence has more than three and a half harmful flashed per second. Harmful flashes could be caused by both rapid changes of lighting in a scene, or by rapid editorial cuts that cause the screen to flash. |
Video Segment Detection | VQ-116 | Detects video segments within the content and reports the start and end timecode of each segment found. This test works by identifying consecutive black frames, and assuming that anything which is not black is an active video segment. The user can request that digital silence is also present during black sections to ensure accuracy of detection. |
Single Color Frame | VQ-117 | Detects sequences where the entire frame is a single color. This can sometimes occur because of syntax errors, missing codecs, or erroneous media encoding. |
TekMOS | VQ-118 | TekMOS is a non-referenced perceptual video quality measurement for natural video content. The content is rated on a scale of 0-5, with 5 being the highest quality, in line with the ITU 5-point scale. The Program Threshold computes the percentage of frames within the entire program that fall below the user defined threshold. The short-term threshold searches and reports for short sections of poor video quality, according to a user specified rolling window duration. |
Letterbox/Pillarbox | VQ-120 | This test is used to detect whether video content has the correct letterboxing (black bars at the top and bottom of the frame). If any content fails the test, then a single error alert is raised for each continuous frame sequence. Changes to letterboxing/pillarboxing are also reported. The user can specify the desired active picture aspect ratio, or a requirement for a specific number of black lines at the edges of the picture. A tolerance can also be set to mitigate false positive alerts, and the black level used to detect the black bars can also be adjusted. |
Loss of Chroma | VQ-122 | Detects any video frame where there is no color. This is done by checking the values of U and V: If both of these are at the defined level for no chroma to within the given tolerance then an alert is raised. Frames consisting entirely of a uniform color value (e.g. all black, or all white) will not be considered as part of a "lost chroma" sequence. This is to prevent false alerts on sections of filler material. Tolerance ± %: The tolerance to allow on the default value, rounded down to the nearest integer. E.g. a tolerance of 1% would be 1.28: this is rounded down to 1 so the Loss of Chroma test alert would then be triggered when U and V are both 127 to 129. |
Analogue Dropout | VQ-123 | Check for isolated bright or dark lines of pixels caused by analogue tape transfer errors. Sensitivity: A High sensitivity will find more problems but could also find more 'false positives'. A Low sensitivity will only detect more obvious dropouts. Note that not all dropouts may be detected - in particular larger problems may be ignored. |
Chroma Block Dropouts | VQ-124 | Check for chroma block dropout artifacts caused by digital tape transfer errors. |
Luma Block Dropouts | VQ-125 | Check for luma block dropout artifacts caused by digital tape transfer errors. |
Speckle Dropouts | VQ-126 | Check for speckle dropout artifacts caused by digital tape transfer errors. |
Repeated Tile Dropouts | VQ-127 | Check for repeated tile dropout artifacts caused by digital tape transfer errors. |
Upconversion Detection | VQ-128 | Performs two passes on the key frames for each video stream in the container to determine if they have been upconverted from a lower resolution. A comparison is then made between the original frame to the frame that has passed through the two pass conversion. |
Stripe Errors | VQ-130 | Check for 'stripe' artifacts caused by tape transfer errors. This test looks for groups of lines which are offset horizontally from their correct positions, which can happen due to mechanical problems when transferring analog video from tape. Note that some horizontal patterns could be misidentified as stripe artifacts. Sensitivity: A High sensitivity will find more problems but could also find more 'false positives'. A Low sensitivity will only detect more obvious stripe problems. |
Macroblocking | VQ-131 | Checks for macroblocking artifacts where the macroblock edge is clearly visible. This test is a subjective measure of video quality where each frame is assigned a quality metric and an alert is raised if the video quality drops below the given threshold. |
Corrupt Frame | VQ-133 | Checks for corrupt or unexpected frames. Single or double frames which look out of place in a sequence will be found. These could be frames with a significant amount of corruption, or single dark or bright frames could also cause an alert to be raised. Sensitivity: A high sensitivity will find more problems but could also find more 'false positives'. A low sensitivity will only detect more obvious problems. |
HardingFPA | VQ-135 | Tests for rapid changes in luminance which could trigger photosensitive epilepsy (PSE). This test is in accordance with ITU-R BT 1702-2 (supporting SDR, HDR and Dolby Vision content). When the color space of the file can not be determined from the metadata, the user can optionally specify the color space to use. |
Combing Artifacts | VQ-136 | Checks for interlacing artifacts which manifest by showing a shift in every other line around motion areas of pictures. These are generally caused by the fields being out of order during ingest, and then being transcoded to a format that loses any reference to the proper field order. |
Audio Metadata
Check | Identifier | Description |
---|---|---|
Bit Depth | AM-101 | Verifies that the audio bit depth matches the user specified value. |
Codec | AM-102 | Checks that the audio codec matches the user specified value(s). |
Codec Profile | AM-103 | Tests the format of the audio elementary stream. |
Sample Rate | AM-104 | Ensures that the audio sample rate (KHz) matches the user specified value. |
Number of Tracks | AM-105 | Checks that the number of audio tracks found matches the user specified value. |
Bit Rate | AM-106 | Ensures that the audio bit rate (kbps) matches the user specified value. |
Dialnorm | AM-107 | Verifies that the Dialnorm value matches the user specified range. This test is only relevant to assets containing a Dolby encoded audio stream. |
Audio Channel Count Detection | AM-109 | Checks for instances of the ACMod metadata parameter (if present) or channel count changing between audio frames. |
Number of Channels | AM-110 | Checks that the number of audio channels found matches the user specified range. |
Language ID | AM-111 | Checks that the language ID found matches the user specified value. The user can optionally test the input audio baseband to verify that the spoken word is the same as the expected language or the same as the metadata. |
AC-3 Service Type | AM-112 | This test checks for AC-3 Service Type/Service Kind for AC-3 (and E-AC-3) of the audio bitstream against the user specified value. It corresponds to the 'bsmod' (Bit Stream Mode) parameter per the AC-3 specification (ATSC A/52); Service Types: Complete Main, Music and Effects, Visually Impaired, Hearing Imparied, Dialogue, Commentary, Emergency, Voice Over, Karaoke |
Audio Essence Duration | AM-115 | Test if the essence is shorter/longer than specified value/range. |
Audio Quality
Check | Identifier | Description |
---|---|---|
Peak Level | AQ-101 | Measures the Peak audio level throughout the program material, and will alert if it is in violation of the user specified value. The user can choose whether to measure as dBFS or dBTP. |
Phase Coherence | AQ-102 | Measures the phase coherence between channel pairs. Phase is measured on a scale of -1 to 1, where -1 means "completely out of phase" and 1 means "completely in phase/mono". |
Dual Mono | AQ-103 | Compares two audio streams and will alert if dual mono sections are detected between them. Max Allowed Duration is the total amount of dual mono allowed in the file. Tolerance Window Duration is where a dual mono section lasting less than this time window will be ignored. Duration units can be samples, milliseconds, seconds or percentage. |
Clicks and Pops | AQ-104 | Detects transients or sudden changes in amplitude, such as those caused by noise on a digital or analog signal. The user can choose between low, medium or high sensitivity; high sensitivity is more likely to generate false positive results, but may also detect smaller transients which are deemed erroneous. |
Clipping | AQ-105 | Detects audio clipping by testing for successive samples of equal value. Quiet samples (those below a fixed small value) are supressed and do not count towards the clipping test. |
Integrated Loudness (inc Dialog Gating) | AQ-106 | Integrated Loudness is measured over the duration of the file. In calculating the loudness, the arrangement of channels is assumed as found in the Audio Layout settings. Dialog gating can be applied to ITU 1770-1, which will measure loudness only when dialog is present. ITU 1770-2, 1770-3, and 1770-4 options do not currently support dialog gating. |
Short-term Loudness | AQ-107 | Short-term Loudness is measured over a sliding rectangular time window. The measurement is not gated. The default window length of 3 seconds corresponds to EBU-Tech 3341 short-term mode. The Max Violations setting will report only the worst violation, in accordance with EBU-Tech 3341/EBU r128. The All Violations setting will report all violations. |
Momentary Loudness | AQ-108 | Momentary Loudness is measured over a 400ms sliding rectangular time window as per EBU-Tech 3341 Momentary mode. The measurement is not gated. The Max Violations setting will report only the worst violation, in accordance with EBU-Tech 3341/EBU r128. The All Violations setting will report all violations. |
Loudness Range (LUFS) | AQ-109 | Loudness Range is a measurement of the variation in loudness over the duration of a file. The algorithm is specified in EBU-Tech 3342 and produces an output Loudness Range (LRA) in terms of Loudness Units (LU). |
Minimum Level | AQ-110 | Measures the audio RMS level per channel using a sliding window of the user specified length. If the RMS level for a given channel drops below this level for a contiguous period equal to or longer than the window length, an alert will be raised. Due to the nature of the windowing function, if the period is longer than the window length, only the minimum measurement during the period will be given. |
Silence | AQ-111 | Detects both intentional and unintentional Silence. The threshold indicates the threshold below which an audio track is considered silent. If Digital Silence is selected, instead of using the threshold, the track is checked for the presence of absence of audio samples. |
PPM Level | AQ-112 | The peak level according to the "BBC Peak Program Meter" (IEC 60268-10 Type IIa) standard. The meter can operate in MS (sum/difference) mode (modes M3 and M6), or AB mode (individual channels). Note that in MS mode, only the sum is measured.
|
Channel Position | AQ-113 | Checks whether 5.1 channels are in the correct place by using known frequencies to analyze the baseband of the center and LFE channel and validating against what should be present. |
Test Tone | AQ-114 | Checks for the presence of a sine wave tone (a "test tone"), on each channel. Level is in dBFS peak-to-peak. If levels are supplied in RMS, approximately 3dB should be added; for example a -9dBFS RMS signal will measure -6dBFS peak-to-peak. |
EAS Tone | AQ-115 | Checks for the presence of an EAS (Emergency Alert System) tone. |
Audio Hiss Detection | AQ-117 | The Verification Unit applies a low pass filter to the frequency transform of the audio track and determines if tape hiss noise is present. By default, the verification unit is checking for hiss noise across the entire time domain above 15,000 Hz. |
Audio Hum Detection | AQ-118 | The Verification Unit applies a high pass filter to the frequency domain of the audio waveform to determine if 50 Hz or 60 Hz hum (mono tone frequency) is present (+/- 1 Hz) anywhere within the clip. |
Audio Description Track Detection | AQ-120 | Checks for an audio description channel on a given mix. User should specify the expected audio description and control channels. In advanced settings, the user can adjust the frequency and amplitude of the control channel as well as their tolerances. The test reports the audio description / control pair (if any) and alerts when it is not found where expected. |
Channel Mapping | AQ-121 | Checks the channel mapping of the given mix against an expected channel mapping. For reference, see the List Of Channel Labels. |
Comparative Loudness | AQ-123 | Detect mismatch in program loudness across multiple audio tracks. Loudness tolerance, mode standard and dialog gating parameters are available. |
File Quality
Check | Identifier | Description |
---|---|---|
Media Demux Decode | FQ-101 | Checks and reports errors when demuxing or decoding the media. |
Distribution and Broadcast
Check | Identifier | Description |
---|---|---|
IMF Conformance | DC-101 | Check for IMF conformance. This test can perform basic consistency checking of IMF assets and check package list asset hashes. |
Netflix Photon | DC-102 | This test, when performed on an IMF Asset Map file, will validate IMF packages using Netflix Photon. |
Nielsen Watermark Detection | DC-103 | Decode an audio stream and report Nielsen watermarks found in the stream.
This test will detect watermarks with any specific SID. Multiple SIDs can be entered; they should comma separated (e.g. 45150,61717,6400). |
iTunes Compliance | DC-107 | Tests several aspects of MOV file atom structure which are relevant for iTunes submission:
|
Tables
MPEG-2 streams, section 8.5 (Table 8-13)
Level | Profile | ||||
---|---|---|---|---|---|
Simple | Main | SNR | Spatial | High | |
High | 80 | 100 all layers 80 mid+base layer 25 base layer | |||
High-1440 | 60 | 60 all layers 40 mid+base layer 15 base layer | 80 all layers 60 mid+base layer 20 base layer | ||
Main | 15 | 15 | 15 both layers 10 base layer | 20 all layers 15 mid+base layer 4 base layer | |
Low | 4 | 4 both layers 3 base layer |
MPEG-2 streams, section 8.5 (Table 8-14)
Level | Layer | Profile | ||||
---|---|---|---|---|---|---|
Simple | Main | SNR | Spatial | High | ||
High | Enh.2 Enh.1 Base | 9,781,248 | 12,222,464 9,781,248 3,047,424 | |||
High-1440 | Enh.2 Enh.1 Base | 7,340,032 | 7,340,032 4,882,432 1,835,008 | 9,781,248 7,340,032 2,441,216 |
Updated about 2 months ago