Visit Jeremy's Blog.
Go Back > Linux Answers > Applications / GUI / Multimedia
User Name


By craigevil at 2006-12-29 05:41
HowTo: Create a DVD, with menus, Complete steps

The following steps were done running Debian Sid, your results may varying using a different distro or release of Debian.

The term is called "authoring", as I have found out.

First, you are going to need a DVD authoring program, a video editing program, and possibly, a video conversion program (chances are, you really are going to "need" the conversion program, because the authoring program tends to use it, by default)

So, here is your shopping list:
dvdauthor - Backend program to the graphical user program
qdvdauthor - Front end program to the backend program
movie-to-dvd - Video conversion program
VIDEO EDITORS: ( if you need one )
lives - which works, but saves in an obscure output format
cinelerra - production level - video editor
avidemux - simple, easy, and works well with avi files

The first two are easy... running on Debian, with the usual multimedia repositories, you simply need to apt-get update, and then apt-get install dvdauthor qdvdauthor - both done in a root konsole

The third, is actually part of a "package", or host, of utilities, found from VideoTrans. Simply go to the following web site ( ), follow the steps to download the tarball. Place the tarbar in a place you can find it using a root konsole.

If you configure, make, and make install the VideoTrans programs using root, they will be available to the whole system, whereas, if you choose, you can do these steps as a user, but, the programs will only be available to that user. For demonstration purposes, I am using root.

Open a root konsole, cd to the location you saved that tarball, and issue the following command: ( depending on what variation you downloaded, do the command associated with it )

For a tar.gz
tar -xvzf videotr [then press tab to complete the filename]
For a tar.bz2
tar -xvf --bzip2 videotr [then press tab to complete the filename]
For a tar
tar -xvf videotr [then press tab to complete the filename]

After this step, it should have unpacked everything, and placed it into a folder named after the file you just ran the tar command on, cd videotr [tab] should get you the completion of the folder, and press [enter]

You should now be in the videotrans-[version] folder, you can read up on what we are going to be doing by viewing the "INSTALL" file, which basicaly will be doing the following steps:

./configure -=- you may get a WARNING message reporting you should be running a specific version of "mplayer", and that "unpredictable" results may occur, if you are not running that version... I did a check, using apt-cache policy mplayer, and found that, running SID, and using SID's repositories, that I had the most current version, and havent seen any problems - take this as a grain of salt, unless you have problems

make install

If no errors, which I had none, you should be prompted that VideoTrans is complete, and installed - you now have the scripts to convert movie files to the VOB format, or, to dvd format

Now the fun...

I did finally find a nice video editor, and, its only available in Linux, cinelerra. This video editor, is, for the Big Boys, and may be far more than what an "average" person would need, or want, but, it appears to do what I need it to do... Edit video files.

Small problem, all the information I could find about cinelerra, was, compile from source only. And then, I found the following link:

Which, as it reads, is a location for us nice people who use Debian SID, and the wonderful apt package manager system. You only need to add a few lines in your /etc/apt/sources.list file, do a apt-get update, and POOF, you can apt-get install cinelerra ! Easy to get, only, it comes at a price...

Cinelerra only reads .mov file formats... Which, if you are like me, I've got .avi format, and cinelerra refuses to acknowledge they even exist, or wont load them.

Well, after digging around, I seem to have found a nice way to convert those .avi files over to .mov format. use the following:
ffmpeg -i [inputfilename.avi] []

When it, finally, completes, you should have a converted "inputfilename.avi" file in "" - so you can fire up cinelerra, load the .mov, edit it, and save it... The finished, editted file, should be able to import, as any other video format file, into qdvdauthor as usual.

An easier video editor, but, not sure on this, is avidemux. It worked perfectly for my small editing project, its simple, easy, and is available with a apt-get. The part I am not sure about is, it may only be a avi video editor, which, if that is the case, and you are in a situation opposite from mine, you have one format, and all the editors all use a different format, you are going to be running around trying to find the "exact" video editor for your format, or converting. I like using the avidemux editor though. I got into my avi file, edited it, quickly, saved it, and was done, in fast time.

If it sounds like "a lot" of time is spent "waiting" for something, you have gotten my hints well. The process of converting anything to anything, in video, takes a lot of time, as I have found out. The conversion of an avi video file to a mov, took more than an hour. And, as you will see below, this is not uncommon. From what I have found, the average conversion time for a 50 minute "movie", is more than an hour. So, be prepared to have your system "throttled" in CPU usage, for a lengthly time. I now understand why those "Big Boys" have to wait for a final output product, even if they want to check, or test, something. Even though, animation runs with "render" time, it still takes as much time if you want to deal with movies.

