"Invalid data found when processing input" — Erro de vídeo do FFmpeg
Esta é uma das mensagens de erro menos úteis do FFmpeg. É também uma das mais comuns. A mensagem parece dizer que o FFmpeg decidiu que o seu ficheiro é irrecuperável, mas o significado subjacente é mais específico: O analisador do FFmpeg encontrou uma sequência de bytes que não consegue conciliar com o formato de ficheiro que esperava.
Isso pode significar meia dúzia de coisas diferentes. A maioria delas é recuperável.
O que o FFmpeg está realmente a dizer-lhe
O FFmpeg analisa um ficheiro por etapas. Primeiro, identifica o contentor (MP4, MOV, MKV, AVI, etc.). Depois, lê o índice do contentor para encontrar fluxos. Depois, analisa pacotes de fluxo individuais. "Dados inválidos encontrados ao processar a entrada" significa que uma etapa de análise falhou em algum lugar desse pipeline. O erro não indica em que etapa.
Causas subjacentes comuns:
- O cabeçalho do contentor está bom, o cabeçalho do codec está danificado. O FFmpeg sabe que é um MP4. Lê o MOOV. Tenta começar a ler pacotes de fluxo H.264 e encontra bytes que não correspondem à sintaxe NAL H.264. O conjunto de parâmetros do codec está corrompido.
- O contentor é do tipo errado. Um ficheiro '.mov' que na verdade é MKV no interior, ou um '.avi' que na verdade é um MP4 corrompido. O FFmpeg escolhe o analisador por extensão (ou por deteção de cabeçalho) e obtém o errado.
- O ficheiro está truncado a meio do fotograma. O FFmpeg lê bem até ao ponto de truncamento, depois atinge o EOF a meio de um fotograma e reporta os próximos bytes não decodificáveis como inválidos.
- O átomo MOOV está totalmente em falta. Menos comum — o FFmpeg geralmente devolve especificamente "moov atom not found". Mas, em certos contentores malformados, o FFmpeg recorre à mensagem genérica de dados inválidos.
- Inversões de bits no fluxo do codec. Alguns bytes dentro de 'mdat' foram alterados (erro do sistema de ficheiros, setor defeituoso). O descodificador do FFmpeg vê um pacote malformado e desiste.
Como descobrir qual é o seu caso
Execute o FFmpeg com registo detalhado:
ffmpeg -v debug -i broken.mp4 -f null -
O resultado detalhado geralmente tem uma mensagem mais específica antes do erro genérico de dados inválidos. Procure:
- "moov atom not found" → consulte a nossa página MOOV.
- "invalid NAL unit size" → danos no cabeçalho do codec em H.264 / H.265.
- "Truncated stream" → o ficheiro é cortado a meio do fotograma.
- "no audio stream" → os metadados de áudio estão danificados; o vídeo ainda pode ser recuperado.
- Um nome de átomo específico como 'stco' ou 'stsz' → MOOV está presente, mas malformado.
Se o modo detalhado não ajudar, tente "ffprobe":
ffprobe -v error -show_format -show_streams broken.mp4
Se o 'ffprobe' devolver informações úteis sobre os fluxos, o ficheiro está em melhor estado do que o sugerido pelo erro do FFmpeg.
O que pode tentar fazer por si mesmo
Re-mux sem recodificação
ffmpeg -err_detect ignore_err -i broken.mp4 -c copy out.mp4
O sinalizador '-err_detect ignore_err' diz ao FFmpeg para ignorar erros menores de stream em vez de desistir. Muitas vezes produz um resultado reproduzível, mesmo quando a análise estrita falha. Não corrige problemas estruturais (MOOV em falta, tipo de contentor errado), mas resolve muitos casos de "bit-flip".
Experimente um contentor diferente
ffmpeg -i broken.mp4 -c copy out.mkv
O MKV é um contentor mais tolerante do que o MP4. Se os dados do codec estiverem intactos, a remultiplexação para MKV geralmente produz um ficheiro que é reproduzido em qualquer lugar.
'untrunc' para casos de MOOV em falta
Se o registo detalhado disser "moov atom not found", siga o guia de recuperação MOOV.
Leitor diferente
O VLC, o IINA e o mpv usam todos o FFmpeg nos bastidores, mas com diferentes definições de rigor de descodificação. Por vezes, um ficheiro que falha em 'ffmpeg -i' é reproduzido corretamente no VLC, o que significa que pode transcodificar a partir da reprodução funcional do VLC.
Como a nossa recuperação lida com casos de "dados inválidos"
O diagnóstico no carregamento é a etapa mais importante para estes ficheiros. O nosso pipeline executa:
- Diagnóstico de seis passagens que não depende apenas do FFmpeg — executa o FFmpeg, o MediaInfo e a nossa própria sondagem de cabeçalho ao nível de byte em paralelo e reconcilia os resultados.
- Verificação de contentor independente do formato de ficheiro declarado. Encontramos átomos por assinatura, não por extensão.
- Deteção de codec ao nível do fotograma que funciona mesmo quando o cabeçalho do codec está danificado — derivamos novamente os parâmetros do primeiro fotograma completo.
- Tratamento de truncamento com corte de final seguro se o ficheiro terminar a meio do fotograma.
Na prática, "dados inválidos encontrados ao processar a entrada" transforma-se num caso recuperável na maioria dos ficheiros que vemos. Casos em que não podemos ajudar: corrupção interna de dados de codec (inversões de bits dentro de fotogramas comprimidos) em que o trecho afetado é grande.
O que faz
- Carregue o ficheiro. Até 50 GB.
- Cerca de 1 minuto depois, recebe um diagnóstico e uma pré-visualização gratuita de 5 segundos, quando aplicável. O diagnóstico informa qual é a causa subjacente em questão.
- Se a recuperação for possível, pode pré-visualizar, pagar apenas se funcionar e transferir. Caso contrário, gastou alguns minutos e zero dólares.
FAQ
O FFmpeg deu-me este erro num ficheiro de [câmara específica] — a câmara é importante? Menos do que o padrão de erro. O registo detalhado dir-lhe-á o que está errado; a partir daí, o caminho de recuperação é o mesmo, independentemente da câmara. Consulte as páginas específicas da câmara: Sony A7S III, Canon R5, GoPro Hero 12, DJI Mavic 3, Atomos Ninja.
O erro apareceu depois de eu tentar converter o ficheiro com o FFmpeg. Pergunta importante: ainda tem o ficheiro original? Se tiver, trabalhe nele. Se tiver apenas o resultado do FFmpeg (que pode ter sido gravado de forma incompleta na conversão falhada), o original é o ficheiro recuperável.
O erro aparece a meio de um ficheiro que foi reproduzido durante os primeiros 20 segundos. Problema estrutural a meio do ficheiro. Por vezes, recuperável cortando a secção defeituosa; por vezes, recuperando apenas o início intacto. O diagnóstico no carregamento diz-nos.
O meu ficheiro é tecnicamente um '.mp4', mas a minha câmara grava dados semelhantes a MOV no seu interior. Essa é uma categoria real. O diagnóstico identifica o contentor pelo conteúdo, não pela extensão, por isso vê através da incompatibilidade.
As minhas filmagens estão seguras durante a recuperação? Servidor em França, eliminadas automaticamente após 48 horas, nunca usadas para treinar nada ou partilhadas. Política de privacidade.
Relacionado
- O que significa "MOOV atom not found"
- 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 →