diff --git a/index.html b/index.html index 8bae9ae..50b11bb 100644 --- a/index.html +++ b/index.html @@ -1997,6 +1997,40 @@ + + + +
+
Get individual checksums for all video/audio streams ("Streamhash")
+

ffmpeg -i input_file -map 0 -f streamhash -hash md5 - -v quiet

+

The outcome is very similar to that of "-f hash", except you get one hash + per-stream, instead of one (summary) hash. Another benefit is that you + don't have to know which streams, or how many to expect in the source + file. This is very handy for hashing mixed born-digital material.

+

This script will perform a fixity check on all audio and video streams in + the file and return one hashcode for each one. This is useful for e.g. + be able to change to container/codec format later on and validate it + matches the original source.

+

The output is formatted for easily processing it further in any kind of + programming/scripting language.

+
+
ffmpeg
starts the command
+
-i input_file
path, name and extension of the input file
+
-map 0
map ALL streams from input file to output. If you omit this, ffmpeg chooses only the first "best" (*) stream: 1 for audio, 1 for video (not all streams).
+
-f streamhash -hash md5
produce a checksum hash per-stream, and set the hash algorithm to md5. See the official documentation on streamhash for other algorithms and more details.
+
-
FFmpeg syntax requires a specified output, and - is just a place holder. No file is actually created. Choose an output filename to write the hashcode lines into a textfile.
+
-v quiet
(Optional) Disables FFmpeg's processing output. With this option it's easier to see the text output of the hashes.
+
+

The output looks like this, for example (1 video, 2 audio streams): + + 0,v,MD5=89bed8031048d985b48550b6b4cb171c + 0,a,MD5=36daadb543b63610f63f9dcff11680fb + 1,a,MD5=f21269116a847f887710cfc67ecc3e6e +

+ +
+ +