Ficheiro MP4/MOV truncado — Guia de recuperação
Um ficheiro de vídeo "truncado" é aquele que foi cortado antes de a gravação ter chegado a uma paragem limpa. A definição técnica: o ficheiro não tem o seu índice (átomo MOOV) e, possivelmente, faltam alguns bytes finais do último fotograma em curso. A definição funcional: está no seu disco com o tamanho correto, não abre no QuickTime / Premiere / Resolve e indica a sua duração como zero (ou como um número estranho) quando é testado.
Os ficheiros truncados são a categoria mais recuperável de corrupção de vídeo. A má notícia: a maioria das ferramentas de "reparação de MP4" ao nível do consumidor lida mal com eles. A boa notícia: é exatamente para este caso que o nosso motor e ferramentas como o "untrunc" foram criados.
Como é realmente o truncamento
Um MP4/MOV normal termina com um átomo MOOV finalizado que indexa tudo em "mdat". Um ficheiro truncado termina a meio da gravação:
[ftyp] ← container declaration, intact
[mdat] ← frames + audio interleaved
↓ truncation point — recording stopped here
[the next bytes — partial frame, partial atom, or just EOF]
← MOOV that should be here doesn't exist
Três padrões comuns:
- Truncamento por perda de energia/remoção do cartão. O mais comum. O 'mdat' termina a meio do fotograma; sem MOOV; de resto, o ficheiro está limpo.
- Truncamento por erro do sistema de ficheiros. Um setor defeituoso colocou a zeros uma secção do ficheiro ou o sistema de ficheiros não conseguiu gravar os blocos finais. O 'mdat' pode ter um buraco, mas está intacto.
- Truncamento de cópia falhada. O ficheiro foi parcialmente copiado de um cartão SD/SSD e a cópia falhou. O ficheiro "danificado" na unidade de destino é apenas uma cópia parcial de uma fonte que, de resto, está em bom estado.
Vale a pena verificar a causa n.º 3 antes de qualquer recuperação: tente copiar o ficheiro novamente a partir da origem original. Se o original ainda estiver no cartão SD/SSD e o ficheiro estiver em bom estado, resolveu o problema em 60 segundos.
O que "a duração aparece como zero" realmente significa
Quando o QuickTime ou o VLC mostram a duração de uma gravação como 0:00 ou como algum valor impossivelmente longo (como 4:32:18:35), isso quase sempre significa que a duração está a ser lida a partir de um "mvhd" (cabeçalho do filme) em falta ou malformado dentro do MOOV. Sem um MOOV válido, não há duração válida. Os fotogramas ainda estão lá em "mdat" — o reprodutor simplesmente não sabe a duração do vídeo.
O que pode tentar fazer
1. Copiar novamente a partir da origem
Parece óbvio. É ignorado com frequência. Se o ficheiro original ainda estiver no cartão SD/SSD, tente copiá-lo novamente para uma unidade diferente. Uma nova cópia com "cp" (ou rsync, ou uma cópia do Finder) às vezes produz um ficheiro funcional quando a cópia anterior era a danificada.
2. 'untrunc'
'untrunc' — código aberto — recebeu o nome exatamente por causa deste modo de falha. Precisa de um ficheiro de referência em bom estado da mesma câmara no mesmo modo de gravação. Comando rápido:
untrunc reference.mov broken.mov
Produz 'broken.mov_fixed.mov'. Tente abri-lo. Excelente na causa n.º 1 (truncamento limpo, sem falhas) quando uma referência está disponível.
3. FFmpeg ignore-errors re-mux
ffmpeg -err_detect ignore_err -i broken.mp4 -c copy out.mp4
Por vezes, funciona na causa n.º 2 (falhas no sistema de ficheiros), ignorando as secções ilegíveis anteriores.
4. Eliminar o último fotograma parcial
Se o "untrunc" ou as nossas ferramentas reclamarem que o último fotograma está incompleto, há uma abordagem manual: corte algumas centenas de MB do final do ficheiro e tente novamente. O ficheiro cortado perde o último segundo ou dois, mas está estruturalmente limpo. As ferramentas que automatizam isto (incluindo as nossas) fazem-no por si.
Como a nossa recuperação lida com o truncamento
- Diagnóstico de seis passagens identifica se o ficheiro está truncado de forma limpa (causa n.º 1), tem falhas internas (causa n.º 2) ou está parcialmente copiado (causa n.º 3).
- Verificação ao nível do fotograma de 'mdat' para encontrar o último fotograma completo, corte automático seguro de qualquer fotograma parcial final.
- Síntese MOOV a partir de fotogramas observados — não é necessário um clipe de referência.
- 'co64' para ficheiros com mais de 4 GB para evitar o excesso de deslocamento no índice reconstruído.
- Recuperação de áudio com filtragem de dominância do tamanho do bloco (ignorar blocos atípicos, manter a gravação consistente).
- Deteção de falhas para a causa n.º 2: se o ficheiro tiver uma secção preenchida com zeros no meio, identificamo-la, ignoramos o intervalo morto e reconstruímos em torno dela. O ficheiro recuperado pode ter um breve intervalo ou uma interrupção no buraco, mas o resto é reproduzido.
O que deve fazer
- Primeiro: tente copiar novamente a partir da origem, se ainda a tiver. Grátis, rápido, muitas vezes a resposta.
- Se o ficheiro estiver realmente truncado e a nova cópia não ajudar: carregue-o. Até 50 GB.
- Cerca de 1 minuto depois, obtém uma pré-visualização gratuita de 5 segundos.
- Pague apenas se a pré-visualização funcionar.
FAQ
O meu ficheiro mostra o tamanho de ficheiro correto, mas é reproduzido por menos tempo do que o esperado. Esse é um modo de falha diferente — a gravação provavelmente foi finalizada, mas a duração da reprodução é menor do que a duração gravada. Muitas vezes, um problema de escala de tempo "mvhd", por vezes um "stts" mal formado. Recuperável; carregue-o para diagnóstico.
O meu ficheiro é reproduzido nos primeiros 10 segundos e, em seguida, o leitor falha. A causa n.º 2 (falha no meio do ficheiro) é a mais provável. Os primeiros 10 segundos são 'mdat' intactos; o leitor atinge o buraco e não consegue continuar. A recuperação reconstrói em torno do buraco.
O 'untrunc' falhou porque não tenho um clipe de referência. Motivo comum para usar um serviço como o nosso. Não precisamos de uma referência — extraímos os parâmetros do codec diretamente dos frames do ficheiro danificado.
O meu ficheiro é de um cartão SD apagado e depois recuperado. Ainda é recuperável? As ferramentas de recuperação de cartões por vezes devolvem ficheiros com dados de origem mista (bytes da gravação original mais bytes de gravações posteriores substituídas por cima). Estes são mais confusos. O diagnóstico no carregamento diz-nos se é tratável.
O ficheiro mostra uma duração errada, mas é reproduzido corretamente. Apenas uma correção de metadados — 'ffmpeg -i input.mp4 -c copy out.mp4' geralmente reescreve a duração corretamente durante o re-mux. Não é necessária nenhuma recuperação paga.
As minhas imagens estão seguras? Servidor em França, eliminadas automaticamente após 48 horas, nunca usadas para treinar nada ou partilhadas. Política de privacidade.
Relacionado
- MOOV atom não encontrado (a causa do truncamento canónico)
- Dados inválidos encontrados ao processar a entrada
- Como funciona o nosso motor de recuperação
Pré-visualização gratuita · Sem compromisso
Pronto(a) para recuperar o seu vídeo?
Carregue o seu ficheiro. Obtenha uma pré-visualização gratuita de 5 segundos em cerca de um minuto. Pague apenas se a pré-visualização parecer correta.
Carregue o seu vídeo →