QCTools helps users analyze and understand their digitized video files through use of audiovisual analytics and filtering">
Visit https://bavc.org or QCTools on Github and download QCTools for your operating system (currently Windows, Mac OS X, and many Linux-based operating systems are supported). New releases of QCTools will be periodically available at BAVC. We encourage any issues, bugs, or ideas for QCTools to be submitted via our issue tracker.
QCTools provides a Preferences window to configure settings for running QCTools.
QCTool’s analysis methods depend on filters from FFmpeg’s libavfilter library. The “Filters” tab allows filters to be enabled or disabled. Currently this includes:
|filter name||track type||application in QCTools|
|cropdetect||video||The cropdetect filter is used to determine how many columns and rows of nearly-black pixels border the visual image of the frame. The filter can detect changes in framing, letterboxing, pillarboxing, and adjustments to the aperture of the image.|
|PSNR||video||The PSNR filter is used in QCTools specifically to generate a comparison between the two fields of the frame. The resulting data documents how different the fields are (which can find head-clogs or other videotape playback errors).|
|SSIM||video||The SSIM filter is used in QCTools specifically to generate a comparison between the two fields of the frame. The resulting data documents how different the fields are (which can find head-clogs or other videotape playback errors). It is similar to PSNR but usually a different visual comparison algorithm.|
|aphasemeter||audio||The audio phase value represents the mean phase of current audio frame. Value is in range [-1, 1]. The -1 means left and right channels are completely out of phase and 1 means channels are in phase.|
|EBU R.128||audio||The EBU R.128 filter provides data on the perceived loudness of audio volume.|
Enabling all filters naturally provides more data, but results in a slower analysis and larger files. The EBU R.128 values represent perceived volume whereas the
astats filters include metrics on actual volume (so the use of EBU R128 may not be considered essential if
astats is in use). Additionally
SSIM both cover similar metrics by quantifying the difference between the two fields of the frame (the image of the odd-numbered lines vs the image of the even-numbered lines);
SSIM is recommended.
The ‘Tracks’ Preference pane allows the user to set if they would like to analyze only the first track or all tracks of video and audio. Setting QCTools to analyze only the first track will result in a faster analyze but the other tracks would be ignored.
QCTools now offers SignalServer integration, allowing users to automatically or manually upload QCTools Reports as they are created by the application. Detailed SignalServer installation instructions can be found here. Installation will vary based upon your specific technical infrastructure. Though designed for a Linux server environment, SignalServer can be installed on a local computer via Docker.
Once SignalServer has been installed and an account on the server has been created, you’ll need to connect it to QCTools. Under the SignalServer tab, fill in the following: the unique URL of your SignalServer instance, your username, and your password.
QCTools can currently accommodate several video file types including QuickTime, MXF, AVI, Matroska, MP4, and many other audiovisual file formats. Once the QCTools application is open you may identify selected video files for QCTools analysis in three ways:
As files are opened QCTools will begin immediately processing them. This involves creating thumbnails, decoding audiovisual data, and analyzing that data through FFmpeg’s signalstats filter.
By clicking the graph checkboxes you can select particular audiovisual metrics that you wish to analyze and display. You may make these selections before uploading your video or at any time after the QCTools analysis has been done and the graph display will update dynamically. The checkboxes that enable/disable the graphs can also be dragged/dropped left or right which will reorder the presentation of the graphs accordingly. As a default, ‘Y values’, ‘U values’, ‘V values’, ‘Diffs’, and ‘Sat’ (saturation) are selected. To begin, you may also want to select the Temporal Outliers (tout) Graph Filter. This will detect any large discrepancies between pixels and can provide an initial, high-level overview of potential errors.
For descriptions of each Filter and how to read graph values, please see the Help Section, denoted by the ‘?’ icon in the toolbox portion of the application.
Graphs display on the top portion of the screen, corresponding video thumbnails show below. The video frames may be navigated via the next, previous, or playback buttons; the frame and time for the particular selection will be displayed. Clicking and dragging your cursor over a portion of the graph will cause the thumbnails below to update accordingly. You may also double click a specific thumbnail and the playback window will appear displaying the image and with a variety of analytical playback filters.
Scrubbing your cursor over a particular point on a graph will reveal the corresponding thumbnails in the thumbnail bar along with the frame number and the timestamp of the particular place in the video you have navigated to.
You may also use the ‘+’ and ‘-‘ icons in the tool box section of the application to zoom in/out, giving you a more or less detailed view of the graph displays, over a specific timespan of the uploaded video.
You can also ‘play’ the window within the graph view. When playing the graph’s cursor which shows the currently selected frame will scroll to the right while the corresponding thumbnails update in the thumbnail bar below.
Some helpful keyboard shortcuts you may want to use are:
By clicking on a thumbnail, you can open the preview window. The preview window serves as a playback environment that allows spot checking and manual video analysis. The preview window contains two playback windows that can be set to various selections; the filters allow the video to be processed in one of many ways which may help make particular issues more discernible. See the Playback Filters page for more details on these playback filters.
When playing back a media file please note that QCTools will only render the video. The audio may be visualized in one of the Audio Playback Filters but the audio will not be presently aurally.
Under situations where QCTools is not able to play back the video in real-time (for instance because the video is very large or the processing power available is not sufficient), there are options under the “View” toolbar menu to determine how playback should be prioritized under limited resources. Selecting “View>Play All Frames” will slow down the presentation of the video such that every frame can be displayed so that no frames are missed. By selecting “View>Play at Frame Rate” frames will be dropped during playback, if needed, in order to sustain the file’s playback frame rate.
When an analysis (which may be time consuming, depending on the length of the file) is complete the analysis data may then be exported to a compressed XML file for future use. At a later point, the video may be reviewed again simply by opening the XML file–using the Import menu, or dragging and dropping the XML into QCTools–instead of having to reload/ reanalyze the video file itself; this process will take considerably less time. Additionally, this file may be opened in other environments such as standard spreadsheet or database applications. QCTools also can export analytical metadata per frame in a CSV document but the compressed XML report is recommended since it can be reloaded into QCTools. Please see ‘Data Format’ tab for more information on the XML file compression and resulting file. To Export:
Both options will prompt you to name your file and select a select a location. To Import:
This view displays the filename, graph selections, X-Axis value selector, and the frame navigator buttons.
Descriptions of a graphs are reveals as tooltips when hovering your cursor over the graph checkboxes:
The Table View enables you to view the progress of your file download, plus associated metadata:
In addition to technical metadata about the file (duration, frame rate, file size, etc.) the List View also displays more detailed statistics:
|Yav||The average of the Y values|
|Yrang||The average of the YHIGH and YLOW values, which indicates the overall range of contrast|
|Uav||The average of the U values|
|Vav||The average of the V values|
|TOUTav||The average of the TOUT values|
|SATb||The number of frames where the maximum saturation is over 88.7, which would indicate levels outside of the broadcast range|
|SATi||The number of frames where the maximum saturation is over 118.2, which would indicate levels outside the legal YUV values|
|BRNGav||The percentage of frames with a BRNG value of more than zero|
|BRNGc||The number of frames with a BRNG value greater than zero|
|MSEfY||The number of frames with an MSEfY value over 1000|
Many playback filters will use contextual options to tweak them, please review the Playback Filters section of the help documentation for more details.