Восстановление удаленных видеофайлов (фрагментированных MOV, MP4, 3GP).

Многие цифровые фотокамеры кроме непосредственно съемки фотографий предлагают опцию записи видео. Если первые попытки реализации этой опции выглядели смехотворными по причине низкого разрешения, низкого качества кодирования, ограничения по времени записи, то уже много лет цифровые фотоаппараты показывают весьма неплохие результаты в любительской видеосъемке, предлагая возможность записи видео высокого разрешения (1920х1080) с хорошим качеством картинки и без ограничений по времени. Один из популярных контейнеров, используемых для записи видео, является MOV (Apple Quicktime, применяемый, например, во многих зеркальных камерах от Canon). Данный контейнер состоит из нескольких секций, таких как видеопоток (mdat), служебные данные к потоку (moov) и прочие вспомогательные секции. Ранее при лимитированном времени записи видео в фото- и видеокамерах, использующих контейнер MOV, был фиксирован размер секции moov, и по мере заполнения этой секции прерывалась запись видеоролика. Очевидно, что такая реализация была неудобной для пользователей, у которых останавливалась запись видео порой в самый неподходящий момент. Производители решили данную проблему посредством записи видеопотока на флэш-накопитель камеры во время съемки, а запись служебных таблиц секции moov в буферную память камеры и по завершении съемки дописывать данную секцию на флэш-накопитель и формировать служебный заголовок данного контейнера. Особенность данной реализации в том, что файл на флэш накопителе изначально получается фрагментированным, так как секция со служебными данными для видеопотока не находится перед виодеопотоком.

Если в таком случае выполнилось случайное форматирование карты памяти или удаление нужных файлов, то классические методы восстановления удаленных файлов либо методы сигнатурного анализа не принесут результатов в силу того, что файлы фрагментированы. Данное утверждение справедливо в случае файловых систем FAT16, FAT32.

Для восстановления фрагментированных MOV файлов необходимо произвести анализ на предмет наличия mdat сигнатур, определить размер секции, определить ее непрерывность. Произвести аналогичные поиски moov секций и служебных заголовков контейнера. Далее выполнить анализ на предмет соответствия moov и mdat и произвести корректное объединение секций с правильными смещениями относительно служебного заголовка контейнера.

 

 

Павел Янчарский

 

Перепечатка материалов разрешена только с указанием активной ссылки на оригинал статьи

Поделиться
|