Ok, so, now lets get started... You, I assume, want to take some "movies" and get them placed on a handy DVD. In my case, as I "know" is the same in yours, is, these "movies" are home movies, personal, and are not illegal copies of any copywrited material. In my case, I was elected to make a family reunion DVD of all the families (emailed) video files. All of which were in .avi format, so I will use this as examples

For simplistic terms, we will say we have three avi movie files, each running approximately 30 minutes each, having a total running time of 1.5 hours - the avi files have audio, as well as video. Chances are, the image format is not in the format used by either PAL or NTSC, mine were 640x480 resolution ( which is not a resolution in either of these two formats ), so conversion is going to be necessary

Here is my Project DVD:
I want a DVD, complete with menus, so you can select any of the three "seperate" movies, possibly a "Play All" option, but not required

I want to have a "quick" ( possibly 2 minute ) "segment" played when the DVD starts playing, just before the menu

I want to have a "quick" ( possibly 30 seconds ) "segment" played when you select an option from the menu

The rest of this stuff is conjecture, cause I havent gotten a chance to test this, but, my guess is, using qdvdauthor, if you make a menu that points to a specific "movie", that when that finishes, it "should" continue to the next, till the end. In my case above, selecting the menu entry for the FIRST movie, should play the FIRST movie, then go to the SECOND movie, then the THIRD movie, then go back to the menu. I cant confirm this though. So a "Play All" selection would simply be the same as the FIRST movie selection ( I dont know? )

What we need to use to create those "quick segment" videos, is a video editing program, you will also need some way to take a snapshot of the last frame you want to use for the "Intro" to the menu ( in my example above, this would be that "2 minute segment" )

What I used for the "Intro" segment, was a fine video portion that had all of us getting together as a group, all the hustle and bustle, and then, the snapshot I want for the menu, everyone in place, smilling, etc... I used LIVES to select what frames I wanted to save out of the complete video, and then ( which I havent been able to do ) save that "segment" as my Intro to the menu. Nice side-effect though, of having LIVES running, is, that, every frame you have in your video, is stored as a jpg image in your temp folder ( as a snapshot ) - Perfect! So, to get my actual "still" menu image to display my menu options, was found by selecting and copying, the frame number of the LAST in my Intro segment out of the temp folder. Be sure you do this before you close LIVES, it deletes all of this stuff, when it exits!

So, you now have, a "still" image "snapshot" of our last frame of our Intro to the menu, and a segment movie that will be used before the menu is shown.

To create the Exit from the menu segment, I chose a nice "after the snapshot" image, where everyone just kinda walked away. The next hundered frames, after, the last frame of the Intro segment, was excellent.

You dont need to have Intro and Exit segments for your menus, I just wanted to use them. You can just use a still image for your menus, which can be done below.

Ok. I think we have all the pieces; we have an Intro video, and Exit video, a "snapshot" image ( still ) to be used for our menu, and three videos in avi format

Before we fire up the real work here, I need to mention a few details, which, you will realize why, later. Frist, our Intro and Exit video "segments" -include- audio, and we do not have any audio for our menu. We also are not making a "full production" kind of menu system; we will only have one menu, and that menu will select only the videos we want to play. We are not building a menu for "Extras", "Settings", "Audio Setup", "Special Features", etc... This is a simple menu setup.

So, lets get to it... Start up a user konsole, and enter qdvdauthor

This is where you will be spending most of your time, that, and when you get to "building" your actual DVD ( more on that, later )

Once qdvdauthor is up, you should have a window, three parts are of use; the large portion of the window, taking up most of the right side, is the MENU section, lower left, is the Object/Structure area, and upper left, is where your included videos will be loaded to.

First, select File, and New Project. The rest of your project time is going to be spent in either the DVDAuthor, or DVDMenu menu options along the top of the window, and during building your menu, the large portion of the window.

Now that you have a blank canvas, so to speak, lets get busy filling it up...

First thing, lets get to loading those videos we want to play... Select "Add Movie" between the left upper and lower areas. Locate your movie you want to add, and get it in there. Do this process for as many "movies" you need to add. A usage bar displays across the bottom of the window, to alert you if you get close, or exceed, a DVD size. In my case, 1.5 hours, was no issue. ( btw, dont trust that usage bar, it hasnt reported correctly for me. This could be due to the fact I was importing .avi files, and it may actually work, but, not in my situation. For me, trial and error, repeatedly, was my only way to judge the usage. I built a qdvdauthor project one avi file at a time, first trying one file, then two, three, etc... until I got the usage right to fit on a DVD. )

