Возникла необходимость восстановить информацию c жесткого диска в 8 канальном видео регистраторе Dahua DVR0804LE - народ не очень корректно произвел перезапуск. Ну в общем железяка начала писать заново, напрочь забыв предыдущую жизнь. Вовремя хватились запись прекратить так как сообразили, пишется поверху. С подобными зверьками да и вообще с цифровым потоковым видео ранее дел не имел. В итоге десятка потраченных вечеров позволили разобраться с творением китайских товарищей и в общем разобраться с структурой записи, а наличие минимальных знаний о Qt дали возможность написать программу которая позволила из предварительно нарезанной в файлы информации с исходного диска вытаскивать видеоролики формата dav, с заданных камер и за заданный период. Ниже скрин работы одной из версий программы :
Сейчас дорабатываю возможность выявления всевозможных артефактов, так как в отличие от тестовой записи в реале существуют накладки записей с нескольких камер ведь пишется повторно поверх предыдущих записей со сдвигом.
14/04/2014 Внес изменения в работу программы - ввел дополнительные фильтры, теперь можно выбирать нужные камеры для обработки, а также ввел режим "автомат" - программа сама обрабатывает все файлы нарезки исходного диска.
Также выкладываю переписку, которая происходила у меня на начальном периоде работы. Видно как у меня менялось видение предмета моих изысканий, от полного непонимания до решения задачи:
|
Valeriy <XXXXXX@gmail.com>
|
Valeriy <XXXXXX@gmail.com>
|
29 января 2014 г., 23:58
|
|
Доброго дня прошу извинения за письмо.
Просьба подсказать если знаешь и эт не противоречит внутреннему
коду: как определить физическое начало потока на диске регистратора.
регистратор Dahua DVR0804LE-A, winhex показывает - физически диск
начинается с байтов : DHFS4.1. в винде и линухе диск логически не виден. понимаю нужно определить начало ключевых файлов.
мне нужно вытянуть буквально несколько фрагментов. к сожалению
сам регистратор определяет нулевое время записи. но она как суслик там есть.
Заранее благодарен и еще раз мои извинения.
Валерий :)
|
|
Борис <XXXXXX@mail.ru>
|
4 февраля 2014 г., 15:34
|
Ответить: Борис <XXXXXX@mail.ru>
Кому: Valeriy <XXXXXX@gmail.com>
|
Ну давай попробуем разобраться. Вначале скажи: в какой именно контейнер пишет твой регистратор? И каким кодеком сжимает?
|
|
Valeriy <XXXXXX@gmail.com>
|
4 февраля 2014 г., 19:27
|
|
Доброго дня , спасибо, что нашли возможность написать, к сожалению вопросов гораздо больше чем ответов. Весь мой опыт восстановления связан с инфой с ПК под ОС и в общем с известной файловой системой. Здесь система я думаю DHFS4.1, и под Виндой и под Линуксом диск определяется как не имеющий системы. На буржуйском сайте нашел прогу для криминалистики она делает заверенную копию диска нарезанную на файлы заказанной длины по умолчанию 1,5Гб я нарезал все свои 250Гб по 2. проблема еще и в том, что до начала эксплуатации в регистраторе диск с ос под XP стоял на бух. машине, в результате много токсичного трафика то есть видео писалось поверх всякого мусора. Но некая система просматривается, например присутствует чтот типа контейнеров присутствуют заголовки:
dhav , затем четыре байта, DHAV, далее бло переменной длины дельта в сотни раз затем все повторяется. Сейчас подготовил диск полностью его очистил , проверил сплошной массив 00, хочу поставить минут на 10 в регистратор и снова сделать анализ, других идей пока нет. Если интересно один 2гиговый фрагмент могу выставить в облако и дать ссылку. Еще раз спасибо за возможность общения. С уважением Валерий.
|
|
Valeriy <XXXXXX@gmail.com>
|
4 февраля 2014 г., 21:13
|
|
Борис здравствуйте, продолжу с вашего позволения.
Теперь по существу вопросов:1 в какой контейнер пишет регистратор?
Так как мы имеем регистратор производителя "DAHUA" то порыскав по их ресурсам :http://dahuasecurity.com.ua/ официальный в Украине, http://www.dahuasecurity.com/ базовый и т.д. выясняем: система контейнера закрыта, но из текстов на сайтах похоже на h.264. общая инфа о нем: "h.264 - революция в мире кодирования видео, де факто созданная по заказу ВС США ещё первого десятилетия XXI века. Также иногда именуется "MPEG-4 Part 10" или просто "AVC". Из-за фантастического преимущества в качестве изображения относительно размера файла над кодеками семейства MPEG4, h.264 быстро распространился везде, где смог."... Моя попытка найти демо ролик c h.264 окончилась фиаско - просторы Интернета мне не помогли...
А кодеков в общем предложений множество, я выбрал тот что предлагает для загрузок производитель но его проигрыватель когда я ему подсовываю копии файлов с диска не видит на них ничего, и кричит что записи отсутствуют, а когда даю ему захавать исходный диск - об отсутствии записей помалкивает, но и самих записей не находит.
пока все с уважением Валерий
|
|
Борис <XXXXXX@mail.ru>
|
5 февраля 2014 г., 10:20
|
Ответить: Борис <XXXXXX@mail.ru>
Кому: Valeriy <XXXXXX@gmail.com>
|
Я всё-таки не понял главного: смог ли ты просто скопировать файл видеозаписи на винчестер компьютера? Если смог, то в чём проблема? Есть программа Mediainfo, она выдаст кодек, а контейнер -- это просто расширение файла видеозаписи.
|
|
Valeriy <XXXXXX@gmail.com>
|
5 февраля 2014 г., 11:52
|
Кому: Борис <XXXXXX@mail.ru>
|
Борис
доброго дня , фокус в том что изначально файла как такового нет, есть физический диск на который регистратор пишет данные, эти данные при нормальных условиях сам регистратор и читает, может также делать снимки и резервные копии например на флэш, он также показывает за какой период на нем есть записи. НО В МОЕМ СЛУЧАЕ - по неизвестным причинам регистратор не видит записей на диске. Просматривая на физическом уровне данные на носителе я вижу, что информация там присутствует, предполагаю разработчик использовал файловый контейнер в котором обычно служебная инфа о контенте токая какой размер изображения где расположена дата время хранится в начале диска и по каким то причинам повреждена. Я пере сохранил физические данные с исходного диска с гарантированной точностью в файлы по 2 Гб на другом диске и пытаюсь с ними работать так как это гораздо удобней чем с цельным физическим массивом в 250 гектаров весом. ... :((
5 февраля 2014 г., 10:20 пользователь Борис Петров <nefezida83@mail.ru> написал:
Я всё-таки не понял главного: смог ли ты просто скопировать файл видеозаписи на винчестер компьютера? Если смог, то в чём проблема? Есть программа Mediainfo, она выдаст кодек, а контейнер -- это просто расширение файла видеозаписи.
|
|
Борис <XXXXXX@mail.ru>
|
5 февраля 2014 г., 18:33
|
Ответить: Борис <XXXXXX@mail.ru>
Кому: Valeriy <XXXXX@gmail.com>
|
Вот это уже интересно. Что представляет из себя диск? Это обычный DVD4,5 Гб, или что-то другое?
|
|
Valeriy <XXXXXX@gmail.com>
|
5 февраля 2014 г., 18:56
|
Кому: Борис <XXXXXX@mail.ru>
|
Да все проще - данный регистратор представляет коробку формата стандартного DVD та модель с которой я борюсь яляимеет 16 видио входов , аудио вход входы для подключения USB, LAN.
внутри контроллер с ЦПУ ОС под linux, выход на монитор, и SATA HDD тот который стоял имел размерность 250Гб
Контроллер остался в работе с новым диском уже на 1,5Тб, а мне осталось разбираться с этими 250.
Сегодня ездил на объект подставлял HDD на 160Гб сделал запись минут 7-8 сейчас пойду попробую посмотреть что получилось...
С уважением Валерий
5 февраля 2014 г., 18:33 пользователь Борис <XXXXXX@mail.ru> написал:
Вот это уже интересно. Что представляет из себя диск? Это обычный DVD4,5 Гб, или что-то другое?
|
|
Борис <XXXXXX@mail.ru>
|
6 февраля 2014 г., 20:40
|
Ответить: Борис <XXXXXX@mail.ru>
Кому: Valeriy <XXXXXX@gmail.com>
|
Да, Валерий, дело проясняется. В том плане, что помочь я тебе не смогу. Здесь нужен специалист по видеорегистрационному железу, а я таким не являюсь. В той статье, где я писал про файл с видеорегистратора, уже был на винте файл, его нужно было лишь привести в просматриваемый вид.
Но одна идейка есть. Попробуй отключить режим SATA. Может помочь.
|
|
Valeriy <XXXXXX@gmail.com>
|
6 февраля 2014 г., 21:41
|
Кому: Борис <XXXXXX@mail.ru>
|
Борис приветствую, вчерашний вечер мне принес много интересного. Как я уже писал я поставил на регистратор заранее подготовленный до байта обнуленный диск в прямом смысле только нули во всех областях. и сделал контрольную запись с восьми камер в течении 10 минут. подключил диск к ПК запустил программу от Dahua Vechicle DVR HDD manader она сразу нашла записи на диске и выдала список видео файлов длительностью от 1 тин до 4, с первых четырех камер :( , за весь период записи. C помощью одной из опций этой программы можно перегонять эти файлы в файлы формата DAV c последующим просмотром через плеер от dahua он в свою очередь уже может перекодировать в обычный AVI. Проблем при этом меньше не стало. Но вся сложность в том, что записи в регистраторах должны удовлетворять требованиям защиты от изменений и это правильно ведь если кому не лень например сможет менять блоки местами или там менять даты кому такой регистратор нужен. ТАК ВОТ на жестком диске структура как я ее вижу такова: с первого байта на диске с адреса 0000000... слово DHFS4.1 , затем до адреса 17420 идут 00 , с адреса 17424 по 17597 блок служебной информации оригинальный для каждого диска, где среди прочего контрольная сумма диска и ключ дешифратора,адрес начала размещения контейнеров затем в моем случае с адреса 140 771 328 начинаются блоки контейнеров в следующем формате:
метка начала блока DHAV затем инфо. блок переменной длины метка окончания контейнера dhav далее четыре байта предполагаю контрольная сумма блока и опять метка DHAV повторение в цикле до конца. В итоге я наигрался (насмотрелся) и первый же мой эксперимент по замене байт в контрольном блоке привел к тому , что сработала защита и я потерял доступ к видео информации на диске, все попытки вернуться к исходу к успеху не привели. Похоже мне удалось :(( активировать защиту. на днях планирую повторную запись и впредь буду более осторожен. В пристежке фото которые позволяет делать программа, кстати название файла оригинальное, в таком же примерно формате прога именует и видео файлы.
С уважением Валерий
6 февраля 2014 г., 20:40 пользователь Борис <XXXXXX@mail.ru> написал:
Да, Валерий, дело проясняется. В том плане, что помочь я тебе не смогу. Здесь нужен специалист по видеорегистрационному железу, а я таким не являюсь. В той статье, где я писал про файл с видеорегистратора, уже был на винте файл, его нужно было лишь привести в просматриваемый вид.
Но одна идейка есть. Попробуй отключить режим SATA. Может помочь.
|
|
Valeriy <XXXXXX@gmail.com>
|
6 апреля 2014 г., 16:54
|
Кому: Борис <XXXXXX@mail.ru>
|
Борис доброго дня, так как Вы были единственным и терпеливым слушателем моего технического бреда, спешу сообщить, я полностью решил задачу разобрался с алгоритмом и структурой записи. И в результате написал прогу на Qt которая перелапачивает подсунутый ей файл и выбирает из него видеоролики все, или при желании с нужной камеры и за нужные дни. :))
|
|
dav1.PNG
33K
|
|
|
|
|