Simple Multitrack |
last updated: 20-Dec-2002 | introduction | method 1 | method 2 | method 3 | discussion | back to index
|
| This is the simplest of all VCD structures. The basic
idea behind this is one or more tracks, that play sequentially from beginning to end
(note: figure 1). Pressing "next" goes to the beginning of
the next track. Each "track" on a VCD represents a real physical track on the actual medium. For more info, read the relevant section in the GNU VCDImager manual. |
![]() |
There will be no CUE/BIN sample of the simple multitrack to download. The PAL/NTSC Demo VCD has an example of the simple multitrack (method three). This can be downloaded here: http://www.vcdimager.org/pub/vcdimager/examples/demovcd/
Now, there are actually a number of ways that this can be achieved, but only three will be described:
In my humble opinion, method two is the best method. Method one is the simplest and quickest, but it doesn't allow as much in the way configuring things. Method two makes a disc that is functionally equivalent to method one but by virtue of the XML system, you can more easily configure your VCD. Method three uses PBC and for a number of reasons that I will discuss in that section, it is not the best choice. Click here for the discussion of PBC vs. no PBC.
Basically, we are trying to create the structure described in figure 1.
For the purpose of this guide, there are three source file for the three tracks. The source MPEG files are in the same directory as VCDImager. They are named:
As mentioned previously, for such a simple VCD structure, we can bypass the XML system altogether and just use VCDIMAGER.EXE (this is one of the executable files included in the VCDImager package.
Open up the command console (in Windows, Start
--> Program Files --> MS-DOS Prompt) and navigate to the appropriate
folder. Then run the following command as stated in figure 2. This will
produce:
If you run VCDIMAGER --help at the command console, you will get a full list of the switches you can use and you may want to change or add some other options. However, what is in figure 2 is more than enough to create a working VCD. Burn the CUE/BIN image onto CD-R and you will
have your simple multitrack VCD. |
Addendum (4-Sep-2002): now that the GNU VCDImager 0.7.12 Tools GUI for Win32 has been released, you can do the above without using the command console.
Install GNU VCDImager
0.7.12 Tools GUI for Win32 and start the program. Then on the main menu, click
on the button named "VCDIMAGER" which is under "Minor Authoring Tools"![]() To create the multitrack VCD with:
first, click on "Add..." and then "Load" to load
the MPEGs. Click on "Okay" when done. Then set the CUE/BIN filename to save, change the "Volume Name" and
"Album ID" and click on "Go!": |
Basically, we are trying to create the structure described in figure 1.
For the purpose of this guide, there are three source file for the three tracks. The source MPEG files are in the same directory as VCDImager. They are named:
Firstly, we need to create our XML descriptor file.
You can:
To create the simple XML file without PBC, use the command as shown in figure 3. This creates an XML file named "videocd.xml" that we can now edit. If you run VCDXGEN --help at the command console, you will get a full list of the switches you can use and you may want to change or add some other options. Addendum (4-Sep-2002): as GNU
VCDImager 0.7.12 Tools GUI for Win32 was released, you can do this step without the
command console. The process of this is quite similar to what was shown in Method
One, except that you will have to click on "VCDXGEN" on the
main menu, and check the "No PBC" box. |
This is what was created in videocd.xml:
<?xml version="1.0"?>
<!DOCTYPE videocd PUBLIC "-//GNU//DTD VideoCD//EN" "http://www.gnu.org/software/vcdimager/videocd.dtd">
<!-- commandline used: /cygdrive/c/VCDIMA~3/VCDXGEN track1.mpg track2.mpg track3.mpg -=nopbc -->
<videocd xmlns="http://www.gnu.org/software/vcdimager/1.0/" class="vcd" version="2.0">
<info>
<album-id></album-id>
<volume-count>1</volume-count>
<volume-number>1</volume-number>
<restriction>0</restriction>
</info>
<pvd>
<volume-id>VIDEOCD</volume-id>
<system-id>CD-RTOS CD-BRIDGE</system-id>
<application-id></application-id>
<preparer-id/>
<publisher-id/>
</pvd>
<sequence-items>
<sequence-item src="track1.mpg" id="sequence-00"/>
<sequence-item src="track2.mpg" id="sequence-01"/>
<sequence-item src="track3.mpg" id="sequence-02"/>
</sequence-items>
</videocd>
Now, say I want to customise my VCD with the following information:
Then, I would edit the above XML file into the following and save it:
<?xml version="1.0"?>
<!DOCTYPE videocd PUBLIC "-//GNU//DTD VideoCD//EN" "http://www.gnu.org/software/vcdimager/videocd.dtd">
<!-- commandline used: /cygdrive/c/VCDIMA~3/VCDXGEN track1.mpg track2.mpg track3.mpg -=nopbc -->
<videocd xmlns="http://www.gnu.org/software/vcdimager/1.0/" class="vcd" version="2.0">
<info>
<album-id>TEST_VCD</album-id>
<volume-count>1</volume-count>
<volume-number>1</volume-number>
<restriction>0</restriction>
</info>
<pvd>
<volume-id>TEST_VCD</volume-id>
<system-id>CD-RTOS CD-BRIDGE</system-id>
<application-id>CDI/CDI_VCD.APP;1</application-id>
<preparer-id/>
<publisher-id>MICHAEL TAM - VITUALIS PRODUCTIONS</publisher-id>
</pvd>
<filesystem>
<folder>
<name>CDI</name>
<file src="cdi_imag.rtf" format="mixed">
<name>CDI_IMAG.RTF</name>
</file>
<file src="cdi_text.fnt">
<name>CDI_TEXT.FNT</name>
</file>
<file src="cdi_vcd.app">
<name>CDI_VCD.APP</name>
</file>
</folder>
</filesystem>
<sequence-items>
<sequence-item src="track1.mpg" id="sequence-00"/>
<sequence-item src="track2.mpg" id="sequence-01"/>
<sequence-item src="track3.mpg" id="sequence-02"/>
</sequence-items>
</videocd>
| In this example the name of the XML file has been left as
the default "videocd.xml". If desired, there is no reason
not to name it into something else. To make the CUE/BIN image of our VCD, VCDXBUILD.EXE is used. If the command in figure 4 is run then it will create the following:
If you run VCDXBUILD --help at the command console, you will get a full list of the switches you can use and you may want to change or add some other options. Burn the CUE/BIN image onto CD-R and you will
have your simple multitrack VCD. |
Addendum (4-Sep-2002): you can use VCDXBUILD without using the command console by using GNU VCDImager 0.7.12 Tools GUI for Win32.
To do the above, you will first have to download and install
GNU VCDImager Tools GUI first. Then, load it
and click on "VCDXBUILD" on the main menu:![]() Then, load the XML file (videocd.xml in this
case) and set the CUE/BIN filename to save and click "Go!": |
Basically, we are trying to create the structure described in figure 1.
For the purpose of this guide, there are three source file for the three tracks. The source mpegs are in the same directory as VCDImager. They are named:
Firstly, we need to create our XML descriptor file.
You can:
To create the simple XML file with PBC, use the command as shown in figure 5. This creates an XML file named "videocd.xml" that we can now edit. If you run VCDXGEN --help at the command console, you will get a full
list of the switches you can use and you may want to change or add some other options. Addendum (4-Sep-2002): you can use VCDXGEN without using the command console by using GNU VCDImager Tools GUI. The process of this is very similar to and was described under "Method 2". |
This is what was created in videocd.xml:
<?xml version="1.0"?>
<!DOCTYPE videocd PUBLIC "-//GNU//DTD VideoCD//EN" "http://www.gnu.org/software/vcdimager/videocd.dtd">
<!-- commandline used: /cygdrive/c/VCDIMA~3/VCDXGEN track1.mpg track2.mpg track3.mpg -->
<videocd xmlns="http://www.gnu.org/software/vcdimager/1.0/" class="vcd" version="2.0">
<info>
<album-id></album-id>
<volume-count>1</volume-count>
<volume-number>1</volume-number>
<restriction>0</restriction>
</info>
<pvd>
<volume-id>VIDEOCD</volume-id>
<system-id>CD-RTOS CD-BRIDGE</system-id>
<application-id></application-id>
<preparer-id/>
<publisher-id/>
</pvd>
<sequence-items>
<sequence-item src="track1.mpg" id="sequence-00"/>
<sequence-item src="track2.mpg" id="sequence-01"/>
<sequence-item src="track3.mpg" id="sequence-02"/>
</sequence-items>
<pbc>
<playlist id="lid-000">
<next ref="lid-001"/>
<return ref="lid-end"/>
<wait>5</wait>
<autowait>0</autowait>
<play-item ref="sequence-00"/>
</playlist>
<playlist id="lid-001">
<prev ref="lid-000"/>
<next ref="lid-002"/>
<return ref="lid-end"/>
<wait>5</wait>
<autowait>0</autowait>
<play-item ref="sequence-01"/>
</playlist>
<playlist id="lid-002">
<prev ref="lid-001"/>
<next ref="lid-end"/>
<return ref="lid-end"/>
<wait>5</wait>
<autowait>0</autowait>
<play-item ref="sequence-02"/>
</playlist>
<endlist id="lid-end" rejected="true"/>
</pbc>
</videocd>
Now, say I want to customise my VCD with the following information:
Then, I would edit the above XML file into the following and save it:
<?xml version="1.0"?>
<!DOCTYPE videocd PUBLIC "-//GNU//DTD VideoCD//EN" "http://www.gnu.org/software/vcdimager/videocd.dtd">
<!-- commandline used: /cygdrive/c/VCDIMA~3/VCDXGEN track1.mpg track2.mpg track3.mpg -=nopbc -->
<videocd xmlns="http://www.gnu.org/software/vcdimager/1.0/" class="vcd" version="2.0">
<info>
<album-id>TEST_VCD</album-id>
<volume-count>1</volume-count>
<volume-number>1</volume-number>
<restriction>0</restriction>
</info>
<pvd>
<volume-id>TEST_VCD</volume-id>
<system-id>CD-RTOS CD-BRIDGE</system-id>
<application-id>CDI/CDI_VCD.APP;1</application-id>
<preparer-id/>
<publisher-id>MICHAEL TAM - VITUALIS PRODUCTIONS</publisher-id>
</pvd>
<filesystem>
<folder>
<name>CDI</name>
<file src="cdi_imag.rtf" format="mixed">
<name>CDI_IMAG.RTF</name>
</file>
<file src="cdi_text.fnt">
<name>CDI_TEXT.FNT</name>
</file>
<file src="cdi_vcd.app">
<name>CDI_VCD.APP</name>
</file>
</folder>
</filesystem>
<sequence-items>
<sequence-item src="track1.mpg" id="sequence-00"/>
<sequence-item src="track2.mpg" id="sequence-01"/>
<sequence-item src="track3.mpg" id="sequence-02"/>
</sequence-items>
<pbc>
<playlist id="lid-000">
<next ref="lid-001"/>
<return ref="lid-end"/>
<wait>2</wait>
<autowait>0</autowait>
<play-item ref="sequence-00"/>
</playlist>
<playlist id="lid-001">
<prev ref="lid-000"/>
<next ref="lid-002"/>
<return ref="lid-end"/>
<wait>2</wait>
<autowait>0</autowait>
<play-item ref="sequence-01"/>
</playlist>
<playlist id="lid-002">
<prev ref="lid-001"/>
<next ref="lid-end"/>
<return ref="lid-end"/>
<wait>2</wait>
<autowait>0</autowait>
<play-item ref="sequence-02"/>
</playlist>
<endlist id="lid-end" rejected="true"/>
</pbc>
</videocd>
| In this example the name of the XML file has been left as
the default "videocd.xml". If desired, there is no reason
not to name it into something else. To make the CUE/BIN image of our VCD, VCDXBUILD.EXE is used. If the command in figure 4 is run then it will create the following:
If you run VCDXBUILD --help at the command console, you will get a full list of the switches you can use and you may want to change or add some other options. Burn the CUE/BIN image onto CD-R and you will
have your simple multitrack VCD. The usage of VCDXBUILD with GNU VCDImager Tools GUI was described under "Method 2". |
As I mentioned in the introduction, I stated that my opinion was that for simple multitrack VCDs, method two was the best one. The main reason why I say this is because most modern stand-alone VCD and DVD players can play non-PBC simple multitrack VCDs with additional features. Some of these features include:
A PBC enabled simple multitrack VCD does not add much additional features (otherwise it wouldn't be simple multitrack) but will disable most of the above additional hardware features. Importantly, direct assess to the track by entering the track number will definitely not be present. Of course, you can get all the above features again but manually turning off the PBC setting on the stand-alone player, but if you are going to do that, you might as well not have authored the PBC content in the first place.
Michael Tam <vitualis (at) michaeltam.com>
anti-spam device - replace (at) with @ to send me e-mail
(c) 20 December, 2002