Button over video guide by Influenza

Button over video is a feature more and more used on recent DVDs. The most famous example of this technique is probably the white rabbit feature in The Matrix. But a lot of recent titles have similar features: Spiderman, Snatch, Stuart Little 2, Men in Black II, etc. The purpose of button over video is basically the same in every title: to make a transition from your main movie to some extra that is in an other VTS set.

In this guide I want to explain how you can reauthor those titles. There's already an guide written on this topic by Seyton. The reason why I'm writing an guide as well is because I think there are still a lot of people struggling with it, judging by the number of questions on the Doom9 forum. The purpose of the guide is to give you a deeper insight in button over video and to be an addition to the guide mentioned above. The guide is meant to be an addition to the abovementioned guide, and will focus on explaning how such jumps are done and how to reauthor those, now how to reauthor entire DVDs. The guide requires some basic knowledge about DVD authoring. I'm also not going to explain how to re-encode and reauthor other parts. There are excellent guides for that.

For this guide I will use two titles: Snatch and Stuart little II. Both titles require a different approach and cover the process of button over video pretty well.

The tools used for this guide are:

Cyberlink PowerDVD

Like most things in life there's an easy way and a hard way. You can of course decide to skip the hard way and go with the easy way from the start. I strongly advice not to do this. Understanding what is going on and how things are designed will give you a much better insight and will also make it easier to solve problems if you run into any.

The guide consists of three different parts:
I: Understanding what is going on
II: From Understanding to authoring
III: Authoring

Part II is devided into two parts a&b. Part a describes doing things the hard way, part b the easy way.
Part I: Understanding what is going on.

The most important thing about button over video is understanding what is going on. If you do not know what titles are played and what happens if you press your buttons, it will be impossible to reauthor. In order to find out what's going on "behind the scenes", we'll use both PowerDVD and IfoEdit.

If you play a DVD in PowerDVD, right click on the screen and choose Show Information. This will help you to determine what exactly is happening.

We'll start with Stuart little (Spiderman uses a similar approach). In the extras menu, we can choose a feature called show and tell. If you enable it, every now and then a picture of Stuart Little or one of its friends will appear, and when clicking on it (or pressing the enter key on your remote) a making of video is played. Enable the feature and start playing the main movie.

PowerDVD will show the following info:

What we're interested in is the title that is being played (not necessary the VTS set). In this case it's title 1. Write this down or memorize it. Now you'll have to wait or fast forward through your video until you reach a button over video point. (If you've already prepared your assets and ripped the subtitles you can check your subtitles file for the exact times of your buttons.) In this title there are many buttons, but they all work the same so I'm only going to outline the procedure using one single button: I picked one at the start of chapter 19. When pressing that button and the extra is playing, the following info is shown:

So when this button is pressed, title 17 is played. Write this information down for all buttons. Sometimes you're lucky and are all the extras in the same VTS set, but sometimes they are all in different VTS sets. In this example, all the extras are in the same VTS set, but each extra has its own PGC.

After playing the extra, you'll return to the main movie at exactly the point where you left it.

So now we know what is happening: Title one is played and when pressing the button at chapter 19, title 17 is played. Now it's time to start IfoEdit. Within IfoEdit we'll open the VIDEO_TS.IFO of our title.

What we can tell from the VIDEO_TS.IFO is that title 1 is VTS_01_* and title 17 is VTS_05_*, TTN_13 so VTS_05_* PGC 13.

For Snatch we take the same steps and find out the following after activating the stealing stones feature and playing the main movie:
Main movie title 1: VTS_01_*
Button 1, title 10: VTS_09_*
Button 2, title 11: VTS_09_*
Button 3, title 12: VTS_09_*

Part IIa: From understanding to authoring (the hard way)

Now we know that what is going on we have to know how we can reauthor this. But before going to Scenarist, note this: There are jumps from one title to an other title in a different VTS set. These kind of jumps cannot be made directly. A button command cannot initiate a jump to another VTS set. So how can it be achieved then? It's done by jumping to a (dummy) PGC in the VMG. In this PGC there will be a command to jump to the required title. So basically we need to know two things:

- How is the jump to the VMG made?
- What PGC is used to jump to the required title and what commands are used?

To find this out, we are going to IfoEdit again.

We start with Stuart Little II.

If we open the VIDEO_TS.IFO and go to VMGM_PGCI_UT, we see all the PGCs in the VMG.

What we have to do now  is browse to all these PGCs to find the jump to title 17.

In PGC 5 we'll find the following:

In line 57 we see the jump to Title 17, just what we were looking for. Besides that, we see that GPreg<9> is filled with value 4119 in pre command 56. In pre command 57 we also see that the jump is conditional. There will only be a jump if both GPreg<14> and GPreg <9> have the same value (4119 in this case).

So we have answered the question which PGC and which commands were used to make the jump. The jump is in PGC5 and it's done by comparing GPreg <9> and <14>. If they both have the same value the jump will be made.

To answer the first question, how do we get to PGC5 from the VMG, we'll open VTS_01_0.ifo in IfoEdit and go to the VTS_PGCITY section.

