Ответы:
Я бы сказал, вы не можете знать наверняка.
Посмотрите на формат файла AVI :
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
AVI (который , в сущности, RIFF файл) содержит нескольких кусков.
hdr
)movi
)idx
)Данные фильма должны быть найдены там, где написано RAW DATA
(под movi
куском). Данные индекса не являются обязательными, но их можно использовать, чтобы указать, где найти какую часть видео. Это позволяет искать в видео.
Теперь предположим, что вы вырезали части из файла AVI с полным индексом. Затем вы наблюдаете этот файл. Есть три варианта:
Файл имеет правильно построенный индексный блок : это означает, что файл не поврежден, и вы не можете сказать, был ли он вырезан вообще. Его нельзя отличить от исходного файла (за исключением размера файла).
В файле вообще нет фрагмента индекса : это был бы намек на то, что файл был каким-то образом отредактирован, но редактору не удалось записать индекс. Это не доказательство того, что файл был отредактирован, но очень сильный намек. Чтобы получить «полный» файл, вам нужно будет переиндексировать его и сгенерировать индексный блок.
Файл имеет поврежденный индексный блок : это означает, что кто-то вручную отредактировал файл, либо обрезал байты с конца, либо испортил его любым другим способом.
Теперь остается только один вопрос: как узнать, есть ли индексный блок? Я не могу попробовать, может быть, AviFiXP имеет возможность проверить это. Также есть DivFix ++, который может проверять наличие ошибок.
Подводя итог, вы не можете сказать это, просто посмотрев файл. Сломанный или отсутствующий индекс может быть подсказкой, но не полным доказательством.