Once you get all the movies you want to include on this DVD, or, can fit, its time to work on that MENU.

If you want to include an Intro video, which will be shown before the actual MENU is shown, select DVDMenu from the top, and click on Add Intro. To include an Exit video, which will be shown, AFTER the person selects something from our MENU, select DVDMenu and Add Extro.

Even though my menu doesnt have audio, since its a jpg image, doesnt mean you have to settle for it... You have options within qdvdauthor to add audio to your menu. I just didnt feel that it was necessary for this project, but, check out DVDMenu, and you can add an audio track that will playback while your menu is shown.

At this point, we are almost done, we have our movies, we have our Intro, and our Exit - we just need the actual menu. Click on the Add Background button that runs across the bottom of our window. Select our "image" we want to use for our MENU, and it should display it in that large portion of our work area. Now the magic...

We need to make some text, some buttons, and some links - so that someone can see what they want to select, click on it, and that will play our movie. In more "production" menu systems, these actions could also bring up another menu, etc... Nice thing is, qdvdauthor shines in this area... making our actions visual, and easy to do

Select DVDMenu, and then Add Text. Select the location on your menu image and how wide, tall, you want it. You then can enter your text, make font changes, size of font, and even color. You will need to do this for each "action" you want to do, in my case, I created 3 text areas, each with a descriptive text to explain what it will play, something like: 2006 Easter, 2006 Christmas, and 2007 Happy New Year! ( just to give examples ) Next, we need to add the "action" behind the text area, again, very simple.

Right click on the text area you added, you will get a host of options to select from, my favorite is the Define As Button selection - In the window that appears, change the VMGM dropdown to your associated movie. What you should have is a Button#, "jump", and this is the default, VMGM - no clue what it is, but, I have three buttons, and three movies, so, each button pionts to "jump" to that specific "movie". You will need to do this for each of the text areas you created, that you want to have an action associated with. You can also, double-click your left mouse button, to edit the text, and if you click-and-hold your left mouse button over the text, you can use your mouse scroll wheel to rotate the text. Single left mouse button on the text allows you to stretch and squish your text box, even though you dont get a "visible" handle around the text box area, you can still do it, you just have to "know" that you can.

Guess what? (Technically) You are done! Save the Project, its always a good idea to keep your project saved. Lets get to the actual DVD building steps...

Select DVDAuthor, and then click on the selection Create DVD.

The next screen that shows up, has everything it is going to be doing, to build that DVD. Most of it, you just leave alone, unless you know specifically, what in particular, and the command, etc...

As noted earlier, I have a menu that doesnt contain sound, and, qdvdauthor realized that, but, in its attempt to make everything good, it did have a slight problem. When I clicked the OK at the bottom, it took only a few minutes, before, it just stopped, and closed that screen. No DVD, no conversion, no error, no nothing. Hence, when the "Execution Dialog" screen pops up, select "Keep Open" right next to the HELP button, on the bottom left corner of the screen. You will thank me later, especially if something errors, or doesnt do what it was suposed to have done!

Because once I had that little option clicked, the dialog box stayed open, and I could scroll through the output to find... that my first problem was that arecord was being used to create a "blank" wav file to be included within my no sound menu. Instead of possibly installing arecord, or even checking if I had it, I clicked the drop-down box associated with creating that empty sound file, and found I could use "dd" instead. Firing off the OK again, it errored, same place, but this time it had to do with an erroneous command line option that dd was passing. Something about the -s parameter not supporting 48000, or the SampleRate. Again, starting up the Create DVD option, I then changed the firing off of arecord to dd, and saw that, in fact, it was passing this -s 48000 on the command line. The nice error message stated that this program will "default" to 44.1 KHz for its sample rate, which is a defacto for wav files. So, I just removed the complete "-s 48000" option, and started with the OK...

Again, you gain from my mishaps, here. I then had the whole process finish, only to find at the very end, it couldn't find the mpeg2 files it was supposed to be converting. Scrolling back through the Kept Open Dialog box, it was found that VideoTrans, script, "movie-to-dvd" was not found. So, this is where you should have already gotten it, compiled it, and installed it, and shouldn't have this problem.

Now, depending on how much, how long, and your system, this can take an awfully long time... The video conversion.

Your "Execution Dialog" box, should be scrolling the following output:
--> Progress: ##.##% ETA: over and over and over again... with a speratic showing of: # hours ## minutes

Welcome to the slowest, and possibly, the longest waiting game... As an example, I tried for kicks, to convert 9 avi files, each 50 minutes long, with a 1.8 GHz processor, and nothing else running... it took 1 hour per avi file to convert.

