This page lists error messages and other problems that may occur when using programs in the tovid suite, along with any known solutions.
Command-line errors Edit
ERROR: charset conversion failed Edit
This is a problem that crops up with some versions of 'vcdxbuild'. If it happens to you, try using:
vcdxbuild --filename-encoding=iso8859-1 my_disc.xml
unable to open64("/dev/dvd",O_RDONLY): Permission denied Edit
If you get this error with makedvd, it probably means you don't have permission to burn DVDs, and must burn them as the root user. To burn as root, run
su -c "makedvd -burn MyDisc.xml"
mkfifo: cannot create fifo 'stream.yuv': Operation not permitted Edit
This may occur if you are using Windows filesystems like vfat, NTFS, or another filesystem that doesn't support FIFOs. To remedy this, run tovid from a Linux filesystem (like ext3 or reiserfs), or edit your ~/.tovid/preferences file and set:
giving a directory on a FIFO-capable filesystem.
Syntax error: Bad substitution Edit
GUI errors Edit
Note: this ImportError is irrelevant in recent tovid versions, as the wxpython gui was removed in favor of a tkinter gui.
ImportError: No module named libtovid.gui.frames Edit
(or similar) This means libtovid is installed where Python can't find it. On some distributions (Gentoo, Slackware, Arch, and Fedora Core 4 reported), Python does not include /usr/local in its module search path--meaning, if libtovid is there, it won't work. One way to fix this is to run:
when installing tovid. Another solution is to create a symbolic link (as root): (Note: some distros use 'dist-packages' rather than 'site-packages' - be sure to check which yours uses.)
ln -s /usr/lib/python2.4/site-packages \ /usr/local/lib/python2.4/site-packages
In case you are running openSUSE 10.1 x64_64, you should create a symbolic link (as root) with the following command:
ln -s /usr/lib/python2.4/site-packages/libtovid/ \ /usr/lib64/python2.4/site-packages/libtovid
This problem can also occur if your default version of python is different to the one expect by tovid. For example, on my machine it is 2.4 :
ls -l `which python` lrwxrwxrwx 1 root root 9 2007-01-04 18:50 /usr/bin/python -> python2.4
but the latest packaged version of tovid uses python2.5.
My naive, short sighted solution was to use an older version of tovid, which uses python2.4.
Other problems Edit
Missing output file Edit
If tovid says "Copying the existing audio stream ...", and you end up with no .mpg file at the end, chances are that multiplexing failed (though tovid may say otherwise). Try using the -force option. This will force the audio stream to be re-encoded, and multiplexing should work.
If you continue to experience problems, use the -keepfiles option to save the streams, in case multiplexing fails--then you may be able to manually multiplex them.
(The following command is for VCD's only !) If even that fails, as it did for me on a couple of avi's, try using something from the command line like:
$ mencoder INFILE -ofps 25 -ovc lavc -oac lavc \ -vf scale=352,harddup \ -srate 48000 -af lavcresample=48000 \ -lavcopts codec=mp2:abitrate=224:vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:vrc_maxrate=1152:vbitrate=1152:keyint=15:aspect=4/3 \ -of mpeg -o OUTFILE
Then run your usual tovid on the resulting OUTFILE. This worked for me, although it added a step. I was trying to create dvd-vcd files (hence the 48000 sample rate), and I couldn't figure out the video flags to send to end up with correct video. This cleans up the file to a point and I didn't have any problems with them afterwards.
No sound when encoding Matroska (.mkv) files Edit
Matroska files present a few rather esoteric problems; one that seems to happen more regularly than most is the audio track is silent, even when -force is used. In such cases, the simplest fix seems to be to use mencoder to create an avi with pcm sound, then encode that avi.
mencoder -oac pcm -ovc copy -o FILENAME.avi INFILE
will create a file that encodes with no problem.
This problem occurs more on older CRT-based televisions, but it's not unheard of on LCDs either. The problem lies in the fact that some televisions have a percentage of the screen outside the visible area, so subtitles are there, but are often partially or totally obscured.
The solution to this is to use tovid's safe area, but it's important to let mencoder know not to use the subsequent border for the subtitles. The optimum solution (for my television, at any rate) is to use a border of 10% of the screen size.
Add to ~/.mplayer/mencoder.conf the line
This will allow the full subtitle to be read.
Sox error Edit
If you are on a debian based distro like Ubuntu (or debian !), and you get an error similar to:
sox soxio: Failed reading `/tmp/todisc-work.1/intro.wav': unknown file type `auto' mv: cannot stat `/tmp/todisc-work.1/intro-processed.wav': No such file or directory
it is caused by the fact that the sox package was split into many sub packages some time ago. The problem is solved by:
apt-get install libsox-fmt-all
New SoX version Edit
Affects 0.31 tovid and older only, fixed in newer versions and irrelevent in 0.35
Newer SoX versions (14.1.0 for sure) have changed the command line options for sample size. What used to be
-b|-w|-l for byte, word and long
-1|-2|-3|-4|-8 for sample size in bytes.
So the line in todisc <=0.31 that is currently
cat /dev/zero 2>/dev/null | nice -n 0 sox -t raw -c 2 -r 48000 -w \ -s - $WORK_DIR/intro.wav trim 0 $MENU_ATIME
must be changed to
cat /dev/zero 2>/dev/null | nice -n 0 sox -t raw -c 2 -r 48000 -2 \ -s - $WORK_DIR/intro.wav trim 0 $MENU_ATIME