MP4 поврежден, как восстановить?

1411
Marco

бак для любого предложения. Я записал 2 видео на цифровую камеру. Видео сохраняются в идентичных кодеках и настройках.

Второе видео повреждено, я не могу его открыть с помощью VLC или других проигрывателей или программ для редактирования видео. (первое видео в порядке).

Я пытался конвертировать видео с помощью программного обеспечения "видео от видео", которое говорит:

#8636.3: [h264 @ 04E10060]AVC: nal size -1920576098 #8636.3: [h264 @ 04E10060]no frame! #8636.5: [mov,mp4,m4a,3gp,3g2,mj2 @ 04EC4020]decoding for stream 0 failed #8636.4: [mov,mp4,m4a,3gp,3g2,mj2 @ 04EC4020]Could not find codec parameters  for stream 0 (Video: h264 (avc1 / 0x31637661), 1920x1080, 11987 kb/s):  unspecified pixel format #8636.4: Consider increasing the value for the 'analyzeduration' and  'probesize' options  ***File load error: C:\..\PICT0002.MP4: could not find codec parameters 

Анализ с помощью Gspot на видео (видео повреждено справа: PICT0002): см. Фотографии

Кто-нибудь может предложить мне инструмент или метод для ремонта второго видео? Размер правильный (3 ГБ), и когда я пытаюсь открыть его на VLC, также, если он не запускается, длина, кажется, в порядке (40 минут).

Теоретически: я должен изменить метаданные кодека в файле, чтобы сделать его распознаваемым программным обеспечением? это проблема?

танк ты .. (рабочее видео и оно так нужно)

ОБНОВИТЬ

попробовал анализ ffmpeg. команда: ffmpeg -analyzeduration 2000000000 -i PICT0002.mp4 -c: v libx264 -c: копия PICT0002-fixed.mp4

ответ:

C:\Programmi\ffmpeg\bin>ffmpeg -analyzeduration 2000000000 -i PICT0002.mp4 -  c:v libx264 -c:a copy PICT0002-fixed.mp4 ffmpeg version N-91398-gd08d4a8c73 Copyright (c) 2000-2018 the FFmpeg  developers built with gcc 7.3.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-  bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass  --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-  libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --  enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --  enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack  --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --  enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-  libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa  --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --  enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-  nvenc --enable-nvdec --enable-dxva2 --enable-avisynth libavutil 56. 18.102 / 56. 18.102 libavcodec 58. 20.104 / 58. 20.104 libavformat 58. 17.101 / 58. 17.101 libavdevice 58. 4.101 / 58. 4.101 libavfilter 7. 25.100 / 7. 25.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 [h264 @ 000002036235d380] Invalid NAL unit size (-1920576098 > 197632). [h264 @ 000002036235d380] Error splitting the input into NAL units. [mov,mp4,m4a,3gp,3g2,mj2 @ 000002036234a300] decoding for stream 0 failed [mov,mp4,m4a,3gp,3g2,mj2 @ 000002036234a300] Could not find codec  parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1920x1080,  11987 kb/s): unspecified pixel format Consider increasing the value for the 'analyzeduration' and 'probesize'  options Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'PICT0002.mp4': Metadata: major_brand : avc1 minor_version : 0 compatible_brands: avc1isom creation_time : 2021-06-30T08:32:50.000000Z Duration: 00:40:53.45, start: 0.000000, bitrate: 12122 kb/s Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), none, 1920x1080, 11987  kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default) Metadata: creation_time : 2021-06-30T08:32:50.000000Z handler_name : Ambarella AVC encoder : Ambarella AVC encoder Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Press [q] to stop, [?] for help [h264 @ 000002036234dd40] Invalid NAL unit size (-1920576098 > 197632). [h264 @ 000002036234dd40] Error splitting the input into NAL units. [h264 @ 0000020363f92300] Invalid NAL unit size (1565499804 > 10496). [h264 @ 0000020363f92300] Error splitting the input into NAL units. Error while decoding stream #0:0: Invalid data found when processing input Last message repeated 1 times Cannot determine format of input stream 0:0 after EOF Error marking filters as finished Conversion failed! 

