recover_mp4

Что надо делать и что нельзя делать если на флэшке / фотике / камере запаролись файлы

1. Не используйте флэшки 64GB, даже если камера (GoPro 3, 4) их якобы поддерживает. Именно на флэшках 64GB часто портятся файлы без каких либо предпосылок. Проблема скорее всего в недоработанной прошивке камеры, но чтобы не рисковать лучше использовать флэшки не более 32GB.

2. Никогда не выдёргивать флэшку и не отключать камеру от USB предварительно не нажав "безопасное извлечение".

3. Перед важной съемкой желательно делать форматирование флэшки средствами камеры. Это также помогает максимально уменьшить фрагментацию файлов и упростить восстановление.

4. Если проблема УЖЕ возникла, нужно максимально быстро запретить любую запись на флэшку. Нужно выключить камеру, отключить от USB. Надо помнить что часто не выключенные камеры / фотики / смартфоны после отключения от USB тут же начинают индексировать флэшку и записывать свои файлы. Этого нельзя допускать.

5. Вынуть флэшку. Если это обычная SD флэшка, то поставить рычажок в положение LOCK.
Если это microSD, то ни в коем случае нельзя вставлять эту флэшку в смартфон, картридер и пр. Windows записывает на флэшку относительно мало, но и этого достаточно чтобы добить данные. Всякие смартфоны на Андроиде или Мак через кардридер тут же создают на флэшке огромное количество скрытых папок и файлов убивая надежду на восстановление данных. microSD нужно вставить в SD адаптер и на адаптере поставить рычажок в положение LOCK. Только после этого можно втыкать в кардридер.

6. Если файлы были случайно удалены, флэшка случайно отформатирована или её внезапно выдернули без "безопасного извлечения", в результате чего флэшка оказалась пустой или неформатированной, можно попытаться использовать программы типа R-Studio, Restorer2000, EasyRecovery, GetDataBack и др. (мне больше нравится Restorer2000Pro) Но шансов получить нормальные файлы очень мало. Как правило из-за фрагментации и потери цепочки фрагментов восстановленные файлы содержат 5% нормальных данных, а дальше просто мусор.

7. Если речь о фотках и полноразмерные фотки получить не получается, то часто можно вытащить превьюшку (thumbnail, уменьшенную фотку), например так:
exiftool -b -ThumbnailImage bad123.jpg > thumb123.jpg
Это лучше чем ничего. Иногда превьюшки бывают с довольно большим разрешением.

8. Если совсем ничего не помогает, можно сделать копию всей флэшки посекторно (например в программе Restorer2000Pro - Create Image) и потом вытаскивать видео/аудио потоки. Чем меньше фрагментация, тем больше шансов получить что-то полезное. Эта программа не анализирует image файлы.

recover_mp4 - это утилита для восстановления нефинализированных MP4 / MOV / 3GP файлов.
Нефинализированный файл может получиться если камера была повреждена во время записи или вынули аккумулятор и т.п. В этом случае заголовок файла просто забит нулями и мы располагаем только секцией mdat.

Речь идет о файлах, нормально читающихся с флэшки, но с испорченным заголовком. Если файл не виден или не копируется, то воспользуйтесь программами типа R-Studio, Restorer2000, EasyRecovery и пр. - это не наш случай.

ВАЖНО! Не знаю как со старыми прошивками, но с новой прошивкой судя по документации камера GoPro умеет сама восстанавливать испорченные файлы. Не переименовывайте и не переносите файлы. Увидев испорченный файл камера должна выдать на дисплей "SoS" и после нажатия любой кнопки сама исправить его.

Если на последнем восстановленом файле отсутствует момент ДТП (последние 5-10 сек), то ещё не всё потеряно!
Просто видеорегистратор не успел обновить FAT из кэша.
Можно восстановить всё видео со всей флэшки вообще игнорируя файловую систему.
Останется только просмотреть всё и найти нужный момент.
Нужно сделать посекторную копию флэшки (имидж). Формат файла .img (ни в коем случае не .iso).
Это можно сделать такими программами как Restorer2000, WinHex и пр.
Если флэшка размером 16GB, то получится файл 16GB.
Файл можно порезать на куски для удобства запаковав его WinRar'ом без сжатия с разбиением например по 2GB. Далее заливайте всё это на какой-нибудь Google Drive, DropBox, Яндекс.Диск, MEGA и пр. (кому что больше нравится) и присылаяте ссылки.

