You have a series of short videos. You want to be able to view them individually
or in sequence. However Studio just givs you the option to continue to the
next chapter or jump to a menu.
THE SOLUTION
It's possible to do this by authoring the disk image under Studio 8 and
then editing the IFO file prior to burning the disc. A DVD is controlled
by a simple programming language. There are PRE commands, which are executed
before the video, and POST commands which are executed after. The idea is
to introduce some additional commands to make the disc do what we want. We
will set a value in a register and then check that value later; if it is
set we will advance to the next chapter; if not we return to the menu. You
will need to download IFOEdit. This
is a powerful tool that will allow you to reprogram the IFO file of any DVD.
It does NOT contain any code to remove CSS encryption, so is a perfectly
legitimate tool.
Begin by creating a sample DVD with a very short title (about 1 second)
followed by three short AVIs. Insert a menu template at the start and allow
it to create the chapter links. After each chapter - including the title
- add an instruction to return to the menu. Create your disc image (select
CREATE DISC IMAGE BUT DON'T BURN on the MAKE DISC options.)
Start IFOEdit and press the Open button - bottom left corner. Locate the
VTS_01_0.IFO file, which is in the Auxiliary Files folder under [project
name]/DVD/Video_ts
IFOedit will probably complain that files are not in upper case; don't worry
about that. The tool will deconstruct the IFO file and display the contents
in a readable (ish) format.
Select VTS_PCITI - Video Title Set Program Chain Information Table. a +
will appear - click it to expand the table. Select VTS_PGC_1. In the lower
window scroll down to the PGC Command Table. Look for the first - and probably
only - POST command. This will be the instruction to go back to the main
menu: CALLSS VTSM. Here's a screen shot:
Select the post command line and press the right mouse button to bring up
a menu. Select INSERT COMMAND to introduce a NOP instruction. Then double-click
on the NOP to bring up the hex editor. Change the value from 00 00 00 00
00 00 00 00 to 71 00 00 08 00 01 00 00 This is the code to set the
content of register 8 to 1. I chose 8 because it wasn't being used anywhere
else in the DVD - it's up to you to verify if it's safe to use in yours.
Just change the 08 to a different value in this and all subsequent edit commands.
Select CALSS VTSM again, bring up the menu and select EDIT COMMAND. Select
Jump_VTS_TT and set the Title Number to 2. Press OK. Now your screen
should look like this:
That's the introductory chapter updated. Now we must update the next few
chapters. For each chapter except the last add a new first POST command and
use the hex editor to set the value to 00 D1 00 08 00 00 00 03 which
translates to "If register 8 is non-zero, skip to instruction 3". Then create
a third POST command - set it to Jump_VTS_TT to the next title. I'm assuming
that your titles are in numerical order but there;s no reason why they have
to be.
Finally for the last chapter we need to set the value of register 8 to zero
before jumping to the menu - insert a new POST command and edit the hex code
to 71 00 00 08 00 00 00 00
That's all there is to it. Now try viewing your disc with a tool such as
PowerDVD. Ensure that the navigation works as expected. If all is well you
can now burn your DVD using Studio or your preferred DVD writing package.