After reading a few guides, and a lot of trial and error, I’ve found this script I wrote works pefect every time, just supply you xvid file with the script and it’ll create the vobs.
You need tcmplex, transcode, and dvdauthor.
#!/bin/bash
FILE=$1
NEWFILE=`basename $FILE avi`vob
rm out.*
transcode -i $FILE \
-y ffmpeg \
--export_prof dvd-pal \
--export_asr 3 \
-o out \
-D0 \
-m out.ac3 \
-J modfps=clonetype=3 \
--export_fps 25
tcmplex -o $NEWFILE -i out.m2v -p out.ac3 -m d
Then to create the dvd structure, do this:
# Do this to add titles:
dvdauthor -o dvd/ -t thevob.vob
# Do this once you've finished adding titles to finish up the disc.
dvdauthor -o dvd/ -T
To burn, I found growisofs kept going funny on me, so I made ISO images first and then just burnt those off with cdrecord/nautilus cd burner.
mkisofs -input-charset default -dvd-video -o disc1.iso dvd/
[update – 3/11/06]
Seems Ubuntu keeps creating iso images that won’t fit on a 4.5GB dvd, so try this if the above fails:
growisofs -input-charset default -dvd-compat -Z /dev/dvd dvd/
All in all, it’s quite a slow process, the transcoding took a while on my celeron-m 1.4ghz, but I guess it’s not the fastest machine around!
Good luck! And remember, always make sure your input file is good before bothering.
[update – 3/11/06]
I’m considering writing a cool python app that does all this crud for you as it’s a real PITA to do manually. Plus I want to learn python and python gui stuff. Plus I think people would find it useful!