23

Я снял видео со своего телефона Android (Sony Xperia P, если вам нужно знать), и, прежде чем я смог прекратить запись, память телефона переполнилась и телефон тоже завис. Я перезагрузил телефон, видео было там, но я не мог воспроизвести его с любого медиаплеера на Android. Это в mp4 format .

Поэтому я попытался открыть его на ПК и Mac с помощью другого видеопроигрывателя, такого как VLC, Quick Time, Windows Media Player и т.д., Но никто из них не может его воспроизвести. Я знаю, что видео испорчено, но я считаю, что его можно исправить, так как его размер превышает GB. Есть ли что-нибудь, что я могу попробовать восстановить видео файл? Видео действительно важно.

3 ответа3

18

Если у вас есть ffmpeg, из командной строки вы можете попробовать:

ffmpeg -i input.mp4 -c copy output.mp4

Если проблема только с контейнером, это исправит это.

Если это не сработает, пожалуйста, опубликуйте полное сообщение терминала, так как это может дать подсказку о том, как исправить файл.

7

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

Когда вы видите сообщение "moov atom not found", это обычно означает, что независимо от того, что создавало видео, не было возможности записать метаданные терминала, которые содержат информацию о таких вещах, как кодеки, используемые в видео, и так далее. Без этого "moov atom" большинство игроков отвергнет видео.

Если у вас есть другое видео, сгенерированное тем же устройством, вы можете использовать программу untrunc для генерации нового атома moov, который в большинстве случаев сделает файл воспроизводимым.

Вам нужно будет самостоятельно скомпилировать программу untrunc . Я собрал его в Docker-контейнере Ubuntu 12.04, и мне потребовалось установить следующие предварительные условия для его сборки:

sudo apt-get install libavformat-dev libavcodec-dev \
  libavutil-dev libqt4-dev make g++ libz-dev
0

Этот ответ относится к аудиофайлам m4a, но у меня была похожая проблема, и, возможно, это кому-то поможет.

Используя ffpemg , я также столкнулся с проблемой moov atom not found

Чтобы исправить это, мне помог ответ на Sound Design Stackexchange: Как восстановить звук с неполного или поврежденного AAC/m4a

Ответ содержит шаги, описанные в SysFrontier: Как исправить поврежденные файлы Voice Memo M4A

  • Сначала, используя Hex Editor, удалите начало файла до «t» в «mdat». Я использовал HexFiend на macOS.

  • Затем декодируйте файл с помощью faad, который можно установить с помощью homebrew: brew install faad2

  • использование faad в терминале: faad corruptfile.m4a

Надеемся, что это должно привести к воспроизведению wav-файла в том же каталоге, что и поврежденный файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .