How can I check the integrity of an avi file and repair it automatically in Linux?

8,239

Solution 1

try using mencoder (the encoding part of mplayer) like this:

mencoder -idx problemfile.avi -ovc copy -oac copy -o reindexedfile.avi

(via http://www.kahunaburger.com/2010/01/30/fixing-an-avi-index-with-mencoder/)

Solution 2

Force index

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

Copy all

mencoder -ovc copy -oac copy input.file -o output.file  

Also see https://stackoverflow.com/questions/894903/how-can-i-validate-a-video-file-from-a-script

Share:
8,239

Related videos on Youtube

Alex
Author by

Alex

Updated on September 18, 2022

Comments

  • Alex
    Alex almost 2 years

    I have an avi file and tried to check it as suggested here. But after a short while I just got a segmentation fault, without any other information!

    How is it possible to fix/repair this avi file? Watching this file with mplayer just works fine, using it with ffmpeg or kdenlive is causing errors!

    System: Ubuntu 13.10 Size file: 4.2 GB

    Addition:

    Here is part of the output(begin and end) when running the command (the FULL output is about 1 MB of text!)

    ffmpeg -v error -i file.avi -f null -
    
    Stream mapping:
      Stream #0.0 -> #0.0
      Stream #0.1 -> #0.1
    Press ctrl-c to stop encoding
    [dvvideo @ 0x21f39c0] AC EOB marker is absent pos=64
        Last message repeated 1 times
    .....
    (These kind of lines repeat over and over and over. I really do not see a point providing them all. There are no build information. Interlaced in the output are lines like:
    frame=  124 fps=  0 q=0.0 size=      -0kB time=4.00 bitrate=  -0.0kbits/s
    )
    ....
        Last message repeated 3 times
    [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=69
    [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=65
        Last message repeated 1 times
        [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=71
    [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=75
    [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=64
        Last message repeated 2 times
    [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=70
    [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=71
    [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=67
    [dvvideo @ 0x1fad9c0] AC EOB marker is absent pos=65
    Segmentation fault (core dumped)
    
    • Elisa Cha Cha
      Elisa Cha Cha over 10 years
      What's wrong with the avi file? Why don't you show the actual errors? Can you provide a small sample file that will allow us to attempt to duplicate whever issue you are experiencing? Your ffmpeg command and the complete console output are important information.
    • Alex
      Alex over 10 years
      As mentioned in the question, I got a segmentation fault, without any other message output. Maybe I can enable some debugging for ffmpeg? If so, how?
    • Alex
      Alex over 10 years
      I have updated the question with some of the output ffmpeg` created. If people want to have a sample: How to create this sample?
    • Alex
      Alex over 10 years
      Yes, I do not think this is possible. Its about 1 Megabyte! If you give your email address, I can email you the complete 1 Mega-Byte output of the command !!!
    • Alex
      Alex over 10 years
      See updated question
    • Elisa Cha Cha
      Elisa Cha Cha over 10 years
      The build information is missing. Provide the first ~50 lines of the console output, and provide the last ~50 lines of the console output.
    • Alex
      Alex over 10 years
      With the command as specied above I get the output as given above. Again: I get EXACTLY the output as given above. There is NO build information. Again: There is no build information. I ONLY get the output as above! If you need other information please provide a way to get it!
    • Elisa Cha Cha
      Elisa Cha Cha over 10 years
      Then I can only suggest to download a recent ffmpeg build and test with it.
    • harrymc
      harrymc over 10 years
      In this thread at least the errors of "AC EOB marker is absent" was caused by the x264 that ffmpeg was using, which was fixed by installing gpac-devel-static (on fedora).
    • Costin Gușă
      Costin Gușă over 10 years
      post the output of mplayer -identify filename.avi