DivFix++ is a free opensource GUI utility to repair/fix broken AVI files. DivFix++ is designed to repair broken AVI file streams by rebuilding index part of file. This is very useful when trying to preview movies which has no index part. DivFix++ can check AVI files for errors,strip the index of the AVI files and ofcourse fix AVI files with errors. DivFix++ also has a CLI interface that can included into scripts and perform batch checks or fixes in the background. DivFix++ is a complete rewrite of the original DixFix and is a multi-platform software as it is written by cross-platform API, wxWidgets.
Install DivFix++
Click this supported on openSUSE 11.1/11.0/10.3/10.2 from packman to install DixFix++. This should download the YMP file and automatically launch the YaST package manager to add the required Repositories and download and install DixFix++ and the required dependencies. Click next on the DixFix++ installation screen and Next again on the installation proposal window. This should start adding the required repositories, download and install DixFix++ and its required dependencies. Click Finish when the installation completes successfully.
NOTE: Click here for a how to on enabling 1-click install in openSUSE 10.2
This should install DixFix++ under “Applications – Multimedia – Media Editing”. The path to CLI is /usr/bin/DivFix++
opensuse11:~/ # which DivFix++
/usr/bin/DivFix++
Click DixFix++ to start the utility for the first time. As you can see, the interface is almost self explaining although I got a bit confused with the box for the destination directory right at the top to be the source. The following image should explain what every other box and button is meant for. Simply, add the files from “Add Files” button and then either check for errors or strip the index or even fix it if there are any errors.
The command line options are as follows:
opensuse11:~/ # DivFix++ -h
Usage: DivFix++ [-i <str>] [-o <str>] [-p] [-f] [-w] [-a] [-s] [-m <str>] [-h] […]
-i, –input=<str> input file
-o, –output=<str> output file or directory
-p, –preview delete output file after player is closed
-f, –fix_index_only doesn’t cuts out bad parts of file
-w, –overwrite overwrite original file
-a, –all_frames doesn’t skip unwanted frames
-s, –skip_fix skips fix process if index is available
-m, –media_player=<str> path of player
-h, –help shows help
To simply preview the AVI file, run the DixFix++ utility with a media player as follows
opensuse11:~/ # DivFix++ -m mplayer test.avi
MPlayer dev-SVN-r27637-4.3-openSUSE Linux 11.1 (x86_64)-Packman (C) 2000-2008 MPlayer Team
CPU: Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz (Family: 6, Model: 23, Stepping: 6)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Creating config file: /root/.mplayer/config
Can’t open joystick device /dev/input/js0: No such file or directory
Can’t init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.Playing /DivFix++.test.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO: [XVID] 704×304 12bpp 25.000 fps 1164.6 kbps (142.2 kbyte/s)
Clip info:
Software: VirtualDubMod 1.5.4.1 (build 2178/release)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 160.0 kbit/11.34% (ratio: 20000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
Starting playback…
VDec: vo config request – 704 x 304 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 2.32:1 – prescaling to correct movie aspect.
VO: [xv] 704×304 => 704×304 Planar YV12
A: 53.7 V: 53.7 A-V: 0.000 ct: 0.000 1344/1344 6% 0% 1.0% 4 0
Click here to visit the project homepage.
Same could be done with just mplayer by using -idx option.
My mplayer doesn’t think same with George.