Tutorial: How to create DVD Workshop 16:9 menus

For MovieFactory, WorkShop, PictureShow

Moderator: Ken Berry

Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Tutorial: How to create DVD Workshop 16:9 menus

Post by Helge »

In the following I will describe how to archive some of the often asked things, which can not be done with dws2 alone. This is done by patching the results from dws2 before burning the DVD. For the patching you need two tools which are freely available on the web:
1) pgcedit
2) DVDpatcher
Both tools you can get from www.videohelp.com . (Go to the tools section and use the search option.)

First a few general explanations about patching DVD:
If you look on a DVD with windows explorer you will find (at least) two folders:
AUDIO_TS and VIDEO_TS. On video DVDs only the later is interesting. Look at it. It contains files like:
and so on. The files with extension .BUP are duplicates of the same named files with extension .IFO (a backup in case a .IFO is not readable). The .IFO files contain the description of the content of the DVD, what to play in which sequence and so on. The .VOB files contain the video and audio data and are very similar to mpeg2 files.
All commands of a DVD are stored in the .IFO files with the exception of the button commands of the menus, which are stored in the .VOB files.
(If you want to know more details I can recommend the book DVD Demystified from Jim Taylor, which explains nearly every detail of a DVD. E.g. aspect ratios are covered on more than 15 pages.)
On DVDs created with Ulead¡¦s DWS2 all menus are located in VIDEO_TS.VOB. All non menus are in one of the VTS... files.

General workflow for patching a DVD:
1) Create your DVD as usual with dws2, but in the finish step in the "burn project to disc dialog" select "create DVD folders" (deselect "burn to disk" and "create disk image file") and specify a folder on your hard drive. When dws2 finished you will find the structure which I described above in this folder. Close dws2. Eventually make a backup of the VIDEO_TS folder.
2) Do all necessary patches on the files in this folder as I describe below.
3) Restart dws2. You don¡¦t need to open a project. Go to the finish step and select "burn disk image or DVD folder". Select DVD folder and enter the folder where you had stored your DVD in step 1). You can now burn your DVD. If you do it the first time its a good idea two burn to a RW disk.

16:9 menus
Now let¡¦s start with the simplest patch: creating 16:9 menus.
Note: For this your videos or still images you used for your menus in dws2 should had been already in the format 16:9, since we will change only how they are displayed, not what they contain. Click here for a guide
Start pgcedit. Press "open DVD" (first button in toolbar, or use file/open DVD). Navigate to your VIDEO_TS folder an press ok. If a "scan bovs" dialog appears, you can abort it. In the left part of the screen you will see a cryptically looking list:
VMG, First Play PGC
VMGM, LU1(--),1 (dummy) TitleM
VMGM, LU1(--),2 (dummy)
VMGM, LU1(--),3 (dummy)
VMGM, LU1(--),4 (dummy)
VMGM, LU1(--),5 (0.00) 4b

VMGM stands for "video manager menu", LU1(--) means "language unit 1, language not specified" and dummy means that there is no video associated with this line. The increasing number is the number of the PGC (program chain). Ulead¡¦s dws2 places the first menu always (as far as I figured out) in PGC 5. (0.00) means that it is a still menu (otherwise you can see the duration) and "4b" means that this menu contains four buttons. I am sure you can now interpret the next line yourself. :)
(If not it doesn¡¦t matter. You can proceed without it.) (Picture}

