Як я можу відновити зламаний файл AVI?


24

У мене є файл .avi, який становить близько 110mb. Коли я намагаюся відтворити його з VLC Media Player, він каже щось на кшталт "Цей файл зламаний. Спроба відновлення?" і після того, як вона робить свою справу, вона все ще не може її відтворити.

Чи є якесь інше програмне забезпечення там, яке, можливо, може отримати будь-яке відео, яке воно може отримати? Може, та, яка спеціалізується на такій речі? Я не дуже сподіваюся, тому що я подумав, що з нього можна буде зіграти що-небудь, але VLC вдалося б це зробити, але я подумав, що все-таки я дам йому зняти ...

Відповіді:


12

У минулому я мав певну удачу з великою кількістю зламаних / неповних AVI з використанням DivFix , але не впевнений, чи добре він працює на що-небудь пізніше Windows XP.

Більш нова версія - DivFix ++ :

DivXFix ++ призначений для відновлення порушених потоків файлів AVI шляхом відновлення індексної частини файлу. Це дуже корисно при спробі попереднього перегляду фільмів, які не мають індексної частини, як, наприклад, деякі файли, які зараз завантажуються з мереж ed2k або біторентів. DivFix ++ - це повне перезапис програми "DivFix" через помилки та низьку продуктивність.


2
Дивовижно. Я зробив це для 799 Мб відеофайлу, і він працював як шарм. Насправді цей файл AVI під час відтворення з VLC виникла з такою ж помилкою. Він ніколи не грав на Windows Media Player. Тепер він прекрасно грає і в Windows Media Player. Нік - велике спасибі!
Каніні

@Kanini, рада, що DivFix допоміг :)
Нік Хосевський

14

Ось кілька програм, які можуть допомогти:

  • Під час відкриття файлу VLC повинен запропонувати вам виправити пошкоджений індекс файлу AVI.
  • DivFix ++
  • AviFiXP (працює лише в Windows)

Тут є великий підручник з ремонту зламаних файлів AVI: Відновлення зламаних або пошкоджених AVI-файлів - AfterDawn: Посібники

Ви також можете спробувати відновити контейнер, зробивши побітну копію з FFmpeg :

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

1
З ffmpeg 0.6.2 використовуйте -vcodec copy -acodec copyзамість -c copy. Я використовував (для Windows) цю версію . Я мав купу файлів, щоб виправити. DivFix ++ врізався в мене. ffmpeg був чудовий. Спасибі.
sinelaw

ffmpeg виправив зламаний індекс моїх файлів відео-
аві

3

VirtualDub може робити надзвичайно дивовижні речі зі зламаними AVI-файлами. Просто відкрийте файл у VirtualDub, дайте йому готуватись, а потім, якщо він буде успішно відкритий, повторно збережіть його як новий AVI-файл. Зазвичай вам навіть не потрібно змінювати настройки стиснення.


А, VirtualDub - хороша рекомендація, але вона не змогла зробити присідання з цим.
Паоло Бергантіно

Людино, шкода, що це чую. Сподіваємось, ви знайдете щось, що спрацьовує - відзначаючи більш розчаровуючий файл, ніж 100 мег, який ви не можете використовувати!
Electrons_Ahoy

2

Існує гра, яку називають SuperDecoder .

змогли відтворити дійсно зіпсовані файли та компакт-диски з ним. Ви можете дати йому постріл.


2

У мене були деякі AVI, які VLC навіть не намагалися відремонтувати, і DivFix ++ дав мені шукати помилки. Передати їх через ffmpeg не вдалося, але mencoderзробили (це дуже швидко):

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

(mencoder є частиною mplayerпакету для більшості систем, наприклад, brew install mplayerна Homebrew.)

Дивіться також: Як я можу перевірити цілісність файлу avi та автоматично його відновити в Linux?


1

Всі хороші ідеї щодо того, як відновити зламаний індекс AVI (моє вподобання ffmpeg), але тут сприятимуть пошуку файлів avi, які мають зламаний індекс, щоб перевірити їх та активно відновити їх. Після безуспішної спроби використання mediainfo ffprobeта інших для виявлення файлів, на які vlc скаржиться, я нарешті вирішив використати, vlcоскільки це був той, хто скаржиться. Ось фрагмент, який може бути корисним як частина сканування та автоматизованого сценарію ремонту.

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

Примітка: альтернативні способи зупинки (щоб вона не відтворювала все відео перед виходом) включені, оскільки деякі версії VLC мають помилку - час зупинки, а інші системи можуть не мати timeout.


-1

До цього часу я мав хороший досвід роботи з Media Player Classic і KMPlayer. Вони можуть відтворювати файли, які були частково завантажені або розбиті на частини (наприклад, hjsplit).

Я думаю, що вони можуть зіграти твої.

Хоча, це також залежить від типу кодека і так ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.