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