The QCTools Document is designed to be a self-descriptive metadata document that stores analytical metadata about video and audio frames and may be quickly rendered in QCTools version 0.5 or later. The QCTools Document is an XML expression of FFprobe's XML expression as defined by the ffprobe schema at http://www.ffmpeg.org/schema/ffprobe.xsd. For more information about FFprobe's XML expression please visit: http://www.ffmpeg.org/schema/ffprobe.xsd; for additional information about FFprobe's XML expression: http://ffmpeg.org/ffprobe.html#xml.
In addition to frame metadata, the QCTools Document stores metadata values output from four evaluative filters: signalstats, cropdetect, psnr, and ebur128.
The data format of a QCTools xml export contains two main sections:
QCTools incorporates a set of open-source libraries, developed under the ffmpeg project, that were built to process audiovisual data. This section of the data format calls out the specific libraries referenced by QCTools. They include:
The document is further divided into Frames and Tags per media type.
A frame describes a particular point in the video or audio and has a set of attributes that describe and identify that point (or frame)--including media type, duration, size, position, etc.
A tag contains a key--in this case a reference to the filter name-- and the value for that filter.
The Audio frame element contains descriptive information that identifies a particular frame. The tag attributes include values for the following filters (based on EBU R 128):
Each frame element contains descritpive information that identifies a particular point in the video. The tag attributes present the various QCTools filters and their values for that frame. For example:
<tag = key "lavfi.signalstats.YMIN" value = "15"/>
<tag = key "lavfi.signalstats.YLOW" value = "18"/>
For more info, please see Filter Descriptions.
The QCTools Document can be created in either of the following ways:
Because of the large volume of data contained in a QCTools document, it is necessary to compress the XML file to ensure it is a manageable size. QCTools uses a compression software called gzip to do this (en.wikipedia.org/wiki/Gzip) which accounts for the .gz file extension.
For further information about FFmpeg, EBU audio specifications, etc., please see:
FFmpeg / ffmpeg.org
FFmpeg Documentation / http://ffmpeg.org/documentation.html
EBU 3341, Loudness Metering: 'EBU Mode' metering to supplement loudness normalizqation in accordance with EBU R 128 / https://tech.ebu.ch/docs/tech/tech3341.pdf
EBU R 128, Loudness Normalisation and permitted maximum level of audio signals / https://tech.ebu.ch/docs/r/r128-2014.pdf
GZIP / www.gzip.org