Sometimes you want to verify the integrity of your video material when dealing with lossless codecs.
The only way to be sure that not a single bit of visual information is lost, is by decoding each frame into an uncompressed image and verify that.
[SOLUTION]
Using ffmpeg:
Code: Select all
ffmpeg -i video.avi -f framemd5 video.avi.framemd5
The suffix ".framemd5" is chosen arbitrarily to somewhat identify framemd5 files. The resulting framemd5-file is actually a plain text file.
ffmpeg also offers additional checksum abilities, like:
NOTE:framecrc
md5
crc
The frame-checksum feature of ffmpeg also generates checksums for the audio "frames". As they are not necessarily sample-wise aligned the same way in a remuxed/transcoded file, it might be a good idea to disable the audio stream for image-checksum comparisons:
Code: Select all
ffmpeg -i video.avi -an -f framemd5 video.avi.framemd5
Using mplayer:
Code: Select all
mplayer -vo md5sum -o video.avi.framemd5 video.avi
Warning: By default, mplayer seems to convert the colorspace to YV12 4:2:0