Ещё одна история по восстановлению данных с видеорегистратора

Из Казани обратился с вопросом заказчик:

Диск был в регистраторе, который записывал видеонаблюдение, его вытащили из рекордера два года назад. Сейчас необходимо получить видео которое было записано последние несколько дней! Проблема в том, что оно кодированное.

На мой резонный ответ:

Что вы имеете в виду под этим, мягко говоря странным, утверждением? Вы вообще в курсе, что цифровое видео не может быть не кодированным? Чаще всего кодируют MPEG1\2, DIVX, XVID и т.п. И что с того?

Последовал ответ:

Ребята которые пытались извлечь из него видео сказали что необходим номер записывающего устройства, файлы извлечь получилось а открыть их не удаётся.

Ну, если в дело вступили такие "грамотные" ребята, которые "восстановили видео, а оно не воспроизводится" и пронесли ахинею про "номер записывающего устр-ва", то всё понятно. Как обычно - ищем исполнителей где поближе. Что позволяет брать за работу после местных "мастеров" существенно больше, чем если бы сразу обратились к нам.

Местные "специалисты" вставляли диск в другой регистратор, такой же модели, в результате чего на диске прописалось примерно 18 гигабайт мусором без заголовков и т.п. Получив сам диск и оплату работ по анализу, приступили к исследованиям.

Первым делом проводится визуальный просмотр дампа в шестнадцатеричном редакторе, что позволяет обнаружить некоторые закономерности, как например в таком случае:

Анализ данных с видеорегистратора

Здесь видны чередующиеся области, заполненные однородным паттерном, который является показателем смены кадра. Каждый кадр запакован кодеком, и описан заголовком, в котором содержится дата, номер камеры, параметры сжатия, разрешение экрана и проч. параметры видео.

Определив границы кадра (начало и конец), нужно найти начало фрейма. Фрейм это по сути последовательность кадров, начинающаяся с первого, и если взять и поставить первым кадром в поток кадр, таковым не являющийся,  то видеопоток не будет воспроизводиться. Аналог ситуации - многотомный архив, где для распаковки нужен первый том, потом второй и так до последнего. Так и тут: без начального кадра во фрейме видео не будет распаковываться кодеком. Отыскать 0-й кадр не просто, для этого надо провести аналитическое исследование заголовков. Для этого мы вырезали все заголовки, и после того, как их представить в виде вертикальной строки становится несложно увидеть изменения и вычленить закономерности.

После этого можно вырезать один воспроизводящийся штатным видеоплеером Windows фрейм, длительностью примерно 8-15 секунд. Уже немало!

На втором этапе работ нужно определить маркер относящий фрейм к той или иной камере, все фреймы принадлежащие одной камере сложить вместе, и рассортировать. Тут был впервые забракован мега-инструмент WinHEX! Действительно мощнейшая программа, очень удобная для целого спектра работ, в том числе и в области data recovery, оказалось, не имеет достаточно гибкого и мощного скриптового языка, удовлетворяющего поставленной задаче. Непродолжительные поиски привели к использованию такой программы, как 010 Editor.

Несколько часов экспериментов с кодом, и был написан скрипт, который по заданной сигнатуре находит нужный заголовок, определяет что найдено - первый фрейм новой камеры, либо фрейм текущей, ранее найденной камеры, либо это хвост предыдущего фрейма, т.е. набор кадров. В 1-м случае создаем новый файл в который выгружается видео, относящееся к новой найденной камере, во втором случае дописываем найденный фрейм к ранее обнаруженной, текущей камере, а в третьем пропускаем результат.

Скрипт для восстановления данных с видеорегистратора

В первой редакции нарезка была по минимальной единице записи рекордера. Но быстро выяснилось, что скрипт нуждается в серьёзной доработке, поскольку расчётный процесс занимал непозволительно долгое время, прогноз прохода скрипта за неделю - всего 15% от объема диска и в результате получалось 100500 мильёнов файлов! Была проведена модификация скрипта, и если в первой редакции в ОЗУ загружалась строка (8 байт), то в последующей в ОЗУ загружалось 64Kb что существенно уменьшило количество операций ввода-вывода и обращений к диску и позволило ускорить процесс на порядки, а для сохранения формировался файл в рамках видеофрагмента относящегося к одной камере, до момента её смены на другую.

Профессиональное восстановление видео с регистраторов всех моделей

Даташтамп к сожалению вычленить из заголовка не удалось, поэтому пришлось выгрузить всё видео по всем камерам, и искать нужное время методом визуального определения видео контента, так как на экране при воспроизведении выводится информации о времени и дате. Благо что запись на регистраторе ведётся циклически-линейно, и найти нужную дату после того, как всё видео было заботливо нарезано, отсортировано по камерам и выгружено, - дело буквально пяти минут.

Оставить комментарий

Читать комментарии к статье

Оставить комментарий:

Текст на изображении: Дайте понять, что вы не спамер Если вам не понятен текст на изображении обновите страницу, нажав F5

Алексей
Работу которую провели сотрудники компании колоссальна и дает большие надежды на восстановление справедливости.Благодаря таким умам все тайное становиться явным.По началу думал что это не реально,так как прошло более 1000 дней как этот диск извлекли и где его только не носило.Ребята молодцы! Рекомендую вашу компанию при случае. Большое вам спасибо.

Заметки схожей тематики:

Восстановление видео данных с видеорекордера

Восстановление видео информации с видеорегистратора

Восстановление информации с видеорегистратора после сбоя