Requires DVDAfterEdit Standard
This article describes one of the more advanced techniques possible using DVDAfterEdit - replacing menus in existing DVDs, retaining all the original navigation, without access to the original assets. Initially we'll assume you want to keep the number of menus and buttons the same as the original, but in the final section, "Extending the Technique", I'll show how you can add, remove and edit menus, including the number of buttons on them.
Because DVDAfterEdit can currently only replace a whole menu VOB file, and each file usually contains several menus, the process is somewhat more complicated than simply replacing a VTS, say. It has several stages:
This may look a little daunting, but actually it's quite straightforward when you get the hang of it. This article will have less detail about basic navigation of DVDAfterEdit's interface than some of the others, so if you find there are things you aren't clear on, it might be better to check out some of the others first. I mention several useful utilities during this article - all are easily found using Google.
Before looking at the details of the method, it's important to understand a little about the structure of menu VOB files, how they are displayed in DVDAfterEdit, and even more importantly how they can be modified using 'Edit's amazing Program Map.
All the visual material in a DVD menu (even static menus) is stored as MPEG, and is contained in Video Object or "VOB" files on the disc. The VMG menus are contained in the VIDEO_TS.VOB file, and VTS Mappleenus are stored in VTS_01_0.VOB, VTS_02_0.VOB files etc.
So, if you renamed one of these Menu VOB files with a ".mpg" extension and opened it in the Quicktime Player, for example, you would see all the video used by your menus play continuously - in the case of stills, they will flash by, since they are only one nav-pack long, whereas motion-menus contain longer sequences of video.
Each menu is contained in one or more cells, just as other pieces of video are divided into chapters - a chapter, or PTT (Part Of Title) is in fact a particular type of cell. Simple looping motion menus have one cell, menus with a transitions can have 2 cells. This explains why replacing the video for a single menu is a little more complicated than simply replacing an entire VTS. All the video for the cells is joined together in a continuous stream in the VOB file, so to change just one menu, we need to somehow disect a menu VOB into it's constituent parts, change the video & buttons for that one cell only, and then build a whole new VOB file and import this over the top of the original.
The first task is to look at the existing project, and find out which VOB file contains the menus you want to change. There's no one answer to this - menus can be "stored" in a whole host of places. Luckily DVDAfterEdit makes it a piece of cake to find out where they are. Simply fire up Tracer in Version 3 (Apple-G, :-) and "Stride" through until the Preview window shows the menu you're interested in, and then click the "Show" button. (There's an introduction to Tracer here.)
One possibility you should be prepared for is that the menus may be spread out through the project. So for example, DVDSP 1.5.x puts all it's menus in the VMG, so they are all contained in the VIDEO_TS VOB. However Versions 2 & 3 put all the menus in VTSM 1 (or, if there are both 4:3 and 16:9 menus, in VTSM 1 and 2 respectively) . A Sonic Creator or Scenarist author, on the other hand, is at liberty to put menus wherever he or she likes, so there may well be menus in the VMG and in several VTSMs, if not all of them ! Which means you'll have to repeat this whole process for each VTSM VOB... Before you get too concerned though, the upside of this last scenario is that where the menus are spread out through multiple VTSMs, there are likely to be far fewer in any one VOB file, making each stage correspondingly simpler and quicker.
So, now let's look at each stage of the process in detail:
If you haven't already done so, now is a good time to duplicate your original VIDEO_TS folder to a new location, ready for editing. (It's a good idea to put the copied project in a folder with a different name, to avoid confusion.) This also means we can copy and paste all the project's commands when we've finished editing the menu PGC structure in stage 6.
The aim of this stage is to obtain all the elements you need to rebuild the new VOB, including the parts you want to change. My favourite application for this is DVD Decryptor, on the PC, however DVD Extractor and OSEx on the Mac are also possibilities. (Detailed instructions on using all these programs is beyond the scope of this article, but they all have tutorials available online which are easy to find using Google)
Exactly what you should extract depends on the method you want to use for modifying the VOB. Ther are two options - build new menus in your authoring application
So, first we will need to de-multiplex, or "demux" the files - ie. separate out the video, audio and subpicture streams, so that you can import these as assets into your authoring application. DVD Decryptor doesn't support extracting button highlights as image files, so I use another PC utility called SubRip for this purpose.
In DVD Decryptor, first go to the Tools menu, and choose "File Splitting by Cell ID". Since menus are divided up into cells in the VOB file, this will result in a separate piece of MPEG for each menu. It isn't essential if you have the facility to trim and adjust mpeg streams, but can save a lot of time for very large projects.
Next, in the main window, right-click on the file you want to demux and select "Stream Processing" (I've selected VTS_01_0.VOB, ie. VTSM 1, in the picture below) . For each stream choose the "demux" option.
If for any reason there are any streams you don't want, uncheck the boxes to stop them being extracted. Assuming you're demuxing a menu, you can untick any "subtitle" streams - these are actually the button highlight subpictures, and DVD Decryyptor won't extract these as image files. We'll do this in a moment using SubRip instead.
Once the process has finished, you'll have a large collection of audio and video files on your hard drive. The files will be given logical names, but even so it's worth working systematically through them at this stage to find the ones you want to make alterations to. If you have any problems keeping track, you can always open up the original VIDEO_TS folder in DVDAfterEdit. Double-clicking on a menu's PGC in the left pane will "jump" the preview window to the start of the menu's video so you can preview it, and provided you have the "Show Object Location In Window" option ticked in the General Preferences, you'll be able to see exactly what it is you're looking at in the Preview window.
Now we'll use another small and useful utility called SupRip to extract the button highlight images. Fire up the program and choose File > Open VOB(s)from the file menu. The "What To Do ?" window will open. Click the "Open Dir" button and browse to the VIDEO_TS folder you're working on. Choose the VOB file you need, for example VTS_01_0.VOB, and click Open. In the VOB(Sub)files window, make sure the correct VOB file is checked - the auto-select feature will pick the VTS_01_1.VOB file by default, whereas the one we want VTS_01_0.VOB (or the equivalent if you're extracting from a different VTSM)
Click the "Verify" button in the Language Stream box - this scans the VOB file for any available subpicture streams. In the drop-down menu you should see 00 - ???. (There are question marks because the program is commonly used to extract subtitle streams, which would be flagged with a language. Since in this case the subpictures are button highlights, there isn't one.) If the menu you're working on is 16:9, there will possibly be two subpicture streams, one for Widescreen displays, and another for Pan-Scan or Letterbox display modes on a 4:3 set. You'll need to extract both, separately.
So, make sure that the option "Save Subpictures as BMP" is ticked in the panel on the right, and click "Start".
Choose a location and name for the extracted pictures in the next window which opens - you can choose the correct colour-preset for your authoring application at this point too, if you like. Click OK, and once the program has finished, you have everything you need to start modifying the menus.
Assuming you intend to modify the existing menu design, rather than start from scratch, the first stage of this process is to convert the ripped m2v files into something you can work with, since editing MPEG directly is flaky at best. There are several applications that will do a good job of this - I use an application called DiVA and Uli has recommended MPEGStreamClip. Whichever you choose, be sure to extract the files to a high-quality format like uncompressed Animation, to avoid any quality loss. DV isn't good enough for this job !
Now you can modify the video assets to your heart's content - removing logos, changing text etc, until everything is as you want it for the new version. Remember to edit the button highlight subpictures too, if you're changing the size and / or position of any buttons.
(Notice that for the time being I'm assuming you're keeping the number of menus, and the number of buttons on those menus, the same as in the original project. However as I'll show you at the end of the article, it's straightforward to expand this technique to allow the addition and deletion of both menus, and buttons. Another great feature of this method is that the new menus can even be different lengths to the originals, if you like, although the copying and pasting of commands in stage 7 at the end of the process becomes a little more involved. For the time being then, keep all your menus the same length and structure as the originals.)
You now need to re-export these modified assets as MPEG video. Depending on whether your encoder features I-frame forcing, it may be safest to choose to export each cell separately, rather than as a continuous stream with an I-frame at the start of each new menu - ie. on each separate image, if you are using static menus. If you're making 16:9 (widescreen) menus, remember to drop them onto Force Pan-Scan or Force Letterbox from John Brisbin's MPEGAppend Suite, to ensure they display correctly on all players.
(Since later we will copy and paste the button commands for our menus, and because these commands are referred to by nav-pack number, ideally you need to duplicate the GOP structure of the encoded video too. Often these menus will be encoded with fixed 12 or 15-frame GOPs, in which case this should be straightforward. If they were encoded with Open GOPs, you will have to do a little editing of the commands before you paste them back in, but more on this later.)
Once you have exported your adjusted assets (or indeed made entirely new ones), you're ready to rebuild these as a VTS VOB in your authoring application ready to be imported over the top of the original in DVDAfterEdit.
By far the easiest way to create suitable menus is simply to author them as usual in your favourite authoring application. You can then open the build files and explore using Tracer to find out where the newly built menus are located - for example, DVDSP puts them all in either VTS_1_0.VOB or VTS_2_0.VOB depending whether they are 4:3, 16:9 or both. You can then simply use the Replace Menu VOB function to over-write the originals.
If you choose to use this approach ( recommended ! ), you can simply move straight on to Section 5, which will show you how to Replace the new menu VOB into your project, and modify the structure to retain navigation.
In this section though, we will look at building menus as "buttons-over-video". Although more long-winded, this approach can get around the limitations of certain authoring systems, and gives some interesting insights into how menus are constructed. It may be a good idea to read though it anyway, even if you intend to simply build the new menus in the usual way.
The illustration below shows a "track" in DVD Studio Pro 2, laid out ready to create a VTS VOB suitable for replacing the original. For those not familiar with the interface, the blue blocks represent video assets, the green blocks are audio, and the yellow blocks are subpictures. The vertical lines are "markers", which specify where cell boundaries should be. The orange ones show where sub-picture information (button highlights) begins. There are two subpicture streams, because the menus are in widescreen 16:9 format, and there is an extra stream for button highlight display when the player is set to 4:3 playback. (Uli has written an article about creating overlays for this kind of project over on TFDVD.com) As is usual, the 4:3 (pan-scan) overlays are first, in Stream 0, and the widescreen overlays are in Stream 1.
The original project is also shown in DVDAfterEdit to show how the video is being used by different PGCs.
(Each PGC with a "twirly" arrow defines a menu on the DVD.) In the top illustration, two examples are highlighted - PGCs 11 and 12 are using the cells indicated by the red arrows.
Looking at the second larger picture, we can see how the markers in the VTS (track) separate the cells (sections of video) for each menu. Each marker defines a cell boundary, as we saw earlier. (In DVDSP, these markers usually define chapters, but in this case the "Chapter" box is un-ticked. Don't be confused that the markers are named as if they were chapters, these names are added by default when the markers are added.)
Remember that in DVDAfterEdit's display, each PGC with a twirly arrow by it refers to a menu on the final disc. The first 5 PGCs are dummies, ie. they don't use any video from the VOB file. They contain commands which control navigation on the disc, but don't display anything.
So, the first section of video, defined by the first marker (cell) is being used by VTSM PGC 6, and contains button highlight info. The next 4 PGCs use much shorter cells, without buttons - these are just short snippets of "transition" video.
VTSM PGC 11 is more interesting - it has two cells. The first is the menu transition, without button info (green marker) whereas the second in the looping portion, with button info (orange marker) . Notice as well that none of these menus has any audio, although one of the later menus does, visible in the top view of the VTS track.
So, to build your own VOB, you begin by simply lining up all the snippets of video which you extracted back at stage 1 in a new VTS (track, or movie) . However wherever you have modified an asset, of course you insert your new exported MPEG file instead of the original. Then you define each segment as a cell (using markers, in DVDSP) and add buttons-on-video as required.
So, for example, below is a list of some of the extracted segments of video I obtained from DVD Extractor. I import all of these into an empty DVDSP project, create a new track, and drag them into it in the correct order:
VTS_01_MENU_VOBID_001_CELLID_001_1 - 0xE0 - Video.M2V
VTS_01_MENU_VOBID_002_CELLID_001_1 - 0xE0 - Video.M2V
VTS_01_MENU_VOBID_003_CELLID_001_1 - 0xE0 - Video.M2V
Menu_4_New_Version - C4.m2v
VTS_01_MENU_VOBID_005 _CELLID_001_1 - 0xE0 - Video.M2V
VTS_01_MENU_VOBID_006_CELLID_001_1 - 0xE0 - Video.M2V
...and so on.
(Incidentally, don't be confused by the fact that these segments are distinguished by VOB IDs, and are all labeled as CELLID_001_1, even though I'm talking about them being separate cells. This is because a VOB file can contain many VOBs (video objects) . Each VOB boundary corresponds to a cell boundary, and each VOB can itself contain cells, although this isn't the case here. So, the first cell in this VOB is VOBID_001 but only contains one cell, the second is VOBID_002 and so on.)
(An alternative method to piecing the files together in your authoring application would be to join all the files together using John Brisbin's MPEGAppend before importing them. This has the advantage (in DVDSP at least) that the markers will be added automatically when importing, but the disadvantage that alterations later are more fiddly - plus, that's a lot of files needing to be renamed before you append them...!)
Once all your video segments and cells are laid out in the correct order, and you've added audio where necessary (remembering to keep it all exactly the same format, as the spec requires) you need to add cell boundaries (markers) between all the different chunks. As we saw above, these shouldn't be chapters (PTTs), and you need to carefully assign buttons-on-video where necessary, using the overlay images you extracted earlier using SubRip. You also need to set up the button hotspot coordinates, highlight colors, button navigation (left, right, up down) and so on, exactly as if you were creating a normal button-on-video.
It isn't necessary, however, to set up any actual button commands - this wouldn't make any sense anyway, since the rest of the project isn't there to navigate to ! We'll copy and paste all the original commands in stage 7 anyway. Make sure your buttons have the same numbers assigned to them as they were in the original project - you can use the button hot-spot preview function in DVDAfterEdit for this - otherwise when you paste the commands back in later, the wrong command will be assigned to the wrong button.
This is probably the most labour-intensive part of the process, since you have to be painstaking about putting all the markers in the right place - just one GOP (I-frame) out, or one marker omitted, and everything gets a bit confusing later on ! Don't worry, though, if you do make a mistake, you simply correct it, re-mux the VTS, and re-import.
As I mentioned earlier, at the end of this article I'll demonstrate an extension of this technique which allows you to add or remove buttons from menus - if you're adding them, you'll obviously need to include the highlights for the new buttons at this stage as well.
Finally, however, you're ready to multiplex (build) your project to a temporary folder, ready for importing in over the top of the original. So, go ahead !
As is often the case, this powerful feature of DVDAfterEdit is deceptively simple to use. Open up the renamed copy of your project, then simply select the correct node in the left-hand pane of 'Edit - ie. the VMG if you are replacing the VIDEO_TS VOB, or the appropriate VTS Menu otherwise, control-click and select "Replace Menu VOB".
When prompted, browse to the temporary folder and select the VTS VOB we were working on earlier. Remember to select the VTS VOB itself - there are no "real" menus in the temporary project. (If you're using DVDSP and the menu track was the only one in the project, the file you want is VTS_01_1.VOB.)
Un-tick the "Import commands" option, and click OK. If you have built your menus in a track as described in the previous section, you should get a warning that the VOB contains subpicture information - click Continue. (If you don't get the warning, you've forgotten to specify the overlay subpictures for your buttons-on-video !) The progress bar will show you the replacement's progress, until it is finished.
So far so good - all the original video data has now been replaced by our new VOB file, including the edited elements. However, that isn't the whole story, as we shall see. If you're already comfortable with the concept of PGCs and how 'Edit displays them in the Program Map, you can skip straight to Section 6 - if you've followed Uli's animated button highlights tutorial, and Ben's re-authoring articles, much of this will be familiar territory, for example - otherwise, let's take a detailed look at our project's menu PGC structure...
I think the easiest way to get a grip of Menu PGC structures is to look at them in 'Edit, so open the original project as well as the new version, and line them up side by side, so we can see what the differences are.
The exact differences depend on how you made your new menus. The illustration shows menus built in a track. If you built them as menus in an authoring application, they will look different, but the method I'm about to describe is the same.
As you can see, after the Import the detailed PGC structure of the original is gone, and has been replaced by the very simple structure of the new VOB. Remember, a PGC (Program Chain) is actually just a set of instructions telling the DVD player how to access each cell of video contained in the VOB file. So whereas originally there was a PGC for each menu in the project, referencing only one or two cells of video per Menu, after the import there is just one PGC, for the whole VOB. It's "twirly" arrow is unfolded to show all the cells in the illustration above (on the right), but don't be confused - the original has 35 PGCs, including dummies - the new one has only one ! And of course now all the cells are used, or "contained" by this single PGC.
So, if you view the new VTSM 2 PGC in 'Edit's Preview window after the import, you'll see all the menu video playing continuously - exactly as we did earlier when we renamed a VOB file and opened it in the Quicktime Player. This is what we'd expect, since the VOB was built as a continuous stream of video. We can confirm this simple new structure by looking at DVDAfterEdit's unique Program Map. In the next section, we'll use this to actually Edit the PGC structure, in order to re-create the original, but for the time being let's just use it to look at the existing structure.
Select the PGC of your imported menu VOB as shown above, and look for the Program Map in the right pane. It's display is divided in two - on the right-hand side, it shows us the "Available Cells". These are all the cells contained in the VOB - ie. one for each cell boundary (marker) in the VTS (track) we laid out in stage 4. The left-hand side shows which cells are "in use" by each PGC.
So, in this project, after the import, all the cells are in use by the first PGC. It's listed in the Program Map as PG 1, ie. "Program 1". Each PGC contains one or more Programs, hence the name "Program Chain" (PGC) . Menus usually contain only one or two Programs. However a VTS PGC, for example, typically contains a whole movie, and will have a Program for each Chapter. You can contrast the contents of this newly imported PGC with one of the original menu PGCs, by selecting one from the other 'Edit window. You'll see that each PGC there only "contains" one or two cells, depending on whether the menu has a transition or not.
So, now all we have to to do is change the PGC structure for our newly imported Menu VOB to match the original. Then we can just paste all the original commands back in, and our project will work exactly as it used to, but with new video assets wherever we changed them when re-building the VOB in our authoring application in stage 4.
This is yet another feature of DVDAfterEdit which makes experienced DVD Author's jaws drop. Nothing like it has ever been available before, and like all 'Edit's more advanced features, actually using it is a piece of cake. Let's review our goal - our newly imported Menu VOB has a very simple PGC structure - one Program, containing all the cells we defined. We want it to actually have a PGC for each individual menu, containing the correct cell of video.
So, firstly, let's remove all the unwanted cells from the PGC we have. To do this, just click on one and drag it out of the program map, into the "Available Cells" side - job done ! Repeat the process for all the other cells, and we have a PGC containing one Program, using just one cell, the first one from our menu VOB - ie. our first menu PGC.
[If anyone reading this is a step or two ahead of me, you may be wondering why I haven't simply created a dummy PGC and dragged the cell I need across into it. This is because the version of 'Edit I recommend you use for this tutorial, 2.05, has a quirk which means that a PGC with no cells assigned won't pick up on a few of the properties we'll need later on.]
Next we'll repeat this step for all the other PGCs we need, to recreate the same PGC structure as the original, ready to paste the commands back in, but first:
Before going any further, I'm going to outline a summary of the next few steps, and how they fit into the overall procedure - getting the order of these right is important in order to to minimise your mouse-clicks ! Then we'll look at each new step in a little more detail.
Stage 6: Copy & paste menu UOPs from original VIDEO_TS folder
Stage 7: Copy and Paste All Commands (We'll do this later) and
So, with that in mind, let's look at each part of stages 6 & 7 in detail:
In a moment we'll duplicate our new menu PGC, and drag & drop the correct cells into it, to make the next menu PGC, but since we're going to use this PGC as a "template" for all the others, first we'll tidy up a few details to save time later:
Unset Entry PGC, Root PGC settings. Since there can only be one Root Entry PGC Menu per VTS, and we will be duplicating this PGC, it's useful to unset these properties for this PGC. If the idea of "root" and "entry" PGCs is a new concept to you, please check out Ben's re-authoring articles to find out how it works. So, make sure "Entry PGC" is set to "No", and set Menu Type to "Non-entry PGC". We'll re-set them later for the actual menu we want.
Set Subpicture Stream Properties. This stage is only necessary if your project has both 16:9 (widescreen) and 4:3 menus. If so, you'll have set up the button overlay streams back in stage 4 - one for display on a widescreen TV, and one for either letterbox or pan-scan display. So, assuming (for example) you placed 4:3 Pan-Scan overlays in Stream 0, and the widescreen (16:9) overlays in Stream 1, you should adjust the properties so they look like this:
(You can find these properties by clicking on the PGC in the left pane and looking underneath the Pre & Post-commands.) Notice that because we've imported a VTS PGC into Menu Space, there are properties for both streams, whereas a menu straight from an authoring package has properties only for Stream 0. This doesn't matter as far as spec-compliance or operation goes, but to be on the safe side I have set the properties for both streams.
Now we're ready to duplicate that PGC structure ! Looking at the original in 'Edit (see the illustration in Stage 5) we see that first we need 5 dummies, so:

...until eventually, we've entirely replicated the original PGC structure ! If you're thinking "that will take forever", don't worry - I can entirely rebuild the structure of the above example in about ten minutes; it's much quicker than it looks !
A few notes
So, now we have created a matching PGC structure in our new version, (it's a good time to Save !) we can safely go to our original project, and use:
Edit > Project-wide Edits > Copy Commands > All Commands as Text
(make sure you have a left-pane node selected when you do this, or the options may be grayed-out) and then, moving across to the new project:
Edit > Project-wide Edits > Paste Commands From Text
...to transfer all the original commands and navigation to our re-worked project. All that remains now is a little housekeeping, and we're done ! If you get error messages about being unable to paste certain items, the most likely problem is that either you've unintentionally missed a PGC out (or doubled it up !) or there are a different number of buttons or cells somewhere in the project. If it's the later, and you did it on purpose, no problem - but if your intention was to perfectly match the original structure, you'll need to do a little troubleshooting to find out where things have gone astray. Tracer can be very useful for this...!
Lastly there are few details to check - I have listed examples that I have come across, but depending how your project was authored there may be others. The way to proceed is to fix everything you can think of, and then start testing to see if anything isn't working.
Cell Still Times - other types of menu pause on the final frame until the user makes some kind of input - these need to have their Cell Still Time set to 256 (ie. pause indefinitely) This property is also found at the Cell node-level.
As I say, there may well be other details to look for in the project you're working on, so keep a sharp eye out.
And that's it - congratulations, you've just completed yet another task that has been hitherto impossible in DVD authoring ! You have extracted raw data from the VIDEO_TS folder of a pressed DVD, edited it, and replaced it back into the original project, all without access to the original assets, and retaining the original navigation..
Now, a few pointers about how to extend the technique to allow even more manipulation.
There are two main new ideas at the root of all these extended techniques, which are just expansions of what we've already done.
They are:
First, let's consider Option 1. To understand it, we need to examine how the project commands look when you copy and paste them. So, open up your original project again, and copy all the commands as text, as before. However instead of pasting them into your new project, open up TextEdit or a similar application, and paste them there. This excerpt is from the first non-dummy menu PGC in my project (I just searched for VTSM PGC 6) :
#ButtonCommands Group 1 of 2 with 4 buttons from "SRT_DEMO Backup>>Video Title Sets>> VTS 2>>VTSM 2 Menus>> English>>VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1) Link PGC 1 Link PGC 2 Link PGC 3 Link PGC 4 #ButtonCommands Group 2 of 2 with 4 buttons from "SRT_DEMO Backup>>Video Title Sets>>VTS 2>>VTSM 2 Menus>> English>>VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1) Link PGC 1 Link PGC 2 Link PGC 3 Link PGC 4
So, I've omitted the Pre, Post and Cell Commands for clarity. As you can see the, the syntax is very simple - 'Edit records where the button-commands are ("SRT_DEMO Backup>>Video Title Sets>>VTS 2>>VTSM 2 Menus>>English>>VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1))and then what they are. (Link TailPGC)
Notice that this information includes the nav-pack number - we'll come back to that later. (Once again, there are two button groups in my project - Group 1 for Pan-Scan, and Group 2 for Widescreen)
So, how can we edit these commands, and what can we do with them ?
In order to remove a button from this menu, we simply edit the commands shown above so they look like this instead.
#ButtonCommands Group 1 of 2 with 3 buttons from "SRT_DEMO Backup>>Video Title Sets>>VTS 2>>VTSM 2 Menus>> English>>VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1) Link PGC 1 Link PGC 2 Link PGC 3 #ButtonCommands Group 2 of 2 with 3 buttons from "SRT_DEMO Backup>>Video Title Sets>>VTS 2>>VTSM 2 Menus>>English>> VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1) Link PGC 1 Link PGC 2 Link PGC 3
We have just told DVDAfterEdit that when it pastes the commands back in, there are only three buttons in the menu, not four. And when we paste them back in, the last one of our buttons will have disappeared. Simple ! You can copy and paste all the commands in one go, or just the ones relevant to the PGC you're looking at, and you can check it's worked by looking at the hotspot preview in DVDAfterEdit, if you like.
Of course this means that when you re-build your menu VOB in stage 4, because the hot-spot areas are "tied" to certain button numbers, you'll need to make sure the buttons you want to remove are the highest numbered, since these are the ones removed first - otherwise you'll end up with the wrong hotspot areas for the wrong buttons. You'll also need to make sure you keep track of which button does what, and re-arrange the commands if you changed the order. So, in the example above, if we wanted to remove the second button, we would move it to be the 4th button when we re-build our VOB in stage 4, and would have to change the commands we paste back in to read:
#ButtonCommands Group 1 of 2 with 3 buttons from "SRT_DEMO Backup>>Video Title Sets>>VTS 2>>VTSM 2 Menus>> English>>VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1) Link PGC 1 Link PGC 3 Link PGC 4 #ButtonCommands Group 2 of 2 with 3 buttons from "SRT_DEMO Backup>>Video Title Sets>>VTS 2>>VTSM 2 Menus>> English>>VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1) Link PGC 1 Link PGC 3 Link PGC 4
Of course we also have to be careful in this case to adjust the button navigation (left, right, up, down) to avoid the button which is about to be removed. It sounds confusing, but you'll get used to it :-)
Adding buttons is just as simple, if not simpler - when we re-build the VOB in stage 4, we add our new buttons-on-video, and then edit the new information into the commands before we paste them back in. So, in the above example, to add an entirely new button to the menu, we simply add it into the VTS track in our authoring application before re-builing and importing, and then edit the commands to read:
#ButtonCommands Group 1 of 2 with 5 buttons from "SRT_DEMO Backup>>Video Title Sets>>VTS 2>>VTSM 2 Menus>> English>>VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1) Link PGC 1 Link PGC 2 Link PGC 3 Link PGC 4 Link PGC 5 #ButtonCommands Group 2 of 2 with 5 buttons from "SRT_DEMO Backup>>Video Title Sets>>VTS 2>>VTSM 2 Menus>> English>>VTSM PGC 6>>PG 1>>Cell 1>>Nav Pack 1" (V1) Link PGC 1 Link PGC 2 Link PGC 3 Link PGC 4 Link PGC 5
As I mentioned earlier, there's no reason when using this method that the new or edited menus have to be the same length or structure as the originals - except, as we can see from the examples above, all the button commands are pasted to a specific nav-pack, and will continue until the text file indicates otherwise.
So, if you extend the length of one of your menus by a couple of seconds, say, there are likely to be several more extra nav-packs added to that segment of video. So, for example whereas originally the video for Menu PGC 4 might have begun at nav-pack 58, if we extend the video for PGC 3, now it might start later, say at nav-pack 62 instead. So, the button commands won't paste back in correctly.
To solve this problem, all we have to do is edit the commands in the text file to fix this. Fiddly, but straightforward - we can move through 'Edit checking the new nav-pack values in our edited project, and modify the text file accordingly.
So, having seen what is possible by editing the commands as a text file, now we can look at the second strategy of this "extended techniques" section:
This should by now be quite a straightforward idea - if we want to add an entirely new menu to our project, whilst preserving all the original navigation information, we just add the new video data to the end of our newly-built VOB, just as if it was one of the existing menus, during stage 4. However we don't make a PGC for it initially, though - we duplicate the original PGC structure as usual in stage 6, and copy and paste our commands. Then we can duplicate an existing PGC, swap our new cell(s)into it, and bingo - one new menu.
Of course it's Pre, Post, Cell and Button Commands won't do what we want, and these will have to be edited to give us the navigation we want - and, if the project you're working on originated from an abstraction-layer application, this may be a little messy. So messy, in fact, that you may start to be tempted to delete all the project's commands and start again ! But that's Ben's favourite territory, and outside the scope of this article :-)
This is even easier. After pasting your commands back in, you could simply delete the PGC of the menu you don't want. However once again, the navigation of your project will need to be repaired to account for the missing PGC, and so in practice it's actually less work to simply edit the commands of the project so that navigation "bypasses" the menu you don't want. If there are any buttons which used to link to it, you might simply remove them (messy but quick !) or cause them to jump to a "feature disabled" page instead. In the later case, you could choose to put this page in it's own VTS, or perhaps you would add a still menu to the end of your menu VOB as described above...?
Of course unless you choose to re-build the menu VOB without the old menu, it's video information will still be retained in the file, but the user will never know it's there, and unless your bit-budget is really tight, it seems silly to rebuild the entire VOB just to remove a little redundant video.
Yet another option would be to go to the trouble of re-building the entire VOB with a new piece of video that effectively removes the button that went to the old menu in the first place, in which case you will have to go through the whole process. Either way, make sure you account for all the navigational possibilities - was the menu you've removed accessible using the "Menu" Remote Key, for example ? If so, you'll need to trace the navigation and make sure that it's diverted somewhere sensible instead. For which, of course, Tracer will be an invaluable tool...
As you can see, there are many different ways of achieving a similar result. It's up to you to decide - with the new power & flexibility DVDAfterEdit has given you, you can solve the problem in the way that seems best to you.
This article has shown you how to edit, add, and remove menus from existing DVDs, preserving the original navigation, without access to the original assets. Without a doubt, it's a complex, involved task, and for large projects could take considerable time and planning. But, if it means you can offer you customer a service which might otherwise require weeks or even months to re-make an entire DVD in a new authoring application, it may well be worth taking a look at. I hope you've found the article interesting, and look forward to answering any questions on the boards.