Поддерживаемые видео форматы: AVC/H.264, HEVC/H.265

Поддерживаемые аудио форматы: AAC, ADPCM (Intel), MP3, PCM (LE, BE, float), RAW

При необходимости можно быстро доработать под конкретный случай (свяжитесь со мной). И обратите внимание на кнопочку Donate (Пожертвовать) внизу этой страницы.

Прежде чем написать мне, прочитайте FAQ ниже!

FAQ (частые вопросы - ответы)

Q: При запуске программы на мгновение выскочило какое-то черное окошко и всё скрылось.
A: Попросите Вам помочь какого-нибудь студента, который знает что такое командная строка и как ею пользоваться.

Q: Программа пишет что не может открыть файл.
A: Учимся пользоваться командной строкой. Есть понятие working directory (текущая/рабочая директория/папка). Допустим вы скопировали программу и все нужные файлы в папку c:\recover, тогда после открытия командной строки сначала наберите команду cd c:\recover После этого можно запускать программу и указывать файлы без полного пути, предполагается что файлы находятся в текущей директории. Если имена файлов содержат пробелы, то их надо брать в кавычки, например "my video.mp4".

Q: Программа пишет что не найдена секция "avcC".
A: Эта программа работает только с MP4/MOV/3GP файлами с кодеком AVC / H.264 (MPEG-4 part 10) и HEVC / H.265. Многие телефоны записывают MP4 файлы с кодеком "mp42" (MPEG-4 part 2 ASP). Эта программа НЕ РАБОТАЕТ с такими файлами.

Q: Программа пишет что не найдена секция "mdat" или полученные h264 / aac файлы очень маленькие.
A: Нужно чётко понимать как были испорчены файлы и что вы пытаетесь восстановить! Если запись по каким-то причинам была прервана (выдернули флэшку, села батарейка) и файл НОРМАЛЬНО копируется с флэшки, но не воспроизвоидся, потому что в нём нет заголовка - это наш случай. Если файл нормально воспроизводился, но был УДАЛЁН, а потом ВОССТАНОВЛЕН программой типа EasyRecovery, R-Studio и пр., то скорее всего внутри файла просто мусор и эта программа вам уже НЕ ПОМОЖЕТ. Можно попытаться восстановить файлы с флэшки другой программой, например GetDataBack. Помните, что после удаления файлов, флэшку нужно сразу же ВЫНИМАТЬ и больше ничего на неё не записывать. Просто оставив флэшку в камере или телефоне, вы почти гарантированно теряете шансы на восстановление, потому что тот же телефон постоянно что-то меняет/записывает на флэшке. Перед ответственной записью желательно форматировать флэшку дабы исключить любую фрагментацию файлов. В этом случае всегда есть шанс восстановить файлы в RAW режиме даже после повторного форматирования флэшки.

Как этим пользоваться:

recover_mp4 in_good_similar.mp4 --analyze
recover_mp4 in_corrupted.mp4 {out_video.h264 | out_video.hevc | --novideo} [out_audio.aac | out_audio.wav | out_audio.mp3 | out_audio.raw | --noaudio] [options]

Опции:
--start <hex> read from position (ignore mdat atom)
--end <hex> end position (ignore mdat atom). Specify 0 for EOF
--avcidrmax <hex> ignore AVC NAL units (IDR) with the size above than <hex> bytes
--avcxmax <hex> ignore AVC NAL units (non IDR) with the size above than <hex> bytes
--aaclong
--aacmin <hex>
--pcmmin <hex>
--pcmfix <hex>
--verbose