Click on the line with the "5". (On the right part of the screen you can see programming instructions associated with this pgc. You don¡¦t need to understand them for this patch.)
Click on the "preview current pgc" button in the toolbar (the rightmost button with the eye, or use preview/preview pgc from the menu). You will see your first menu. An information dialog also appears. (If not, check the info checkbox in the preview window.) This information dialog will show you, that your menu has aspect ratio 4:3.
Close the preview.
Now double click the line with the "5" (you could also click on some other line, as long as the line belongs to VMGM. As an alternative you could also click on the "Edit PGC" button on the left side of the button toolbar). In the appearing dialog click on "Current domain stream attributes". A dialog appears which shows you that the video is 4:3. Change it to 16:9. You can also check "automatic letterbox" and "automatic pan&scan", just as you prefer. Click "ok" and in the edit pgc dialog also "ok".
Click on the save DVD button (the second from left in the toolbar, or use file/save DVD). (Pgcedit will create a backup of your ifo files.)
Now do what you have done before - preview again the current pgc. The info dialog will still show you 4:3!! :? What had you done wrong? Nothing, but what you did was simply not yet enough. If you now burn your DVD it will play well in some players, but not in all (my father has such a silly thing :) ). You have changed just the ifo (and bup) file, but the vob file contain also format information. For that we use the other tool.
Close pgcedit.
Start DVDpatcher. Drag VIDEO_TS.VOB onto DVDpatcher (or use the browse button).
In the right part DVDpatcher shoes you the current setting of the video, in the left you can select the new settings. :!: Be careful to select everything identical to the right :!: , with on exception obviously: set the aspect ratio to 16:9. Then select "patch entire file" and click "patch now". Confirm the following dialogs.
Close DVDpatcher.
If you like you can now check again with pgcedit, to see that your menu is now really 16:9. :D
Burn your DVD.
Was this complicated? Perhaps, if you did it the first time. Once you had done it three times you can do it while you are sleeping.

Good luck!

I will add more advanced techniques next weeks.

Post by StBruno »


Excellent. Thank you very much. That was very helpful.

I look forward to reading any further tutorials you post.


Post by tecstar »

I assume that by setting the menu to be w/s you actually end up stretching it?
Whats the best way to create a menu that looks good when it is displayed widescreen using this method?
Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

Its in fact exactly the same as with the video, i.e. you should use a 16:9 video as background video and background images which look good if they are placed (e.g.with MSP8) into a 16:9 video track. Your video will look sqeezed if you watch it in dws2 as a menu but on the final dvd it will be ok.
Check your menu buttons with pgcedit if they look as you expected.
Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

Changing button numbers
Now I'll descripe how to change the numbers associated with the buttons. Why to do this? If you use only menus generated according to Steves great tutorial about menu templates you probably dont need this. But if you used a menu template and added some more buttons by copy and paste, the numbers of the buttons will be quite random. Some dvd players allow the user to directly select a button by pressing the number key on the remote control. So it would be nice if the buttons where numbered top down. Its also much more clear if you adjust button sequences.

Note: If you jump with your playlists not just to a menu, but to a special button of a menu (i.e. highlighting a specific button when entering the menu), after changing the button number the button which got the old number will be highlighted. The easiest way to adjust for this is to take this into account when eding the playlists. Otherwise you would have to patch later also the playlist which - also possible - is much more advanced.

Note: I really recomment making a backup ot the video_ts folder or at least of the .ifo files.

Open your dvd folder with pgcedit (as desciped above). Select pgc 5 in the VMGM section. Press the green menu button on the toolbar (or use menu/show edit menu buttons). A dialog box showing your first menu will appear. (If you want or edit a different menu select one of the other pgcs (6...) in the VMGM section which is not marked as dummy, i.e. which has some video.) Press the edit button. A dialog "menu editor" opens. Move the topmost slider (labeled "Edit button") in this dialog. In the preview you will see the currently selected button. The label left of the slider will show you the button number. The dialog will show you also other attributes of the button like X position, Width, the adjacent buttons (I will descipe later how to manipulate them). You might assume the button number is also just an attribute like the width and could be easily manipulated. Unfortunatly thats wrong. Instead the button number depends on the location where the remaining attributes of the button are stored. Think of "slots" where the information of the buttons are stored. The button whos information is stored in the first slot is the first button and so on. So to change the number of a button his information has to be moved to the correct slot.
Take a piece a paper and write down the sequence of your buttons. To simplify explanation lets assume your buttons are arranged top down and have (from top to down) the numbers 1 7 4 6 2 3 5. You would like them to have the numbers 1 2 3 4 5 6 7. We write it down as two lines:
1 7 4 6 2 3 5
1 2 3 4 5 6 7
So we see button 1 is correct. The information of (current) button 7 should not be stored in slot 7 but in slot 2. The information of (current) button 2 should not be stored in slot 2 but in slot 5. So we write
7 -> 2
2 -> 5
5 -> 7

