Jak mogę naprawić uszkodzony plik AVI?

24

Mam plik .avi o wielkości około 110 MB. Kiedy próbuję odtworzyć go za pomocą VLC Media Player, pojawia się komunikat „Ten plik jest uszkodzony. Czy próbujesz naprawić?” a po wykonaniu tej czynności nadal nie można go odtworzyć.

Czy istnieje jakieś inne oprogramowanie, które może uzyskać z niego dowolne wideo? Może taki, który specjalizuje się w tego rodzaju sprawach? Nie mam wielkiej nadziei, ponieważ pomyślałem, że można by z tego zagrać w VLC, ale pomyślałem, że i tak dam temu szansę ...

Paolo Bergantino
źródło

Odpowiedzi:

12

W przeszłości miałem trochę szczęścia z wieloma uszkodzonymi / niekompletnymi AVI używającymi DivFix , ale nie jestem pewien, czy działa dobrze na czymkolwiek późniejszym niż Windows XP.

Nowszą wersją jest DivFix ++ :

DivXFix ++ ma na celu naprawę uszkodzonych strumieni plików AVI poprzez przebudowanie indeksu części pliku. Jest to bardzo przydatne podczas próby podglądu filmów, które nie mają części indeksu, ponieważ niektóre pliki są obecnie pobierane z sieci ed2k lub bittorent. DivFix ++ to kompletne przepisanie programu „DivFix” ze względu na błędy i niską wydajność.

Nick Josevski
źródło
2
Niesamowite. Zrobiłem to dla pliku wideo o wielkości 799 MB i działało to jak urok. W rzeczywistości ten plik AVI podczas odtwarzania za pomocą VLC napotkał ten sam błąd. Nigdy nie grał w Windows Media Player. Teraz doskonale gra również w Windows Media Player. Nick - Wielkie dzięki!
Kanini
@Kanini, cieszę się, że DivFix pomógł :)
Nick Josevski
14

Oto kilka programów, które mogą pomóc:

  • VLC powinien zaoferować Ci naprawienie uszkodzonego indeksu pliku AVI podczas jego otwierania.
  • DivFix ++
  • AviFiXP (działa tylko w systemie Windows)

Tutaj jest obszerny samouczek dotyczący naprawy uszkodzonych plików AVI: Napraw uszkodzone lub uszkodzone pliki AVI - AfterDawn: Przewodniki

Możesz także spróbować odbudować kontener, wykonując kopię strumienia bitów za pomocą FFmpeg :

ffmpeg -i input.avi -c copy output.avi
slhck
źródło
1
W wersji ffmpeg 0.6.2 użyj -vcodec copy -acodec copyzamiast -c copy. Użyłem (dla Windows) tej wersji . Musiałem naprawić kilka plików. DivFix ++ zawiesił się na mnie. ffmpeg było świetne. Dzięki.
sinelaw
ffmpeg naprawił uszkodzony indeks moich plików avi wideo
Elias Estatistics
3

VirtualDub potrafi robić niesamowite rzeczy z uszkodzonymi plikami AVI. Po prostu otwórz plik w VirtualDub, pozwól mu ugotować, a następnie, jeśli zostanie pomyślnie otwarty, zapisz go ponownie jako nowy plik AVI. Zwykle nawet nie trzeba zmieniać ustawień kompresji.

Electrons_Ahoy
źródło
Ach, VirtualDub jest dobrą rekomendacją, ale nie był w stanie zrobić z tym przysiadu.
Paolo Bergantino
Przykro mi to słyszeć. Mam nadzieję, że znajdziesz coś, co działa - zauważając, że jest to bardziej frustrujące niż plik 100 megabajtów, którego nie możesz użyć!
Electrons_Ahoy
2

Jest odtwarzany o nazwie SuperDecoder .

mogłem z nim odtwarzać naprawdę pomieszane pliki i płyty CD / DVD. Możesz spróbować.

MN
źródło
1

Wszystkie dobre pomysły na naprawę uszkodzonego indeksu AVI (preferuję ffmpeg), ale przyczyniają się tutaj do znalezienia plików avi, które mają uszkodzony indeks, aby je przetestować i proaktywnie naprawić. Po nieudanej próbie użycia mediainfo ffprobei innych do wykrycia plików, na które VLC narzekałby, w końcu zdecydowałem się użyć, vlcponieważ to ten, który narzeka. Oto fragment, który może być przydatny jako część skanu i skryptu automatycznej naprawy.

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

Uwaga: uwzględniono alternatywne metody zatrzymywania (aby nie odtwarzało całego wideo przed wyjściem), ponieważ niektóre wersje VLC mają błąd w --stop-time, a inne systemy mogą go nie mieć timeout.

user2070305
źródło
-1

Do tej pory miałem dobre doświadczenia z Media Player Classic i The KMPlayer. Mogą odtwarzać pliki, które zostały częściowo pobrane lub podzielone na części (na przykład przez hjsplit).

Myślę, że mogą grać w twoje.

Chociaż zależy to również od rodzaju kodeka, a więc ...

Wieża
źródło