alguma maneira de recuperar mp4 corrompido?

4

Eu tenho um arquivo mp4 que parece ter sido corrompido de alguma forma:

$ file HDV_1042.MP4
HDV_1042.MP4: data

$ mediainfo HDV_1042.MP4
General
Complete name                            : HDV_1042.MP4
File size                                : 1.72 GiB

$ ffprobe HDV_1042.MP4 
avprobe version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2007-2013 the Libav developers
  built on Apr  2 2013 17:02:36 with gcc 4.6.3
HDV_1042.MP4: Invalid data found when processing input

$ AtomicParsley HDV_1042.MP4 -T 1

AtomicParsley error: bad mpeg4 file (ftyp atom missing or alignment error).

Eu tentei recuperá-lo com 'untrunc' usando um arquivo de trabalho da mesma câmera, mas isso não funcionou:

$ ./untrunc HDV_1041.MP4 HDV_1042.MP4 Reading: HDV_1041.MP4
Composition time offset atom found. Out of order samples possible.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'HDV_1041.MP4':
  Metadata:
    major_brand     : avc1
    minor_version   : 0
    compatible_brands: avc1isom
    creation_time   : 1947-10-13 12:23:13
  Duration: 00:21:20.25, start: 0.000000, bitrate: 12131 kb/s
    Stream #0.0(eng): Video: h264 (Main), yuv420p, 1280x720, 11988 kb/s, 59.94 fps, 59.94 tbr, 90k tbn, 180k tbc
    Metadata:
      creation_time   : 1947-10-13 12:23:13
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s
    Metadata:
      creation_time   : 1947-10-13 12:23:13
Failed to parse atoms in truncated file

Também tentei o ffmpeg / avconv sem sucesso:

$ avconv -f h264 -i HDV_1042.MP4 -c:a copy -c:v copy HDV_1042.mp4 
avconv version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:02:36 with gcc 4.6.3
[h264 @ 0x1359ac0] non-existing PPS referenced
[h264 @ 0x1359ac0] non-existing PPS 0 referenced
[h264 @ 0x1359ac0] decode_slice_header error
[h264 @ 0x1359ac0] non-existing PPS 1 referenced
[h264 @ 0x1359ac0] decode_slice_header error
[h264 @ 0x1359ac0] no frame!
[h264 @ 0x134f9e0] Estimating duration from bitrate, this may be inaccurate
Input #0, h264, from 'HDV_1042.MP4':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264, 25 fps, 25 tbr, 1200k tbn, 2400k tbc
Output #0, mp4, to 'HDV_1042.mp4':
Output file #0 does not contain any stream

Veja um exemplo de um arquivo de trabalho da mesma câmera:

$ mediainfo HDV_1041.MP4
General
Complete name                            : HDV_1041.MP4
Format                                   : MPEG-4
Format profile                           : JVT
Codec ID                                 : avc1
File size                                : 1.81 GiB
Duration                                 : 21mn 20s
Overall bit rate                         : 12.1 Mbps
Writing library                          : SEC 

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 21mn 20s
Bit rate mode                            : Variable
Bit rate                                 : 12.0 Mbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Variable
Frame rate                               : 59.940 fps
Minimum frame rate                       : 59.920 fps
Maximum frame rate                       : 59.960 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.217
Stream size                              : 1.79 GiB (99%)
Title                                    : HMX-H300
Language                                 : English

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 21mn 20s
Bit rate mode                            : Constant
Bit rate                                 : 128 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 19.5 MiB (1%)
Title                                    : HMX-H300
Language                                 : English
    
por user145664 14.10.2013 / 19:01

2 respostas

1

Eu tenho Ferramenta de reparo de vídeo 1.9.0.0 e até agora eu consegui consertar a maior parte do arquivos MP4 corupted. Pelo menos você pode experimentá-lo, já que o trial consertará metade do seu arquivo, para que você possa ver se funciona. O lado negativo é que não é gratuito e é um pouco caro para uso ocasional

    
por 14.10.2013 / 20:22
5

pode tentar isto:

aqui está uma alternativa para aqueles que precisam recuperar o mp4 AVC Mega Download

Este utilitário pode recuperar o fluxo H.264 / AVC de arquivos MP4 / MOV não finalizados sem (ou vazio) cabeçalho. Você pode ter o arquivo não finalizado em caso de danos filmadora durante a gravação ou algo semelhante. Este utilitário foi testado com arquivos gravada pela GoPro, mas também pode funcionar com outras filmadoras.

Uso:   recover_mp4_to_h264 in_good_similar.mp4 --avcc   recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [out_audio.aac | out_audio.wav | out_audio.mp3] []   recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [--aac | --pcm | --mp3] []

Gravadores suportados:   O padrão é Ambarella (usado no GoPro, etc.)   Especifique --eos no caso da Canon EOS   Especifique --apple no caso de algum codificador de software da Apple   Especifique --htc no caso do smartphone HTC   Especifique --motorola no caso do smartphone Motorola   Especifique --samsung no caso da filmadora Samsung

Passo 1: Use qualquer arquivo anterior com a mesma resolução e taxa de bits para gerar o registro de configuração do AVC, por exemplo

recover_mp4_to_h264.exe GOPR0346.MP4 --avcc

Nota: Ele criará o arquivo 'avcc.hdr' no diretório atual.

Etapa 2: recuperar o fluxo H.264 do arquivo corrompido, por exemplo

recover_mp4_to_h264.exe GOPR0347.MP4 GOPR0347.h264 GOPR0347.aac

Nota: O arquivo 'avcc.hdr' deve existir.    Nota: Especifique --pcm ou o nome do arquivo WAV no caso de recuperar arquivos MOV escritos pela Canon EOS.

Passo 3: Use qualquer outro utilitário (Yamb ou ffmpeg por exemplo) para recriar o arquivo MP4 / MOV do fluxo H.264 (GOPR0347.h264). Nota MP4 não suporta som PCM, você deve criar MOV neste caso:

ffmpeg.exe -r 30 -i recovered.h264 -i recovered.wav -vcodec copy -acodec copy result.mov

    
por 09.09.2014 / 05:53

Tags