There are a couple of interesting things here: First of all we want to know how the jump to VMG PGC5 is made. In the post commands of the PGC, we see two jumps, one to PGC4 and one to PGC5! But we also see a command comparing GPreg<14>. If GPreg<14> is not equal to 0, a jump will be made to line 5, and after line 5 there's line 6 making the jump to VMG PGC 5.

The 2nd interesting thing is shown in shown in the screenshot below:

Here we see that the value of GPreg<9> is checked and if the value is correct, a jump will be made to a certain cell. This is the cell where the movie should continue after playing our extra.

Summary of our discoveries:

When pressing the button at chapter 19, GPreg<14> is filled with value 4119 and a jump to the post commands of the main movie (title 1) is made. Because GPreg<14> is not equal to 0, a jump to VMG PGC5 will be made. There, GPreg<9> is compared to the values of GPreg <14>. In the case of our button, a jump will be made to title 17.
This is about everything we need to know before we can start authoring.

Now let's do the same for Snatch:

We'll have to answer the same questions as above. Opening VIDEO_TS.IFO and searching for our jumps leading us to PGC2.

Here we see similar things as in the previous example. GPreg <0> is filled with a certain value, and that value is compared to the value of GPreg <4>. So for button 1 we see that if GPreg<0> and GPreg <4> are both 10, a jump will be made to title 10.

If we open up VTS_01_0.ifo we see the following:

There's no jump to VMG PGC2! There's only a jump to PGC4 which will lead us back to the main menu. This leads me to the conclusion that there's a direct jump from the button to VMG PGC2. When this jump is made GPreg<4> is filled with either value 10 (button 1), 11, (button 2) or 12 (button 3).

Part IIb: From understanding to authoring (the easy way)

In part a is described how to find the correct button commands by taking a close look at the different ifos involved. In this part will be described how you can easily obtain the correct commands using a program called menuedit.

Menuedit is a program designed to change the menus on a dvd. You can change and delete menulinks and things like that. Menuedit is cripple ware. There's no free trial version available that has full functionality. So if you fully want to use it you will have to buy it and trust that all promised functionality will be there before you actually had a change to try it.

Because of this I was reluctant to use it, but since even the crippled trial version is perfect for the purpose of finding button commands I decided to do use it. Needless to say of course that it's NOT necessary to buy the software if you only use it to find button commands.

As example Stuart Little II will be used. The other titles can be processed in exactly the same way.

Start up menuedit and choose open. Browse for your vob file (so in this case VTS_01_1.vob) which contains buttons. After opening the screen will look like this.

Now double click on a cell id that contains a button. For example if we want the command for button I double click on cellID 2.
In the following screen select the button by clicking on it (because of the crippled functionality only a box is shown on the place of the actual button, but this is good enough). After selecting the button choose edit.

Right in the middle of the screen is shown what is needed. The command for this specific button: GPREG (14) is set to 4101 and a jump is made to the post commands of the PGC. This is exactly the same command as found above doing it the hard way!

All other button commands can be found using the same steps.


Part III: Authoring

Finally after all this work we can get to the authoring of our title. But because of our extensive research, this is going to be an rather simple exercise. I use Scenarist for this. I'm sure Maestro can do the same job, but I've never used it before so don't ask me.

I will not get into setting up tracks or creating buttons. If you don't know how to setup tracks, you should not try to do button over video. For the creation of buttons etc. I suggest reading the abovementioned guide by Seyton.

A word of advice when creating your main movie layout: Make sure you re-create your layout exactly as the original! Every cell has to be there. If you use Reauthorist, some cells maybe be left out (you only have chapters). After playing your button over video extra the movie will mostly return to a certain cell. If you messed up your layout (did not create all cells in the correct order) the jump will be made to a different point.

After setting up our layout and creating the buttons, we'll have to assign commands to the buttons.
We'll start with Stuart Little II again and take the button of chapter 19 as example. We found out that GPreg<14> is filled with the value 4119 and after that the post command of PGC1 of title one is called that will take us to VMG PGC5.

In Scenarist we add the following command to the button:
Set to GPRM, GPRM 14 Immediate 4119, link, jump by sub-instructions, post command of current PGC.

Naturally, you have to do this for every button.

For Snatch, the procedure is different. Here we cannot simply let the post commands of the existing IFO file do our work, because there's no jump to VMG PGC2. We have to create this jumps on our own. Does this mean we have to recreate the entire VMG? Fortunately not. We can create a dummy VMG in our project with corresponding PGCs (just as many as we need, 2 in the case of Snatch.

Just right click on the videomanager and choose Add Language. The language is not important.

Now add two PGCs to it.

No we have to add two commands for the buttons. We have to set GPreg<4> to our button values (10,11 or 12) and we have to make a jump to VMG PGC2.

So we add the following commands:
Set to GPRM, immediate, GPRM 4, 10 and
Jump to PGC in system space, PGC in Videomanager, PGC2.

After this you can compile your layout, use IfoUpdate etc. just as usual.

For Snatch, it's also possible to adjust your original IFO and change the jump in the post commands from PGC4 to PGC2 using IfoEdit. If you do this, you can use similar jumps as described for Stuart Little 2. The only disadvantage is that the movie will get into a loop and play on and on, since there's no jump back to the main menu anymore.

I hope this guide gives some more insight into the process of button over video authoring. Feel free to give feedback on the Doom9 forum.