Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 267 commits behind bavc:main.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Join the chat at

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. QCTools is funded by the National Endowment for the Humanities and the Knight Foundation, and developed by the Bay Area Video Coalition.

Documentation on how to use QCTools is available within the application under the Help tab or online here.

general info

QCTools allows archivists, curators, preservationists and other moving image professionals to identify, filter, and assess all manner of video errors and anomalies. The tool is flexible, providing a variety of viewing options, as well the ability to create and export reports (gzip, or .gz files, formatted according to the ffprobe xml standard).

For more information about the project, or to download the latest Mac/Windows/Ubuntu release, please visit BAVC's QCTools homepage

An overview of QCTools and how to use it can be found here.


via installers

Go to or Releases and download QCTools for your operating system. Initiate the install by double-clicking the icon, and follow the steps. New releases of QCTools will be periodically available at the QCTools Project website.

via homebrew

Of if you have homebrew, get the latest release by running:

brew cask install qctools

development builds via daily builds

Grab one of the QCTools daily builds provided by MediaArea. These builds will reflect git-master and are not tied to any particular release.

getting started

Currently QCTools accepts a variety of video formats, including *.avi, *.mkv, *.mov, and *.mp4, as well as a diverse selection of codecs. By relying upon ffmpeg's libavcodec and libformat libraries, QCTools can support a wide variety of digital audiovisual formats.

graph descriptions

QCTools offers a variety of Graphing Options including: YUV Values, Temporal Outliers (TOUT), Vertical Line Repetitions (VREP), Broadcast Range (BRNG), Crop Width and Height (CropW and CropH), and Peak Signal to Noise Ratio (PSNRf) and Mean Square Error (MSEf) differences per frame.

playback filters

The QCTools preview window is intended as an analytical playback environment that allows the user to review video through multiple filters simultaneously. The playback window includes two viewing windows which may be set to different combinations of filters.

reading a qctools document

The QCTools document (built upon FFprobe's xml expression), is designed to be self-descriptive, storing analytical metadata about video and audio frames.

Incorporating a set of open source libraries developed under the ffmpeg project, the QCTools document offers metadata values derived from four evaluative filters: signalstats, cropdetect, psnr, and ebur128.

using qcli

QCTools files can also be generated via the command line with qcli. After installing it, you can run qcli -i [your-file-here] to generate a qctools report based on your file. By default, this file will be saved to the same directory and named after the file, e.g. test.qctools.xml.gz if your file is named test.mkv. This can easily be wrapped in a script to create many qctools files during the preservation process.

qcli can be installed via homebrew with:

brew install qcli

a/v artifact atlas

In conjunction with using QCTools, consider using the A/V Artifacts Atlas to gain further clarification and appropriate descriptive terminology for any anomalies or errors you might encounter in your video content. Users are invited to contribute unidentified errors they come across to the atlas.


Please read our contributing guidelines in this dedicated document. QCTools is released with a Contributor Code of Conduct, and by participating in this project, you agree to abide by its terms.


QCTools deliverable is licensed under a GPLv3 License. QCTools GUI part and FFmpeg statistics filter are licensed under the 3-Clause BSD license. This software uses libraries from the FFmpeg project under the GPLv3, Qt and Qwt libraries under the LGPLv2.1, OpenJPEG library under the 2-Clause BSD license. See our License page for more details.


Quality Control Tools for Video Preservation



Code of conduct





No packages published


  • C++ 93.2%
  • QMake 2.2%
  • Shell 1.7%
  • HTML 0.7%
  • NSIS 0.7%
  • Batchfile 0.6%
  • Other 0.9%