Getting Started with QCTools

What is QCTools

QCTools (Quality Control Tools for Video Preservation) is a free and open source software tool that helps users analyze and understand their digitized video files through use of audiovisual analytics and filtering to help users detect corruptions or compromises in the results of analog video digitization or in born-digital video. The goal of the project is to cut down the time it takes to perform high-quality video preservation and direct time towards preservation issues that are solvable - for example, identifying tapes that would benefit from a second transfer, saving not only the precious time of preservationists and institutional resources, but giving collections a necessary advantage in the bigger race against time to preserve their significant cultural artifacts. QCTools incorporates archival standards and best practices for reformatting and capturing metadata that enables the long-term preservation of and access to the original artifact, the digital object, and the associated catalog record.

Who can benefit from using QCTools (and how)?

Potential users of the quality control tools include specialists and non-specialists:

What video formats does QCTools accept?

QCTools accepts a variety of video formats, including *.avi, *.mkv, *.mov, and *.mp4, as well as a diverse selection of codecs. Uncompressed video formats are ideal for the most accurate interpretation of the video. QCTools relies on FFmpeg's libavcodec and libformat libraries to analyze and playback video which allows QCTools to support a wide variety of digital audiovisual formats.

What do the Graphs measure?

The following provides an overview of QCTools graph functionality. For more detailed descriptions, please see the Filter Descriptions tab.

Y Channel Filters (Y, YDiff, YDiffX)

The Y Channel carries brightness information (also called luma). Black and white moving image files will contain only Y data whereas a colorized video with have both Y, and U/V. If you are analyzing a black and white video, then, you should see no U/V data. If you do, this may indicate that your video has color noise. These filters are ideal for determining if your video is overly bright, or dark. The Diff filters simply measure the �difference� in value between the Y values of two consecutive pixels. Large differences would likely indicate a dramatic change in the brightness of your video which may indicate the presence of a problem.

U/V Channel Filters (U, V, UDiff, VDiff)

These 2 channels together carry color information (or chroma); dramatic activity in these graphs could indicate that your video has color abnormalities. A normal reading indicating consistent color values would show graph values on or around 128. This might manifest as a rainbow effect in your video.

Saturation

This graph detects the measure of vibrancy or brightness of color. Overly saturated (too bright) or under-saturated (too washed-out) are not ideal.

Hue

Hue is the degree to which a color is accurate (does skin tone look normal? Do the blues, reds, etc., of your video look as you expect they should?). This graph filter will help you detect areas of your video which may have strange color representation.

Temporal Outliers

This filter looks at a collection of pixels that reside near to one another; in video with no errors, you would expect for these pixels to have roughly a similar value. If there are large differences between a pixel and it�s neighbors, this may be an indication of an error. This graph filter is especially good at detecting white speckling artifacts.

Vertical Repetitions (VREP)

This graph filter works by looking for rows of similar or duplicate pixels. Often, if there is signal interruption or loss, your deck or Time Base Corrector, in an effort to fill in the gaps, will duplicate existing data. The VREP filter will alert you to this repetitive data, which often manifests as vertical lines across your picture. This filter is useful with analog source content only.

Broadcast Range (BRNG)

This filter detects pixels which lie outside of 'broadcast range' or those deemed to have unacceptable values as per established broadcasting standards. Also see Broadcast Standards

Mean Square Error per Field (MSeF)

This detects the image difference between the two fields of video. The bigger the difference, the more it indicates a potential problem (head clogs, deck issues).

Peak Signal to Noise per Field (PSNRf)

This filter is helpful for detecting the lossinessof a video. Lossiness is a term often associated with the compression process and it refers to data or information that is lost when the video undergoes this process.

What Graphs should I chose?

The graphs dectect a wide array of errors and as you become more familiar with the tool and your video collection, you will likely opt for different graph filters depending on the errors you suspect or anticipate. There are some multipurpose options, however, that may be especially helpful to start with in order to get a high-level sense of where, and what type of errors are present. The YUV and Diffs (Y values, U values, V values, YDiff, YDiffX) are beneficial for detecting light/dark and color issues. The TOUT (Temporal Outliers) filter is targeted to detecting white noise such as white speckle pattern you may find in damaged VHS tape. The HEAD (Head Switching) filter is meant to quantify visible playback issues at the bottom of analog frames of video caused by head switching. These graph filters are ideal to start with as a new user.

What is FFmpeg?

FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. QCTools utilizes FFmpeg to decode video for analysis. The playback filters use FFmpeg's libavfilter in order to process the decoded audiovisual data for different types of displays. More at FFmpeg

How can I integrate the QCTools export feature into my workflow?

QCTools currently supports a frame-by-frame analysis/export in XML format (based on the FFprobe metadata standard. Please also see the 'Data Format' tab). These files can be integrated into your preservation metadata.

What about my audio?

QCTools does not support audio at this time, but will in future releases.

What is [this error] called?

You may be able to find the answer in the A/V Artifact Atlas, which is closely associated with QCTools. The AV Artifact Atlas is for use in the identification and definition of the technical issues and anomalies that can afflict audio and video signals.

Are there additional resources that may be useful to me?

The Glossary of Video Terms is helpful for a general primer on common terms.

The AV Artifact Atlas is an especially good resource to find examples of video errors, with accompanying descriptions and visual references.