Hi,
When I burn my own DVDs I first convert the .mp4 (or .flv) videos to .mpg using ffmpeg.
This .mpg file has the video encoded using the mpeg2 codec, and the audio using the A52 codec.
I usually have fairly low quality video source, so normally I use 352x288 (CIF) resolution @ 16:9.
Then I build a menu using tovid menu (which also needs ImageMagick).
Create an xml file of instructions for dvdauthor using tovid xml.
Build the DVD filesystem - .vobs etc. using dvdauthor
Finally burn using growisofs
That's on Linux. Fairly straightforward.
Cheers,
Peter