I need a python class for basic video fingerprinting with the following functions: - Generate Fingerprint from input video, video frame (as image) - Match Fingerprints The following fingerprints need to be matched: - Same content - A video content is subset of B video content - Video frame (as image) A is part of video B The matching needs to be able to cover the following problems: - different encoding qualities - different resolutions and ratios (for video and video frame) - single-colored borders (for video and video frame) - differences in saturation or brightness The project must run under Linux with Python 2 and allow input in usual encoding formats, not just uncompressed video. Parts of the code itself should use c libraries for better performance but being called by a wrapper in the python class. The code needs to be compatible with multiprocessing.