4 -> 3
3 -> 6
6 -> 4

We have two groups of permutations.
You might think of writing down all the informations of every button, sorting it on the paper and reenter it. This would work, but there is fortunatly a better way. Use the menu "button/new button". Now move the slider to button 7. Call "edit/copy current button". Move the slider to the new button 8 which does not contain any information. Call "edit/paste current button". So we have saved the original information of slot 7 and can now put into this slot the information currently in slot 5. To do this move slider to button 5. Execute copy. Move slider to button 7. Execute paste. Proceed the same way to move the content of slot 2 into slot 5. Finaly move the content of slot 8 (the saved slot 7) into slot 2. We have finished the first group of permutations. Do the same with the second group. (Start saving slot 4 into slot 8.) Finaly move the slider to button 8 and call "button/delete button".

While you are doing this, dont look at the preview! It would only confuse you. But now when you finished, moving the button slider from left to right should present you a ordered look and feel in the preview.
With the bottom most slider in this dialog you can change the number of numerical selectable buttons. E.g. if your first four buttons select titles and buttons 5, 6 and 7 are for previous menu, next menu and home menu, you could allow only the first four buttons.
Close the menu editor with ok, close the preview and dont forget to save your work (save dvd).

Changing button sequence
Even if you did not change the numbers of the buttons, the sequence of the buttons (i.e. which button is next highlighted if the user presses the up/down/left/right keys of his remote control) will often not be what you would like it to be. One reason for this is that dws2 is not willing to really align the buttons if you tell it to do so. (A stubid bug which has probably to do with rounding.) So if you jump from button 2 to button 3 pressing the down key you might jump from button 3 to button 1 pressing the up key.
You can adjust this very easily in the menu editor we used in the last section. Simply select any button with the slider. Menu editor shows you the adjacent buttons of this button. By moving any of the four "adjacent sliders" you can set which button should be the next if the corresponding key is pressed. If you set it be the current button pressing this key will have no effect.
Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

Note: much of the following descriptions might be specific for dws2. If you use an other tool for creating your dvd, things might be similar while layout and registers could be different.

Before I start with the description of the next patch a short explanation of titlesets:
The contents of a dvd is devided into different sections:
- the "first play"
- the "video manager"
- the "titlesets"
The first play is a small special part responsible for holding your first play video (if used). In pgcedit it is represented by the first entry in the left list "VMG, First Play PGC".
We have allready seen, that dws2 places menus into a section VMGM (video manager menu).
All videos except the menus are stored in so called titlesets. These are subdivided in a menu section (VTSM = video titleset menu) and a video section (VTS = video titleset). The menu section is indented to be used for
menus which are specific for a titleset but are not used for these purpose from dws2. Instead there are only commands stored. You can think of them as automated menus which are not visible.
How many titlesets are used depends mainly on the homogenity of the videos, since all videos in one titleset must have identical attributes like encoding and aspect ratio.

Creating a "subtitle of" command
Lets assume you have a submenu to let the user select the subtitles of your dvd. This menu might be "called" from a main menu and contain buttons for English, German and Greek. If one of these buttons is pressed you would activate subtitle track 1, 2 or 3 and return to the main menu within the playlist associated with the buttons. (So far you can do it with dws2 alone.) Now you wish to have a fourth button labled "subtitle off".
Unfortunatly there is now action you could put in your playlist for switching off subtitles.
Do the following:
Activate the not existing subtitle track 4 in the playlist of this button. (Do not really create this track, since it would only waste space on your dvd.) Create the dvd folder and open it in pgcedit. For every titleset your dvd contains, repeat the following patch (i.e. for every VTSM section in the left list in pgcedit, i.e. for VTSM 1, VTSM2, VTSM3, ...):
Position on the first pgc of this VTSM (this are the lines labeled RootM). In the right part of pgcedit you will see the commands associated with this pgc. The commands are numbered. The odd numbered commands 3 til 17 looks like "if gprm(14) != ...". Here are the audio tracks selected. (Hint for programmers: this is in fact a switch above the wanted audio track, implemented as an if cascade, since the virtual dvd processor does not implement a computed goto.)
In the next commands gprm(15) is used. Here are the subtitle tracks selected. This is what we are interested in.
19 if ( gprm(15) == 255 ) then { Goto line 84 } (no change of subtitles wished)
20 if ( gprm(15) != 192 ) then { Goto line 22 } (not track 1)
21 (SetSTN) Set Sub-picture stream = 0, on (track 1 wanted, so set it)
22 if ( gprm(15) != 193 ) then { Goto line 24 } (not track 2)
23 (SetSTN) Set Sub-picture stream = 1, on (track 2 wanted, so set it)
24 if ( gprm(15) != 194 ) then { Goto line 26 } (not track 3)
25 (SetSTN) Set Sub-picture stream = 2, on (track 3 wanted, so set it)
26 if ( gprm(15) != 195 ) then { Goto line 28 } (not track 4)
27 NOP (track 4 wanted, but this does not exist)

