Video fingerprinting or video hashing are a class of dimension reduction techniques in which a system identifies, extracts, and then summarizes characteristic components of a video as a unique or a set of multiple perceptual hashes, enabling that video to be uniquely identified. This technology has proven to be effective at searching and comparing video files.