"MOOV atom not found" — O que significa e como corrigir
De todas as mensagens de erro que um ficheiro de vídeo corrompido pode produzir, "moov atom not found" é a que mais vale a pena compreender. Não é uma mensagem genérica de "ficheiro danificado" — é uma declaração técnica específica sobre exatamente o que está danificado. E é uma das categorias de falha de ficheiro mais recuperáveis.
Se já viu este erro no FFmpeg, no QuickTime, na saída de diagnóstico do VLC ou escondido num erro de importação do Premiere/Resolve, esta página é para si.
O que é MOOV
Um ficheiro MOV/MP4 é uma sequência de átomos — blocos binários tipados que contêm metadados ou dados de média. Os dois átomos mais importantes são:
- 'mdat' — o átomo de dados de média. Este contém os verdadeiros fotogramas de vídeo comprimidos, amostras de áudio e assim por diante. Para uma gravação normal, "mdat" é de longe o maior átomo do ficheiro (geralmente mais de 99% do tamanho do ficheiro).
- 'moov' — o átomo do filme. Este é o índice. É o índice. Diz ao reprodutor exatamente onde cada fotograma está dentro do "mdat", que codec foi usado, qual é a taxa de fotogramas, qual é a configuração de áudio e como os fluxos são sincronizados.
Sem um "moov" válido, o leitor não consegue descodificar o ficheiro. Tem os dados; não sabe como usá-los.
Porque é que o seu ficheiro não tem um MOOV
O átomo MOOV é finalizado no momento em que a gravação para. As câmaras constroem a estrutura de forma incremental à medida que gravam — têm de o fazer, porque os deslocamentos e tamanhos dentro do MOOV dependem do que foi realmente gravado — mas não a escrevem no ficheiro até que o utilizador (ou o firmware) emita uma paragem limpa.
Se a gravação for interrompida antes desse momento:
- A bateria acaba a meio da gravação.
- Cartão SD / CFexpress / SSD retirado durante a gravação.
- O firmware da câmara falha.
- O gravador externo (Atomos, etc.) perde energia.
- A aplicação que está a gravar falha (aplicações de câmara de terceiros em telemóveis).
- O drone cai no chão, perde a alimentação, a gravação é interrompida.
- Queda de energia CA para uma câmara ligada.
O MOOV nunca é gravado. O 'mdat' está no disco, intacto (ou quase intacto, com um fotograma final possivelmente truncado). O que tem é:
[ftyp] ← container type declaration, ~12 bytes, intact
[mdat] ← potentially gigabytes of compressed video and audio, intact
← MOOV would be here (or earlier in the file
if the camera does "fast-start" / leading MOOV)
but it isn't
O seu editor abre o ficheiro, lê 'ftyp', não encontra um MOOV válido e desiste. Daí o erro.
O que pode tentar fazer
A boa notícia é que este é um problema bem conhecido com ferramentas gratuitas documentadas.
1. 'untrunc' (código aberto)
'untrunc' é uma pequena ferramenta de linha de comandos criada especificamente para este exato padrão de falha. Requer:
- Um ficheiro corrompido (sem MOOV, 'mdat' intacto).
- Um ficheiro de referência da mesma câmara no mesmo modo de gravação (resolução, fps, codec, taxa de bits). O MOOV da referência serve como modelo.
Se tiver um ficheiro em bom estado da mesma câmara e modo, o 'untrunc' é excelente. Instale através do Homebrew no macOS ou compile a partir do código-fonte no Linux. Comando rápido:
untrunc reference.mov broken.mov
Produz 'broken.mov_fixed.mov'. Tente abri-lo.
O problema: o 'untrunc' precisa da referência correspondente. Se a câmara que produziu o ficheiro danificado for a única que usou e o ficheiro danificado for o único que tem, o "untrunc" não pode ajudar.
2. Re-mux FFmpeg '-c copy'
ffmpeg -i broken.mov -c copy out.mov
Não corrige nada, mas diz-lhe o que o FFmpeg vê. Se o FFmpeg devolver "moov atom not found" sem mais informações, o ficheiro está no nosso território de recuperação. Se o FFmpeg devolver informações úteis do fluxo, o ficheiro pode ser mais recuperável do que o erro sugere.
3. VLC
O VLC é conhecido por ser permissivo. Por vezes, um ficheiro que não abre no QuickTime abre no VLC. Vale a pena fazer um teste de 30 segundos.
4. O próprio software da câmara
Se o ficheiro veio de uma câmara recente, verifique o software gratuito do fabricante:
- Sony Catalyst Browse (câmaras Sony).
- Canon Cinema RAW Development / EOS Utility (Canon).
- DJI Studio (DJI).
- Insta360 Studio (Insta360).
- DaVinci Resolve (Blackmagic).
Estas ferramentas por vezes abrem ficheiros que os reprodutores genéricos rejeitam porque compreendem as peculiaridades específicas do seu fabricante.
Como a recuperação automatizada lida com isso
Quando os caminhos manuais acima não funcionam — na maioria das vezes porque não tem um clipe de referência correspondente — o próximo passo é a reconstrução automatizada do contentor. O nosso motor:
- Verifica a carga útil 'mdat' ao nível de byte em busca de marcadores de fotograma (ProRes 'icpf', códigos de início NAL H.264 / H.265, marcadores MJPEG, etc.).
- Identifica o codec a partir dos dados do fotograma, não a partir da extensão do ficheiro.
- Extrai parâmetros de codec (resolução, perfil, nível, formato de croma, taxa de fotogramas) do primeiro IDR / fotograma-chave válido.
- Sintetiza um novo átomo MOOV que faz referência aos intervalos de bytes 'mdat' existentes.
- Sonda o áudio quanto à taxa de amostragem, número de canais, ordem de bytes e posicionamento de blocos.
- Escreve um ficheiro reconstruído usando 'co64' (deslocamentos de 64 bits) para qualquer ficheiro com mais de 4 GB.
O resultado é um ficheiro que o seu editor montará e reproduzirá. Não é necessário um clipe de referência.
O que faz
- Carregue o ficheiro danificado. Até 50 GB.
- Cerca de 1 minuto depois, recebe uma pré-visualização gratuita de 5 segundos do vídeo recuperado. Se a imagem e o áudio estiverem corretos, o resto do ficheiro também está.
- Se funcionar, pague 5 $/15 $/29 $ (dependendo do tamanho) e transfira o ficheiro completo. Caso contrário, ajuste os parâmetros interativamente ou encaminhe para uma revisão humana. Sem custos até ter um ficheiro funcional.
FAQ
"moov atom not found" significa sempre que o ficheiro é recuperável? Quase sempre, sim — se o "mdat" estiver intacto. A exceção é quando a câmara gravou um ficheiro parcial que foi posteriormente danificado (substituições parciais, corrupção do sistema de ficheiros). Nesse caso, o erro é o mesmo, mas a recuperação pode ser apenas parcial.
O meu ficheiro tem 0 bytes — é o mesmo erro? Não. Um ficheiro de 0 bytes significa que nada foi gravado. Problema diferente; nada a recuperar.
A recuperação preservará os meus metadados de gradação de cor / Log gamma / HDR? Sim. Os dados do codec (que transportam informações de cor) são referenciados literalmente. A reconstrução afeta apenas o contentor, não o fluxo do codec.
O erro do QuickTime é "não foi possível abrir o documento" — é a mesma coisa? Veja essa página. O QuickTime tende a usar uma única mensagem genérica para várias causas subjacentes; "moov not found" é a causa mais comum.
As minhas filmagens estão seguras durante a recuperação? Ficheiro num servidor em França, eliminado automaticamente após 48 horas, nunca usado para treinar nada ou partilhado. Política de privacidade.
Relacionado
- Não foi possível abrir o documento (QuickTime)
- Ficheiro MP4 truncado — guia de reparação
- 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 →