Skip to content

Cum să generezi amprente digitale video cu FFmpeg

DodaTech Updated 2025-01-15 1 min read

In this tutorial, you'll learn about Cum să generezi amprente digitale video cu FFmpeg. We cover key concepts, practical examples, and best practices.

Problema

Pentru arhivare, verificare integritate sau identificare unică, ai nevoie de o amprentă digitală (hash) a conținutului video. Hash-ul de fișier standard nu e suficient pentru că se schimbă la orice re-encoding.

Soluția

Fix 1: Hash video cu ffmpeg (frame-based)

ffmpeg -i input.mp4 -vf "select='eq(n,0)',setpts=PTS-STARTPTS" -f framehash -

Fix 2: Hash MD5 al conținutului

ffmpeg -i input.mp4 -f hash -hash md5 -
# MD5=xxx

Fix 3: Hash pentru întreg fluxul video

ffmpeg -i input.mp4 -map 0:v -f hash -hash sha256 -

Fix 4: Hash per cadru

ffmpeg -i input.mp4 -vf "select='not(mod(n,100))'" -f framehash -hash sha256 -

Fix 5: Compară două videoclipuri cu hash

ffmpeg -i video1.mp4 -f hash -hash md5 -
# 123abc...
ffmpeg -i video2.mp4 -f hash -hash md5 -
# 123abc... (dacă sunt identice)

Prevenție

  • Hash-urile se schimbă la orice re-encoding, chiar și lossless.
  • Pentru identificare conținut (nu fișier), folosește filtrul signature.
  • Pentru integritate arhivă, păstrează hash-ul originalului înainte de encoding.

Întrebări frecvente

### De ce hash-ul se schimbă după re-encoding?

Pentru că hash-ul e calculat pe biții exacti ai fișierului. Orice modificare (header, metadate, cuantizare) produce un hash complet diferit, chiar dacă conținutul e același.

Ce diferență e între hash și signature?

Hash-ul identifica exact fișierul (biți). Semnătura (signature filter) identifică conținutul vizual, fiind robustă la re-encoding și schimbări de container.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro