@struct wrote:
Just tried 0.2.1. Same problem as with 0.2: console windows for memcoder just pop up for split second. There must be something wrong with the mencoder call. Then, winavi crashes, since there is no input file.
Unfortunately I have no idea how to debug this. How could I pause the mencoder console in order to read what goes wrong?
struct
Think I found the problem now: permissions!
- When the .deb file is installed, avimuxgui is copied to /usr/share/video4fuze/avimuxgui. However, this directory is per default not writeable for a normal user, but the windows program tries to write to its configuration files in the installation directory. Thats why avimuxgui didnt work. As a solution I link/copy avimuxgui to a local directory (users home account), where the configuration can be written.
- mencoder always creates temparary files for the 2pass encoding. In the shell script the directory is changed to /usr/share/video4fuze, before video4fuze is started. Thus, mencoder tries to create the tempoaray files in this folder, where the user is not allowed to write. As a result, mencoder doesnt work
To solve this I used the following starter script for video4fuze:
#!/bin/sh # installation directory V4FDIR=/usr/share/video4fuze # where to put local (per user) installation of avimuxgui if [-z "$WINEPREFIX"] then DRIVEC=$HOME/.wine/drive\_c else DRIVEC=$WINEPREFIX/drive\_c fi # install local avimuxgui if it does not exist yet if [! -d $DRIVEC/avimuxgui] then mkdir -p $DRIVEC/avimuxgui # link everything that does not need to be writeable ln -s $V4FDIR/avimuxgui/\* $DRIVEC/avimuxgui/ # make local copies for files, that need to be writeable cp -f "$V4FDIR/avimuxgui/config.ini.amg" $DRIVEC/avimuxgui/ cp -f "$V4FDIR/avimuxgui/gui.amg.xml" $DRIVEC/avimuxgui/ fi python $V4FDIR/video4fuze.pyw
I also changed fuze.py to reflect the new loaction of avimuxgui:
# jba 2009-08-24 wineprefix = os.environ.get('WINEPREFIX') if wineprefix != None: amgexe = os.path.join(os.path.join(wineprefix,"drive\_c"),"avimuxgui","AVIMux\_GUI.exe") else: amgexe = os.path.join(os.environ.get('HOME'),".wine/drive\_c/avimuxgui","AVIMux\_GUI.exe") call(["wine",amgexe,"C:\\fuze.amg"]) # jba 2009-08-24
instead of
call(["wine",os.path.join(os.getcwd(),"avimuxgui","AVIMux\_GUI.exe"),"C:\\fuze.amg"])
And I added a line to remove the log-file from mencoder
else: print "\'" + argument + "\'" + ": file not found" # jba 2009-08-24 os.remove("divx2pass.log") # jba 2009-08-24 print "temporary files are: " print tempfiles
With these changes, everything runs fine.
If someonewants to try, before ssorgatem is back, just send me an email to and send the changed files.
struct