Итак, преобразование не удалось .. пожалуйста, нужна дополнительная помощь .. :(

1
Судя по выводу журнала, используемое программное обеспечение выглядит как FFmpeg (или основано на FFmpeg). Попробуйте добавить флаг `-analyzeduration 2000000000` к аргументам FFmpeg. Стоит отметить, что проигрыватель VLC также основан на FFmpeg ... и, таким образом, они имеют аналогичные ограничения в своих конфигурациях по умолчанию. Cliff Armstrong 5 лет назад 0
как сделать в windows 10? (Спасибо) Marco 5 лет назад 0
Ну, вы сказали, что вы используете программное обеспечение "видео в видео" для преобразования видео. Что это за программное обеспечение? У него есть имя? Если вы хотите использовать FFmpeg напрямую (высокая кривая обучения), вы можете скачать последние сборки Windows здесь: https://ffmpeg.zeranoe.com/builds/. Это инструмент командной строки, поэтому вам нужно будет запустить «ffmpeg prompt» и выполнить соответствующую команду. Что-то вроде: `ffmpeg -analyzeduration 2000000000 -i PICT0002.mp4 -c: v libx264 -c: копия PICT0002-fixed.mp4` должна это сделать. Cliff Armstrong 5 лет назад 0
http://www.videotovideo.org/ Marco 5 лет назад 0

2 ответа на вопрос

1
Ricardo Bohner

Проверьте этот инструмент: Video Repair Tool

Это не бесплатная программа, но она восстанавливает 50% вашего видео бесплатно, поэтому вы будете знать, работает ли она.

Проверьте также это видео на YouTube: https://www.youtube.com/watch?v=5QK3vizVIds

Спасибо! это работает. Marco 5 лет назад 0
1
Marco

РЕШЕНИЕ.

Прежде всего, отдам тебе Рикардо Бонера. Он относится к Video Repair Tool .

Зайдя на этот сайт, вы обнаружите, что этот инструмент больше не доступен, и вам следует подписаться на Restore Media .

В качестве альтернативы вы можете пойти сюда . Я следовал инструкциям, показанным здесь .

К сожалению, я восстановил только 30:00 минут из 40:00 минут видео, но восстановленная часть прекрасна.

Надеюсь, что это может быть полезно.

ОБНОВЛЕНИЕ: Как объяснил Риккардо Бонер (см. Ниже в комментариях), можно использовать трюк (удвоение длины mp4) и восстановить его с помощью Repair Tool .

Таким образом, я смог восстановить всю длину поврежденного MP4. После этого я смог посмотреть видео с VLC (видео-ридер).

..но я до сих пор не смог преобразовать его путем редактирования софта (как VirtualDub, видео в видео и т. д.)

Итак, я использовал комбинированную процедуру: A) использование решения Riccardo (как описано в комментариях) для восстановления всей длины видео B) повторное воспроизведение восстановленного видео моим исходным решением (recovery-mp4-to-h264.zip), чтобы сделать его правильным и читаемый обычными программами для редактирования. Надеюсь, что это может помочь людям ..

Марко, что значит с больше не доступно? Я только что загрузил его. Вот прямая ссылка для скачивания: http://grauonline.de/download/videorepair.zip Ricardo Bohner 5 лет назад 0
Я прочитал эту версию демо. Восстанавливает только половину видео. Marco 5 лет назад 0
Да, но есть хитрость в том, как восстановить 100% вместо 50%: переименуйте поврежденный видеофайл в 1.mp4, сделайте его копию и назовите 2.mp4. Откройте командную строку, введите путь, в котором находятся 2 видеофайла, и введите следующую команду: copy / b 1.mp4 + 2.mp4 double.mp4 Это создаст видео с именем double.mp4, которое будет иметь удвоенную длину вашего оригинальное поврежденное видео. Откройте этот файл в инструменте восстановления видео и исправьте его, он восстановит 100% вашего видео. Ricardo Bohner 5 лет назад 0
Танк, ты, Риккардо, таким образом я выздоровел все 40 минут! Я не твое творчество .. Marco 5 лет назад 0
В самом деле? Я только что вспомнил свой совет по копированию / b, потому что понял, что он не работает для файлов mp4. Когда вы выполняете трюк copy / b с файлами mp4, он только удваивает размер файла в моем тесте, но не длину видео. Я собирался предложить вам использовать AVIDemux или другое программное обеспечение для редактирования видео, которое позволяет добавлять видео к другому видео. Таким образом, совет будет сделать копию видео, затем добавить два с помощью программного обеспечения для редактирования видео, а затем использовать инструмент восстановления видео, чтобы восстановить поврежденное видео, удвоенное по размеру (80 минут). Но рад знать, что это все равно работает. Ricardo Bohner 5 лет назад 0
Небольшое исправление, с вашей уловкой mp4 был полностью восстановлен (и виден для vlc), но я не смог преобразовать его (я должен преобразовать его также с меньшим кодеком). Поэтому я повторно использовал recovery-mp4-to-h264.zip (в качестве первого решения), чтобы передать восстановленную версию. Теперь я могу использовать видео с обычными инструментами преобразования и программным обеспечением (как Virtualdub, videoToVideo и т. Д.). Marco 5 лет назад 0

Похожие вопросы