Here I have shown part of the commands and commented them (On the dvd the subpicture streams are counted starting with zero, so the number is one less than the number of the track.). Since dws2 knews, that there is no track 4 it does not place a "set subpicture stream = 3, on" command as command 27, but instead a NOP (no operation, i.e. do nothing). But this command will be executed, if the user pressed our fouth button! So we will replace this NOP. Click on this line and next on "Edit Cmd" (leftmost button in bottom toolbar, or use context menu or menu edit/edit cmd). The command editor opens. Click on "by type/Set/SPRM/Sub-picture". Now select in the dialog in the subpiture group the ratio button "set" and clear the check box "on". Click on ok.

The NOP should have been replaced by "(SetSTN) Set Sub-picture stream = 0, off". Instead of repeating this for the other titlesets it is simpler to use the buttons "Copy" and "paste replace" of the button toolbar.

Save your changes and burn your dvd.

Note: Why not simply execute directly some commands as menu actions? While this could work in some situations, it could cause trouble in general, since the user could use his remote control to bypass menus, jump to
different titles and chapters and so on. Therefore dvd authoring software sets a lot of registers and acts conditionally on the state of this registers. You should do any manipulations consistently with this philosophy, otherwise you might get unexpected behaviour.

I hope this was not too confuscating. Good luck!
Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

Playing single chapters or sequences of chapters

