1

Is is possible to take a digital signature of an mp4 video? Is there a canonical way to do this, similar to how we use hashes to verify text file contents? thanks

EDIT: I want a way to digitally version videos uploaded to vimeo so that I can then refer to that specific video in documentation. I need it to be a "self-referencing" signature, not the vimeo url. Something in the meta data of the mp4? (this is for legal compliance reasons, so needs to be infallible rather than just saying "such-and-such url")

Zuriar
  • 11,096
  • 20
  • 57
  • 92

2 Answers2

0

There doesn't exist a canonical way to do this (to the best of my knowledge), but you have some options.

The first, is to assign an identifier to the material you are using (the standard for that is the UMID) which is basically a 256-bit number, and is supported by most video editing software.

The other option that you can try is to simply do a hash of metadata reported by a utility (for example ffprobe.exe) which will give you a signature that's fast to calculate.

But, consider that fingerprinting video is not easy, as you can have the same content (video and audio) wrapped in a different container (i.e. mkv, mp4, avi, mxf). You can also have the same content encoded using a different codec. More so, you can have a file with the same container and codec but different stream's order.

Pablo Montilla
  • 2,941
  • 1
  • 31
  • 35
  • On the other hand, why not use the perfectly legal URIs that vimeo is giving you? They are unique, and you want to use this to refer to them so... – Pablo Montilla Sep 01 '15 at 14:22
  • many thanks for your answer. We can't use the vimeo URL's for legal reasons we don't own them so there is (technically) the possibility that they are not immutable. If we need to refer to the video in court we need to be 100% certain we are referring to the same video which was handed over. – Zuriar Sep 01 '15 at 15:33
  • To be 100% sure you'll need a cryptographic hash, which are sensible to bit variations so you have a conundrum. You can probably get a probabilistic algorithm that fingerprints video, but that won't be 100% sure. See if http://www.phash.org/ solves you problem. – Pablo Montilla Sep 01 '15 at 15:53
0

How about digital video fingerprinting? There is open source implementation pHash, unfortunately, last commit is from around 2013.

DJ83
  • 67
  • 3