it-swarm-pt.tech

Como posso reparar um arquivo AVI quebrado?

Eu tenho um arquivo .avi que tem cerca de 110mb. Quando tento reproduzi-lo com o VLC Media Player, ele diz algo como "Este arquivo está quebrado. Tentativa de reparo?" e depois que ele faz as coisas, ainda não consegue reproduzi-lo.

Existe algum outro software por aí que possa obter o vídeo que conseguir? Talvez um especialista nesse tipo de coisa? Não estou muito esperançoso, porque imaginei que qualquer coisa poderia ser reproduzida com isso, o VLC teria conseguido fazê-lo, mas achei que daria uma chance de qualquer maneira ...

24
Paolo Bergantino

Eu tive alguma sorte no passado com muitos AVIs quebrados/incompletos usando DivFix , mas não tenho certeza se funciona bem em algo posterior ao Windows XP.

Uma versão mais recente é DivFix ++ :

O DivXFix ++ foi desenvolvido para reparar fluxos de arquivos AVI quebrados, reconstruindo parte do índice do arquivo. Isso é muito útil ao tentar visualizar filmes que não possuem parte de índice, como alguns arquivos atualmente estão sendo baixados de redes ed2k ou bittorent. O DivFix ++ é uma reescrita completa do programa "DivFix" devido a erros e baixo desempenho.

12
Nick Josevski

Aqui estão alguns programas que podem ajudar:

  • VLC deve oferecer a correção de um índice de arquivo AVI quebrado quando você abrir o arquivo.
  • DivFix ++
  • AviFiXP (roda apenas no Windows)

Há um extenso tutorial sobre como reparar arquivos AVI quebrados aqui: Reparar arquivos AVI quebrados ou corrompidos - AfterDawn: Guides

Você também pode tentar reconstruir o contêiner fazendo uma cópia de fluxo de bits com FFmpeg :

ffmpeg -i input.avi -c copy output.avi
14
slhck

VirtualDub pode fazer coisas surpreendentes com arquivos AVI quebrados. Basta abrir o arquivo no VirtualDub, deixá-lo cozinhar e, se for aberto com êxito, salve-o novamente como um novo arquivo AVI. Normalmente, você nem precisa alterar as configurações de compactação.

3
Electrons_Ahoy

Todas as boas idéias de como reparar o índice AVI quebrado (minha preferência é ffmpeg), mas contribuindo aqui para encontrar encontrar arquivos avi que possuem o índice quebrado para testá-los e proativamente repará-los. Depois de tentar, sem sucesso, usar mediainfoffprobe e outros para detectar arquivos dos quais o vlc reclamaria, eu finalmente decidi usar vlc, já que era o que estava reclamando. Aqui está um trecho que pode ser útil como parte de um script de verificação e reparo automatizado.

if grep -q "avi demux error" \
    <(cvlc --vout null --aout null --stop-time 2 "${VIDFILE}" vlc://quit 2>&1 )
    # alternate ways to stop after two seconds
    #<(timeout 2 cvlc --vout null --aout null "${VIDFILE}" 2>&1)
    #<(cvlc --vout null --aout null "${VIDFILE}"  2>&1 & sleep 2; kill $!)
then
    echo "avi demux error: ${VIDFILE}"
    exit 1
fi

Nota: os métodos alternativos de parada (para que ele não reproduza o vídeo inteiro antes de sair) estão incluídos porque algumas versões do VLC têm um bug no --stop-time e outros sistemas podem não ter timeout.

2
user2070305

Eu tinha alguns AVIs que o VLC nem tentou consertar e o DivFix ++ me deu erros. Passá-los pelo ffmpeg não funcionou, mas mencoder funcionou (é muito rápido):

mencoder -idx input.avi -ovc copy -oac copy -o output.avi

(mencoder faz parte do pacote mplayer na maioria dos sistemas, por exemplo, brew install mplayer no Homebrew.)

Veja também: Como posso verificar a integridade de um arquivo avi e repará-lo automaticamente no Linux?

2
William Turrell

Existe uma jogada chamada SuperDecoder.

foram capazes de reproduzir arquivos e CD/DVDs realmente bagunçados. Você pode tentar.

2
M.N