Anyone have their own favorites to add to the list?
I prepare DVDs for my kids very often, for example I concatenate several VCDs into one DVD. I use mencoder along with dvdauthor (or qdvdauthor when menu is required). I do encoding via mencoder manually as this allows me to choose the bitrate, aspect and so on. This is quite simple. As mencoder recognizes input format all you have to do is (in one line):
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=2400:keyint=15:aspect=4/3:acodec=ac3:abitrate=192 -ofps 25 -o name_of_output.mpg path_to_input_file.avi.or.rmvb.or.anythingImportant:
This is valid for PAL video, I guess in USA NTSC is used. Options for NTSC can be found here: http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html#menc-feat-vcd-dvd-all
To change bitrate adjust vbitrate=2400
(up to 9800) and aspect to 16/9 adjust aspect=16/9
To rip dvd or vcd replace only path_to_input_file with dvd:// or vcd:// (you can add chapter number, man mencoder gives you examples). The rest remains intact.
There is also possibilty to deinterlace input file, there are several methods, two examples here:
or remove black borders (man mencoder and search cropdetect and crop) or add subtitles with mencoder:
add this to the above command in one line, adjust encoding, fontname and position
-fontconfig -subcp cp1250 -font Serif -subpos 90 -subfont-text-scale 4
Using dvdauthor is quite simple, however you need to learn how to script its XML config file that describes DVD structure.http://dvdauthor.sourceforge.net/doc/ex-title.html
It is quite simple in simplest cases, ie. when you have MPEGs prepared with mencoder as described before, then to have two chapters from two source mpegs :
<vob file="video1.mpg" />
<vob file="video2.mpg" />
dvdauthor -o path_to_dvd_structure -x path_to_xml_file
Using qdvdauthor for generating menu is a bit tricky as all versions newer that 1.0 keep crashing too much for me. Qdvdauthor also crashes often when it generates preview of video files. I had to change its default engine for this in the settings to solve this problem. Qdvdauthor generates XML for dvdauthor and then the latter does the job.
When you have dvd structure generated somewhere containing AUDIO_TS and VIDEO_TS directories then you can easily burn video dvd project with K3b. Before to do so, you can test if it works fine (especially menus) with xine or VLC, giving the absolute path (from root dir, ie. /home/john/dvd/ not ~john/dvd/ or ../../dvd/) to dvd directory containing VIDEO_TS.