So, if all goes well, and everything works, you should be blessed with a DVD format folder, where you told it, and with the name you told it, ready to be used in k3b - when it finishes, finally :-)

Simply fire up k3b, select a DVD project ( not data ), and copy the two folders and any of its contents, from your folder you told it to build in, into k3b's project, insert your DVD material, and burn away.

You can also, in the DVDAuthor - Create DVD screen, at the very bottom, scroll till you get to the end, you do have an option to "Burn DVD", and it will, when it completes, use, I think its cdrecord or something, to actually start, and burn your DVD immediately. I tend to not let it do that, though. I prefer to initiate it manually, when I feel I want to, more than "when it gets done, it does" kind of thing. I leave it up to you, as a decision.

I spent weeks building a single DVD, from this project, and some of the knowledge I have learned, may, help you on this route. One, Once you convert/build a DVD, examine your /tmp folder, or where you told QDVDAuthor to place the temporary files. You will find nice .mpeg2 format files of everything you told the authoring program to build in your DVD. These are the final "converted" video movies, from your originals, just before it used these to make the DVD .vob files. These fine converted files can save you weeks in more converting, if you know what to do with them, and, they don't have audio, or video, problems.

If, you don't want to spend, and then, re-spend, all that time re-generating all those files, not like I did, you can use those generated files to save lots of time if something needs to be changed. In the case of an Intro or Extro movie, this is actually, the ONLY way to get them into your menu, as far as I have found.

If the .mpeg2 file, or files, are good, i.e. no sound or video problems, then take a copy of them from your /temp folder, and place them somewhere, where your originals are located. Then, rename them to .mpeg extension files. They will still play fine, even hovering over them reports the same information, just that the extension isnt the same anymore. Now, go back into your QDVDAuthor project, remove the original movies you had, and replace them with those .mpeg format files, dont forget to re-point your menu buttons to the correct replaced files as well. In the case of an Intro or Extro movie that you want to include in your menu, this process is a little more complicated. What you need to do is, add your Intro and Extro movie segments into the "Add Movie" section, but, dont add them into the Add Intro and the Add Extro option just yet... Run a DVDAuthor Create DVD process, then do the same thing as with your original movies above... Copy the .mpeg2 files to a safe place, rename them to .mpeg, then, remove them from the Add Movie section, and add them by doing the Add Intro and Add Extro.

If you want to change anything, either your menu, or the Intro, or Extro within your project, you will already have previous movies converted, thus, saving a lot of time, that you wont be re-converting them all over again.

Two, I tried to do a Intro and an Extro, and, it almost worked. It worked the way I was thinking it would, though. When the DVD starts to play, it will play your Intro, then go to your Menu, and when you select something from the Menu, it will play the Extro. Problem: When I tried to have a Intro AND an Extro, it played the Intro fine, showed the Menu, and then, selected a random entry from my Menu of its OWN choosing, and then played the Extro. At this point, the whole DVD locked up, leaving the last frame of my Extro still displaying. What I have found, is, to have an Intro ONLY, and a still Menu, works fine. The test DVD I made, went from the Intro to my still image Menu, allowed me to select an option from the Menu, and then performed the selection fine.

I also found, that, when you select a menu entry, it will only play that menu entry, then, return to the menu. If you have a Intro to the menu, it will play that Intro before the menu is shown. Selecting a menu entry, will play that menu entry, and when complete, will go back to displaying the Intro, and then the menu. I have not gotten the Extro to work, but, can guess, it works the same way the Intro does. This also means, that my idea for a Play All selection, will not work, but, I did read, possibly on, that you can get a menu entry that will perform a Play All, it just requires a bit of "manual" code.

Thanks goes to
aka Lady_Cuddles

by greeneagle on Mon, 2008-09-08 18:48
Good tutorial thankyou.
Fills in details missing from some other tutorials.
I'm -nearly- just about there, I hope.
I found another dependancy that was needed: toolame

e.g. error seen from qdvdauthor when generating dvd: (the colourizing in qdvdauthor didn't highlight the toolame: command not found)
/tmp/ line 3: toolame: command not found
INFO: [mplex] mplex version 1.8.0 (2.2.4 $Date: 2005/08/28 17:50:54 $)
**ERROR: [mplex] Unable to open file /tmp/Summer2008/SubMenu 2/menu.mp2 for reading.
/tmp/ line 3: /tmp/Summer2008/SubMenu 2/menu.mpg: No such file or directory
answer: sudo apt-get install toolame

by pinballwizard66 on Wed, 2008-10-08 06:28
very nice tutorial, i've used it to create a few personal dvd's and they turned out great. thx a lot

Debian Development


All times are GMT -5. The time now is 01:58 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration