Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an AVI video and need to know if someone has cut some parts from it in the past.

Is there any software that can help do such a check?

share|improve this question

1 Answer 1

I'd say, you can't know for sure.

Take a look at the AVI file format:

RIFF                RIFF HEADER
|-AVI               AVI CHUNK  
  |-hdrl            MAIN AVI HEADER
  | |-avih          AVI HEADER
  | |-strl          STREAM LIST[One per stream]
  | | |-strh            STREAM HEADER[Requiered after above]
  | | |-strf            STREAM FORAMT
  | | |-strd            OPTIONAL -- STREAM DATA
  | | |-strn            OPTIONAL -- STREAM NAME
  |-movi            MOVIE DATA
  | |-rec           RECORD DATA[SEE BELOW]
  |   |-[data subchunks]    RAW DATA[SEE BELOW]
  |-idx1            AVI INDEX
    |-[index data]      DATA

An AVI (which is in essence a RIFF file) contains of multiple chunks.

  • The header (hdr)
  • The video (movi)
  • The index (idx)

The movie data is to be found where it says RAW DATA (under the movi chunk). The index data is entirely optional, but it can be used to specify where to find which part of the video. This allows seeking in the video.

Now, suppose you cut parts from an AVI file with a full index. Then you observe this file. There are three possibilities:

  1. The file has a correctly built index chunk: This would mean the file is intact and you can not say if it was cut at all. It can't be distinguished from the original file (except for the file size).

  2. The file has no index chunk at all: This would be a hint that the file was edited somehow, but the editor failed to write an index. It's not a proof that a file was edited, but a very strong hint. In order to have a "complete" file, you'd need to reindex it and generate the index chunk.

  3. The file has a broken index chunk: This would mean somebody manually edited the file, either chopping off bytes from the end or corrupting it in any other way.

Now the only question left is: How do I know if there's an index chunk? I can't try it out, maybe AviFiXP has an option to verify this. There's also DivFix++ which can check for errors.

To summarize, you can't really tell it from just looking at the file. A broken or missing index might be a hint, but not a full proof.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.