With dws2 you can put titles or chapters on your dvd menus. When a user selects a chapter from the menu, playback will start with this chapter and continue til the end of the title (if not manually stop by the user). You might wish that only one or only a few chapters are played instead.
(Why a few? I personaly prefer to have many chapters in one title (e.g. about every minute). Of course I dont add them all to menus but only the "important". All other are only for quick navigation with the remote control. So when a user selects a chapter from the menu all chapters til the next which can be called from the menu should be played. Then the player should return to the menu. If instead the title is selected from the menu, the whole title should play.

This is normaly not possible to do with dws2 except if you put your video twice on the disk making out of all sequences of chapters separate titles. I will now explain how you can do it with a relativ simple patch.

Create your disks as normal - one title with additional chapters put on menus. (There may of course also be more titles. You can repeat the procedure for all titles or select just a few. But for the explanation lets assume its one title.)
There is one point which matters here: For the first chapter it would normally make no difference if you drag the chapter or the title to the menu, but now its significant.
Open the dvd folder in pgcedit. In the left part of the screen select your title. It will normaly be in VTST1 and labeled "Title1", but could also be "Title2" if you have a firstplay video or a complete differnet title if you have more titles. But it will allways labeled "Title". Click on the eye-button in the toolbar to verify with the prewiew that its the correct one. Close the preview.
On the right you will see pre commands, post commands and cell commands, where the cell commands section is empty. Click on the cell commands line. Then execute the command "Add after" (bottom toolbar or context menu or menu edit). A new line "1 NOP" will appear. Select this line and execute "Edit Cmd". In the dialog execute "By type/Link to/PGC/Tail". Then check the checkbox left of the "If", move the slider to the right til the label above the slider shows "7", click on the radio button "value" and enter the value "3". Click on ok. Now your cell command should read:
1 if ( gprm(7) == 3 ) then { LinkTailPGC }
Now execute "Edit PGC" (You can also double click on your title in the left). A complicated looking dialog will open. Dont be afraid! Simply be careful whre you click. If you make a mistake abort the dialog with cancel and reopen it.
In the lower half of the dialog you see a list of chapters (Chap/(PTT), programms (Prog), Cells (Cell) and so on. The numbers of these three columns in one line are identical. On a genaral dvd this need not to be so, but dws2 does it so. These numbers correspond directly to the chapter numbers of your title.
A few colums to the right there is a column labeled "Cell Cmd #" containing all zeros. For every chapter after which you wish to return to the menu replace this "0" with a "1". (You can view a chapter by clicking on the triangle at the end of the line.) When you are ready close the dialog with ok and save your changes (File/save DVD). Burn the dvd. Thats all. :D

A short explanation why this works:
When the video referred by a PGC is played back, the dvd player first executes the pre commands then the video and at the end it executes the post commands. After each cell it executes the cell command (there can only be one per cell) whos index is given by the "cell cmd #". A index of zero means "no command". Dws2 uses gprm(7) (general purpose register 7) to indicate if a menu, a title or a chapter should be selected. If a chapter had been selected, gprm(7) holds the value "3". So we use this as a condition for our command. The command itself skips the remaining cells (chapters). If instead a title had selected, gprm(7) will hold the value "2", the condition of our command will not hold and the command will be ignored. So the next cell will be played - just as without the patch.

I think this was the most complex of all patches I descriped here. But with a little care everybody should be able to manage it Good success!
Posts: 2595
Joined: Sat Dec 11, 2004 5:25 am

Post by GeorgeW »

Thanks Helge, good write up.

This will work (as I used to do it all the time), just a couple of notes:

1) some dvd players will show a small "pause" when processing a chapter with a cell command (not always -- it depends on the dvd player)

2) if you hit the NEXT button, your cell command will be bypassed (i.e. it will continue playback until the end of the Title, or until the next cell command that you did not hit the NEXT button on your remote)

Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

Hi George,
you are right. But not even the same player makes allways pauses. My player recently surprised me not even to pause while playing alternative titles in a playlist, while it othertimes paused at cell commands. Since I didnt change the player, it must have learned something :D
The only way I know to avoid surely pauses (without duplicating video) is to make separate PGCs, but this would mean much more patching.

I thought of writing about the remote control commands but then decided to make things not more complicated as necessary. But I find it good to be able to interact with the remote control. If you dont want that, you can also set PUOs (prohibited user operations), but most users wont like that. Even with playlists you can jump to a different title using the remote control. This is the reason why the dvd commands look so confusing and sometimes stupid. Did you notice that in many pgcs dws2 sets a register to a value in the pre-commands and checks the same register in the post-commands? This would only make sense if there where also cell-commands (which are not), but it is because of the possibilities of the remote control.
I never found a document descriping under which conditions its possible to skip which kinds of commands (I dont have the official dvd spec), but even if it is specified - there are surely dvd players with buggy firmware. And this is what makes writing of dvd authoring software difficult. Thats the real performance of Ulead.
Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

With the new version of pgcedit (7.1.2) the part Changing button numbers has been much simplified. In menu editor there are new commands in the menu: button/increase button number and button/decrease button number. If you use these commands, pgcedit will do the rest for you :) Only for highlighting the correct button you are still responsible yourself.

Question About Playing One Chapter Guidance

Post by rabaileyva »

There is one point which matters here: For the first chapter it would normally make no difference if you drag the chapter or the title to the menu, but now its significant.
I tried the method described in the post but it didn't work correctly. I retraced my steps to ensure I did everything correctly and I did. I noticed that the guidance had the line quoted above. It says that this is significant but it doesn't say which way is the correct way to do it. Should I drag the chapter or the title for the first chapter?
Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

