recover_mp4
Попробуйте сервис автоматического восстановления mp4/mov файлов https://restore.media
recover_mp4 - это утилита для восстановления нефинализированных .mp4, .m4v, .mov, .qt, .3gp, .mxf файлов.
Нефинализированный файл может получиться если камера была повреждена
во время записи или вынули аккумулятор и т.п. В этом случае заголовок файла просто забит нулями и мы располагаем только секцией mdat.
Поддерживаемые видео форматы: AVC/H.264, HEVC/H.265, Apple ProRes
Поддерживаемые аудио форматы: AAC, ADPCM (Intel), MP3, PCM (LE, BE, 24-bit, float), AMR, AMR WB, RAW
Речь идет о файлах, нормально читающихся с флэшки, но с испорченным заголовком. Если файл не виден или не копируется или случайно удалён, то воспользуйтесь программами типа R-Studio, GetDataBack, Restorer2000, EasyRecovery и пр. - это не наш случай. Самое первое что нужно сделать - резервную копию флэшки - имидж файл .img, например с помощью USB Image Tool. К сожалению после "восстановления" перечисленными выше программами удалённых файлов как правило теряется информация о фрагментации и "восстановленный" таким образом файл содержит множество фрагментов других файлов с флэшки - попросту мусор. Как правило такие файлы не воспроизводятся и многие пытаются восстанавливать их дальше уже моей программой. После моей программы файл воспроизводится, но что вы ожидали увидеть восстанавливая мусор? В результате будут короткие фрагменты разных файлов и множество артефактов. Нужно брать резервный имидж файл флэшки и пробовать другие программы для восстановления удалённых файлов. Однако мне не известны успешные случаи. Пожалуйста сообщите мне, если вдруг найдёте какую-нибудь новую программу, которая успешно решит эту задачу. Также см. ниже замечание для владельцев GoPro и Xiaomi Yi.
Протестированные камеры и энкодеры:
Camcorders / DSLRs:
Canon EOS 5D Mark II, 7D, 550D
Canon EOS 5D Mark III, 7D Mark II, 100D
Canon EOS 5D Mark IV
Canon SX, EOS 80D
Panasonic DMC-G7, DMC-GX80, DMC-G85, DMC-GH4, DC-GH5, HC-X1000, AW-HE40, etc.
Samsung NX1000 and other cameras based on DRIMeIII encoder
Samsung NX1/NX500 and other cameras based on DRIMeV HEVC/H.265 encoder
SONY A7S [Mark II], AX1E, NX5R, A6000, HDR-CX405, HDR-CX625, etc.
Smartphones:
iPhone, Filmic Pro software
Samsung Galaxy and other based on Android
Nokia Lumia
Action cameras, surveillance cameras and drones:
GoPro HERO, GoPro HERO 2, GoPro HERO 3/3+, GoPro HERO 4, GoPro HERO 5, GoPro HERO 6 (both H.264 and H.265).
Action cameras and DVR based on Ambarella encoder
Garmin VIRB Ultra 30
TomTom Bandit Action Camera
Xiaomi YI
DVR based on Novatek (DV turnkey, Street Guardian, etc.)
DJI Phantom, Mavic Pro, Spark (both H.264 and H.265)
iCatch
CGO3
Software and hardware encoders:
Software encoders based on libavcodec (Lav/ffmpeg)
Software encoders based on Mainconcept (EDIUS)
Open Broadcaster Software
Wowza Live Streaming Software
AVerMedia Live Gamer Portable C875
BlackMagic encoders
vMix
Утилита работает и с другими камерами. Но если вдруг что-то пошло не так свяжитесь со мной.
При необходимости можно быстро доработать под конкретный случай.
И обратите внимание на кнопочку Donate (Пожертвовать) внизу этой страницы.
Что надо делать и что нельзя делать если на флэшке / фотике / камере запаролись файлы 1. Не используйте флэшки 64GB, даже если камера (GoPro 3, 4) их якобы поддерживает. Именно на флэшках 64GB часто портятся файлы без каких либо предпосылок. Проблема скорее всего в недоработанной прошивке камеры, но чтобы не рисковать лучше использовать флэшки не более 32GB. 2. Никогда не выдёргивать флэшку и не отключать камеру от USB предварительно не нажав "безопасное извлечение". 3. Перед важной съемкой желательно делать форматирование флэшки средствами камеры. Это также помогает максимально уменьшить фрагментацию файлов и упростить восстановление. 4. Если проблема УЖЕ возникла, нужно максимально быстро запретить любую запись на флэшку. Нужно выключить камеру, отключить от USB. Надо помнить что часто не выключенные камеры / фотики / смартфоны после отключения от USB тут же начинают индексировать флэшку и записывать свои файлы. Этого нельзя допускать. 5. Вынуть флэшку. Если это обычная SD флэшка, то поставить рычажок в положение LOCK. 6. Если файлы были случайно удалены, флэшка случайно отформатирована или её внезапно выдернули без "безопасного извлечения", в результате чего флэшка оказалась пустой или неформатированной, можно попытаться использовать программы типа R-Studio, Restorer2000, EasyRecovery, GetDataBack и др. (мне больше нравится Restorer2000Pro) Но шансов получить нормальные файлы очень мало. Как правило из-за фрагментации и потери цепочки фрагментов восстановленные файлы содержат 5% нормальных данных, а дальше просто мусор. 7. Если речь о фотках и полноразмерные фотки получить не получается, то часто можно вытащить превьюшку (thumbnail, уменьшенную фотку), например так: 8. Если совсем ничего не помогает, можно сделать копию всей флэшки посекторно (например в программе Restorer2000Pro - Create Image или USB Image Tool) и потом вытаскивать видео/аудио потоки. Чем меньше фрагментация, тем больше шансов получить что-то полезное. Эта программа не анализирует image файлы. Свяжитесь со мной. |
Если на последнем восстановленом файле отсутствует момент ДТП (последние 5-10 сек),
то ещё не всё потеряно! Просто видеорегистратор не успел обновить FAT из кэша. Можно восстановить всё видео со всей флэшки вообще игнорируя файловую систему. Останется только просмотреть всё и найти нужный момент. Нужно сделать посекторную копию флэшки (имидж). Формат файла .img (ни в коем случае не .iso). Это можно сделать такими программами как Restorer2000, WinHex и пр. Если флэшка размером 16GB, то получится файл 16GB. Файл можно порезать на куски для удобства запаковав его WinRar'ом без сжатия с разбиением например по 2GB. Далее заливайте всё это на какой-нибудь Google Drive, DropBox, Яндекс.Диск, MEGA и пр. (кому что больше нравится) и присылаяте ссылки. |
ВАЖНО: Для владельцев камер GoPro 4+, Xiaomi Yi и дронов DJI! Плохие новости. Эти камеры пишут на флэшку одновременно 2 файла - с высоким разрешением (.mp4) и с низким разрешением (.lrv в случае GoPro). Камера не распределяет место под файлы заранее, поэтому одновременная запись вызывает безумную фрагментацию на флэшке. Я не знаю способа как отключить запись .lrv файлов. Если бы GoPro не записывали SOS стрим в .lrv файлы, то был бы шанс отфильтровать только данные основного .mp4 файла. Разработчики GoPro живут в параллельной вселенной. Я пол года переписывался с ними и плюнул. Я не знаю программ, которые могут корректно восстановить удалённый с флэшки файл (FAT32, exFAT). Тоже само при случайном форматировании. Вы конечно можете попробовать программы типа R-Studio, GetDataBack, EasyRecovery, Restorer2000Pro и подобные. Но как правило "восстановленный" файл будет содержать кучу фрагментов других файлов (попросту мусор). Пытаясь дальше восстановить такой файл моей программой вы получите артефакты каждые несколько секунд (это куски от .lrv файла с низким разрешением). Фрагменты аудио будут повторяться по 2 раза (из .mp4 и .lrv файла). В идеале надо пытаться искать более адекватную программу для восстановления удалённых файлов, которая сможет восстановить всю цепочку фрагментов файла. Правильно восстановленный файл должен просто воспроизводиться без проблем. Хорошие новости. Я работаю над алгоритмом разделения основного и дополнительного потоков, причём без учёта размера кластера. Проблема для GoPro и Xiaomi Yi практически решена. Сейчас доводится до ума алгорит для дронов DJI. В ближайшее время всё это будет доступно на сайте https://restore.media. |
Прежде чем написать мне, прочитайте FAQ ниже!
FAQ (частые вопросы - ответы) Q: При запуске программы на мгновение выскочило какое-то черное окошко и всё скрылось. Q: Программа пишет что не может открыть файл. 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 файлы очень маленькие. |
Как этим пользоваться:
recover_mp4 in_good_similar.mp4 --analyze
recover_mp4 in_raw.mp4 out_corrupted.mp4 --clean_amba [<hex> [<dec>]]
recover_mp4 in_raw.mp4 out_corrupted.mp4 --clean_xiaoyi [<hex> [<dec>]]
recover_mp4 in_raw.mp4 out_corrupted.mp4 --clean_dji [<hex> [<dec>]]
recover_mp4 in_corrupted.mp4 {out_video.h264 | out_video.hevc | out_video.mov | --none}
{out_audio.aac | out_audio.wav | out_audio.mp3 | out_audio.raw | --none} [options]
recover_mp4 in_raw.mxf out.raw --mxf <hex>
Опции:
--verbose
--start
--end <hex> end position (ignore mdat atom). Specify 0 for EOF
--align <hex> default 1. Use --drim5 --align 10 for Samsung Gear 360.
--nohdr try to extract SPS and PPS from the stream
--forcehdr for GoPro 4+
--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
--noavcidrmin
--noavcxmin
--nocheck Simple checking
--noidr Do not wait first IDR
--nodecaac Do not decode AAC
--aaclong
--aacmin <hex>
--pcmmin <hex>
--pcmfix <hex>
--audio assume audio only, don't check any video templates
--prores Apple ProRes video
--custom experimental
--adobe experimental
--sony2 experimental
--novatek2 experimental
--wowza2 experimental
--gopro6.avc use GoPro6 AVC templates
--gopro6.hvc use GoPro6 HEVC templates
--gopro5 use GoPro5 templates
--gopro4 use GoPro4 templates
--gopro_session use GoPro Session templates
--ambarella use Ambarella templates
--garmin use Garmin VIRB Ultra 30 templates
--xiaoyi use Xiaomi YI action camera templates
--yicarcam use Xiaomi YI CarCam templates
--novatek use car DVR templates based on Novatek (DV turnkey, Street Guardian, etc.)
--pitta use car DVR templates based on PittaSoft
--lav use Lav/ffmpeg templates
--vlc use VLC templates
--jvc use JVC GY-HM200 templates
--mainconcept use Mainconcept templates
--qt use QuickTime templates (default for MOV files)
--panasonic use Panasonic DMC-G7, DMC-GX80, DMC-G85, DMC-GH4, DC-GH5, AW-HE40 templates
--panasonic_hc use Panasonic HC-X1000 templates
--panasonic_ag use Panasonic AG-DVX200 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)
--gear360 use Samsung gear360
--galaxy use Samsung Galaxy templates
--android81 use Android 8.1 templates
--iphone4 use iPhone4 templates
--filmic61 use iPhone Filmic 6.1.2 templates
--filmic63 use iPhone Filmic 6.3.x templates
--filmic65 use iPhone Filmic 6.5.x templates
--lumia use Lumia templates
--eos use Canon EOS 5D Mark II, 60D, 7D, 550D templates
--eos3 use Canon EOS 5D Mark III, 5DS, 7D Mark II (PCM), 100D templates
--eos4 use Canon EOS 5D Mark IV templates (default align 8)
--canon use Canon SX, Legria, Vixia, EOS 80D, 7D Mark II (AAC) templates
--nikon use Nikon D750, D3300 templates
--zcam use Z Cam
--wowza use Wowza templates
--vmix use vMix templates
--obs use Open Broadcaster Software
--blackmagic use BlackMagic templates
--avermedia use AVerMedia Live Gamer Portable C875 templates
--tomtom use TomTom Bandit Action Camera templates
--aim use Aim SmartyCam HD templates
--corvette use Corvette Performance Data Recorder 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, etc. (default for MP4 files)
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 | Скачать | 1.92 | 18.06.2017 | |
recover_mp4 (AAC validation, ProRes, MXF) | Используется на https://restore.media | 3.00 | 03.09.2018 |
v3.x нет в свободном доступе, она используется на сайте https://restore.media.
v3.x поддерживает ещё больше камер, включая iPhone Filmic Pro, Samsung Gear 360, GoPro Session, GoPro 6, LAMAX X8.1 Sirius, AIM SmartyCam HD, PittaSoft BlackVue DVR, Canon Legria, Vixia, и самое главное - валидацию AAC потока для правильного деления на фреймы.
Больше нет проблемы с артефактами в AAC аудио и с рассинхронизацией видео/аудио.
Улучшена поддержка GoPro 4, 5 и 6 за счёт использования потока метаданных GoPro SOS.
Не требуется хороший файл с теми же настройками для восстановления файлов GoPro 4+, SONY и некоторых DJI.
v3.x поддерживает MXF, Apple ProRes и может сохранять результат непосредственно в mp4/mov файлы.
v3.x также имеет опции для фильтрации кластеров с файлами для предпросмотра (для восстановления файлов GoPro, Xiaomi YI, DJI после удаления).
Вы можете связаться со мной напрямую и прислать ваши файлы для восстановления.
[Назад]