--gopro4 use Ambarella templates and detect GoPro4 specific data (default for MP4 files)
--ambarella use Ambarella templates (ignore GoPro4 specific data).
--lav use Lav/ffmpeg templates
--mainconcept use Mainconcept templates
--novatek use car DVR templates based on Novatek (DV turnkey, Street Guardian, etc.)
--qt use QuickTime templates (default for MOV files)
--iphone4 use iPhone 4 templates
--eos use Canon EOS 5D Mark II, 7D, 550D templates
--eos3 use Canon EOS 5D Mark III, 7D Mark II, 100D templates
--eos4 use Canon EOS 5D Mark IV templates
--canon use Canon SX, EOS 80D templates
--vmix use vMix templates
--wowza use Wowza templates
--blackmagic use BlackMagic templates
--avermedia use AVerMedia Live Gamer Portable C875 templates
--lumia use Lumia templates
--panasonic use Panasonic DMC-G7, DMC-GX80, DMC-G85, DMC-GH4, DC-GH5, HC-X1000 templates
--sony use SONY A7S [Mark II], AX1E, NX5R, A6000, HDR-CX405, HDR-CX625 templates
--drim use DRIMeIII templates (Samsung NX1000 camcorder)
--drim5 use DRIMeV HEVC/H.265 templates (Samsung NX1/NX500 camcorder)
--tomtom use TomTom Bandit Action Camera templates
--icat use iCatch templates
--cgo3 use cgo3 templates
--dji.avc use DJI.AVC Phantom (H.264) templates
--dji.hvc use DJI.HVC Phantom (H.265) templates
--hevc use generic HEVC/H.265 templates
--ext use generic templates for any other camcorder or smartphone, Open Broadcaster Software, etc.

1. Берем ХОРОШИЙ один из предыдущих MP4 файлов, записанных той же камерой с тем же разрешением, например GOPR0346.MP4
Файл должен воспроизводится в проигрывателе.

Запускаем из командной строки:
>recover_mp4.exe GOPR0346.MP4 --analyze

При этом программа создает крохотные файлы video.hdr и audio.hdr и распечатает дальнейшие инструкции (параметры запуска).

2. Допустим ваш поврежденный файл GOPR0347.MP4

Запускаем из командной строки:

>recover_mp4.exe GOPR0347.MP4 recovered.h264 recovered.aac

Возможно тут нужно будет добавить дополнительные параметры (см. распечатанную инструкцию из шага 1).

Некоторые видеорегистраторы пишут MOV файлы со звуком в формате PCM или ADPCM.
В таком случае нужно указать 3-м параметром имя файла с расширением .wav

>recover_mp4_to_h264.exe bad.mov recovered.h264 recovered.wav

3. Для склеивания recovered.h264 и recovered.aac в конечный MP4/MOV файл лучше всего использовать ffmpeg (скачать можно тут http://ffmpeg.org/download.html)
На шаге 1 программа распечатывает параметры для запуска ffmpeg.

Если звук AAC, вместо ffmpeg можно попробовать программу Yamb (скачать например тут http://yamb.unite-video.com/download.html)
Запускаем Yamb, кликаем Create (Создать), добавляем поток recovered.h264 и recovered.aac, нажимаем Далее и создаем новый исправный файл, например recovered.mp4

Пример использования ffmpeg:

>ffmpeg.exe -r 30 -i recovered.h264 -i recovered.aac -bsf:a aac_adtstoasc -c:v copy --c:a copy recovered.mp4

Для звука PCM:

>ffmpeg.exe -r 30 -i recovered.h264 -i recovered.wav -c:v copy -c:a copy recovered.mov

Для звука ADPCM:

>ffmpeg.exe -r 30 -i recovered.h264 -i recovered.wav -c:v copy -c:a adpcm_ima_wav recovered.mov

В этих примерах 30 - это частота кадров. Укажите свою.
Если частота слегка плавает, придется подобрать среднее значение чтобы видео и звук совпадали.
Вместо 29.97 лучше указать 30000/1001

Поблагодарить:

Скачать:
Описание Ссылка #1 Ссылка #2 Версия Дата
recover_mp4 recover_mp4.zip (190KB) recover_mp4.zip (190KB) 1.92 18.06.2017

 


[Назад]