dcp_inspect is a tool for deep inspection and validation of digital cinema packages (DCP, SMPTE and Interop). This includes integrity checks, asset inspection, schema validation, signature and certificate verification and composition summarization. Basically anyone who needs to establish the validity of a digital cinema package can put dcp_inspect to good use.
See the Examples page for some of the things it can do. Also see How to use Digital Cinema Tools' section for dcp_inspect.
dcp_inspect --help
dcp_inspect <path>
dcp_inspect <path> --no-hash
dcp_inspect <path> --as-asset-store --hash-limit <limit> --logfile <path>
See Digital Cinema Tools Distribution for an easy-to-use Setup script. This will install everything required.
-
Will find and check all DCPs in a filesystem tree
-
Handles both Interop and SMPTE DCPs (and says useful things about free poetry DCPs, too)
-
Checks asset integrity
-
Checks timeline integrity of compositions
-
Checks applicable assets against XSD (XML Schema Definitions)
-
Checks and verifies signatures
-
Deep-inspects compositions
This includes timeline integrity, composition type consistency and completeness checks.
-
Deep-inspects DCSubtitle
-
Checks a composition's naming and cross-checks with metadata and asset properties
-
Reports in detail all errors encountered
See Examples.
See Digital Cinema Tools Distribution for an easy-to-use Setup script. This will install everything required (batteries included). Run the setup occasionally to keep up-to-date.
If you prefer manual installation (you kind of don't) you will need the following:
-
Ruby (1.9.3 series. The 1.8 series is not supported)
-
Nokogiri, a ruby wrapper for libxml2
For signature verification dcp_inspect requires a recent Nokogiri version with C14N support.
-
dcp_inspect requires xsd/ next to it.
Clone the whole repository to put everything in place:
$ git clone git://github.com/wolfgangw/backports.git
Run
$ git pull
in backports to keep up-to-date.
- Deep inspection of SMPTE timed text trackfiles
- Assetmap options chunks, offsets, volume indices
- Marker lists
- Check Signer.X509IssuerSerial issuer name
Thanks to Julik for his Timecode library (https://github.com/guerilla-di/timecode).
Runs on linux and Mac OS boxes.
Wolfgang Woehl 2011-2014