Most people want to have an option to play the whole title and options to play individual chapters of this title. If you drag the title to the menu, dws2 will select the title so the player wont return at the end of the chapters.
You can use debug mode of pgcedit to see the contents of the registers while you step through the pgc-commands and so you can discover what goes wrong.
Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

I got a private message from a member who had problems changing the "Current domain stream attributes". I checked and saw, that with newer versions of pgcedit it is now necessary to change the domain stream attributes using the main menu "domain/domain stream attributes". If you instead follow the way I desciped above you end up in a read only dialog.
Posts: 177
Joined: Thu Jan 05, 2006 12:53 pm
Location: Germany

Post by Helge »

I got an email from r0lZ, the pgcedit-expert, with a lot of valueable comments. I think they can clarify some problems since he knows much more about dvds than I. Here they are:

OK, I've read some of your guides.

I have some remarks and suggestions.

"16:9 menus" guide:

You cannot change the aspect ratio of a menu with buttons!

The problem is that the highlight is designed for a specific aspect ratio. Therefore, if you convert a 4:3 menu to 16:9, the highlights of the buttons will not be at the right place any more. Do a test, and play it on your standalone, and you will understand what I mean.

Furthermore, in 16:9, it is necessary to have at least 2 different sets (called groups) of highlights. One group is used for the true 16:9, displayed on a 16:9 TV. Another group is used when the menu is displayed on a 4:3 TV in letterboxed mode, and the third group is for the 4:3 TV in pan&scan mode. (Note that the order of the groups is not relevant, and depends of the way the subpics are muxed.) Most of the time, only one of the two 4:3 display modes is allowed (via domain streams attributes), and therefore only 2 groups are defined, but if both the letterbox and the pan&scan checkboxes are ticked, 3 groups are necessary. In any case, the authoring program will create only one group if it is limited (or is instructed) to create a 4:3 menu.

You can safely change the display mode of a domain ONLY when there are no menu buttons and no subpics.

Also, note that the aspect ratio information in the IFO *MUST* takes precedence over the VOB, so, it is theoretically useless to patch the VOB files. But, as you have noticed, a player is not always standard compliant, so patching the VOBs is probably a good thing.

"Changing button numbers" guide:

As you have noted later in the thread, the Button -> Increase and Decrease Button Number menus in the menu editor is easier!

"Playing single chapters or sequences of chapters" guide:

When a cell command is defined for a specific cell, the next cell MUST have its seamless flag clear. In PgcEdit, the seamless flag is duplicated and inverted in the "Layer break" checkbox. Therefore, when you type the cell command number in the cell table, you have also to tick the layer break checkbox of the next cell. Note that if it is not ticked, it will be highlighted in pink by PgcEdit, to indicate an error.
If the LB flag is not ticked, the player MUST ignore the cell command. Again, some non-standard compliant players will execute it anyway, but they are rare. (Your player seems to be one of them, as I can see in your reply to GeorgeW later in the thread.)

But setting the layer break flag has a major drawback. A player MUST (again theoretically) pause for one or two seconds before playing the next cell when it is set. That's not acceptable when the user wants to watch the whole film. Therefore, I suggest to duplicate the PGC, and use the copy for the chapter-by-chapter mode. Use "Clone PGC" to duplicate the current PGC, and change the cell commands and LB flags in the copy only. Of course, you will have to modify the command that calls the title to jump to the new PGC instead of the original when a single chapter must be played.

Thanks a lot r0lZ :!:

Some additional notes from mine:

My standalone player is a Pioneer dv 454. With this player (and or my Panasonic TV) the 16:9 patches works fine, but I know that with other players there are sometimes problems with the highlights. With clever selection of the highlight image (not around the button but a mark beneath) this does not harm. I didnt yet try to add additional groups of highlights but this might be possible with some patching tools (subtitle editors). On the other hand it might be easier to use some other dvd creator tools instead of dws2.

The option to duplicate the pgc I had allready mentioned above. I only thought it would be too complicated for patching-beginners.

16x9 Menus in dws2

Post by johndvd »

Helge, I've tried the technique you suggested to change the menus to 16x9 but could not edit the aspect ratio in pgcedit. I got the dialogue but could not select any of the check boxes.

Johndvd :?: