Avdump2 on Linux: Difference between revisions

Second batch of Avdump2 on Linux notes
(First bunch of Linux usage notes)
 
(Second batch of Avdump2 on Linux notes)
Line 24: Line 24:
'''Library search path missing'''
'''Library search path missing'''


Most likely Mono can’t find the binary library even if it’s in the same directory as <tt>Avdump2CL.exe</tt>. Then you’ll have to set the environment variable <tt>LD_LIBRARY_PATH</tt> to point to the diretory into which you extracted Avdump2. Write yourself a wrapper script to do that or have a look at the example wrapper scripts below.
Most likely Mono can’t find the binary library even if it’s in the same directory as <tt>Avdump2CL.exe</tt>. Then you’ll have to set the environment variable <tt>LD_LIBRARY_PATH</tt> to point to the diretory into which you extracted Avdump2. Write yourself a wrapper script to do that or have a look at the example wrapper scripts below. Sometimes you’ll also have to set <tt>MONO_PATH</tt> to point to the same directory.


'''Incompatible GLIBC'''
'''Incompatible GLIBC'''
Line 33: Line 33:


If you modified ''any'' of the required files Avdump2 came with, you will usually get the misleading error ''Either the client is outdated or your username/password combination is wrong.'' So no, you can’t edit the config file either.
If you modified ''any'' of the required files Avdump2 came with, you will usually get the misleading error ''Either the client is outdated or your username/password combination is wrong.'' So no, you can’t edit the config file either.
== Workarounds ==
''' The cursor caret is gone and output resumes at the far right edge of the terminal window when I abort Avdump2 with ^C or it exits with some error.'''
Avdump2 doesn’t reset the console properly when you abort it or when it runs into a Mono-specific error. You can restore the cursor with <tt>setterm -cursor on</tt> and a simple <tt>echo</tt> if you write a wrapper for that. See examples below.
'''I can’t dump files that have spaces in their name.'''
This has been observed with Mono 2.4 but not with Mono 2.8. If it applies to you, you can add additional quotation marks to the parameters because Avdump2 can do its own parameter handling: <tt>Avdump2CL.exe -0 "\"file with spaces.mkv\""</tt> As you can’t use standard shell expansion like <tt>*.mkv</tt> with that, you’d better use the appropriate wrapper sript from below.
== Wrapper Scripts ==
To make using Avdump2 more comfortable, you can use or modify one of these wrapper scripts to handle all the workarounds. Save it as <tt>/usr/local/bin/avdump2cl</tt>, for example. These examples assume that you extracted Avdump2 to <tt>/usr/local/lib/avdump2</tt>.
A simple wrapper to set the <tt>LD_LIBRARY_PATH</tt> and to fix the cursor after using ^C:
<pre>
#!/bin/bash
export LD_LIBRARY_PATH=/usr/local/lib/avdump2
# If libMediaInfo still can't be found, uncomment this.
#export MONO_PATH=$LD_LIBRARY_PATH
if ! mono /usr/local/lib/avdump2/AVDump2CL.exe "$@" ; then
  echo
  setterm -cursor on
fi
</pre>
A more elaborate wrapper to add quotation marks to filenames with spaces in them if your Mono version doesn’t handle them properly:
<pre>
#!/bin/bash
export LD_LIBRARY_PATH=/usr/local/lib/avdump2
declare -i i=0
declare -a params
while [ $# -gt 0 ]; do
  if [ -z "${1##* *}" ]; then
    params[$i]="\"${1}\""
  else
    params[$i]="${1}"
  fi
  shift
  i=$i+1
done
if ! mono /usr/local/lib/avdump2/AVDump2CL.exe "${params[@]}" ; then
  echo
  setterm -cursor on
fi
</pre>
== Things That Just Don’t Work ==
Some things just don’t work on Linux and you’ll have to live with that. :P
'''Avdump2 corrupts the terminal or crashes with a ''DisplayBuffer'' error when I resize the terminal window.'''
The output routine used to draw the Avdump2 progress bars is not very compatible with the <tt>curses</tt>-based output used by Mono. Enlarging the terminal window usually results in writing over previous lines and shrinking the terminal window usually results in crashes because Avdump2 tries to write to areas that don’t exist anymore.
Solutions: Don’t resize the terminal window while Avdump2 is running or use the <tt>-w</tt> option to disable the progress bars.
== Unconfirmed Trouble ==
* Donefiles might not work with relative paths, so use an absolute path instead.
* Automatically deleting files might not work, files just stay there. Delete them manually instead.
* Avdump2 might exit with a return code of <tt>0</tt> on some errors, so don’t rely on the return code.
22

edits

MediaWiki spam blocked by CleanTalk.
MediaWiki spam blocked by CleanTalk.