videobeaux

Logo

The friendly multilateral video toolkit built for artists by artists.

View the Project on GitHub schwwaaa/videobeaux

hash_fingerprint

:contentReference[oaicite:0]{index=0}

Description

Creates unique fingerprints of video files using checksums, perceptual hashing, or frame-level hashing.
Useful for deduplication, archival identification, similarity matching, and database cataloging.

Purpose

hash_fingerprint allows Videobeaux users to generate machine-identifiable signatures from media files.
This supports:

How It Works

  1. File System Scanning
    • recursive allows walking entire folder trees.
    • exts restricts scanning to specific file types.
  2. Hash Types
    The tool can generate several forms of fingerprints:
    • file_hashes → whole-file digests (MD5, SHA1, etc.)
    • stream_hash → stream-level checksums from container metadata
    • framemd5 → per-frame MD5s for high-precision comparison
    • phash → perceptual hash used for similarity matching rather than byte-exact comparison
  3. Perceptual Hashing Controls
    • phash_fps determines how many frames per second are sampled.
    • phash_size sets the resolution of the perceptual hash grid.
  4. Catalog Output
    A fingerprint catalog can be generated for long-term storage, search systems, or dataset builds.
  5. Stream Selection
    stream_kind allows selecting video/audio/subtitle streams depending on the hashing method.

Program Template

videobeaux -P hash_fingerprint \
  -i input.mp4 \
  -o output.mp4 \
  --recursive VALUE \
  --exts VALUE \
  --file_hashes VALUE \
  --stream_hash VALUE \
  --framemd5 VALUE \
  --phash VALUE \
  --phash_fps VALUE \
  --phash_size VALUE \
  --catalog VALUE \
  --stream_kind VALUE

Arguments

Real World Example

videobeaux -P hash_fingerprint \
  -i myvideo.mp4 \
  -o hash_fingerprint_styled.mp4 \
  --recursive false \
  --exts mp4,mov \
  --file_hashes true \
  --stream_hash true \
  --framemd5 false \
  --phash true \
  --phash_fps 1 \
  --phash_size 32 \
  --catalog true \
  --stream_kind v

Technical Notes

Quality Tips