VCD Stills With Audio

by mikk - Updated 5 August 2007

 

There are newer and faster methods of doing what this guide covers (this guide first started in 2001), but this guide makes fully compliant VCD 2.0 discs. Please be warned that many new guides and methods make discs which are not compliant with VCD 2.0 standards.

Did you read my guide on high resolution VCD Still Menus?: High res still menus They seem a little bit boring don't they? Why don't you add some music? Oh, I haven't told you how to do that yet! OK, here it goes.

 

Problems

A few players aren't able to play a still at the same time as audio. One such player is the Pioneer DV-444S. Just thought I'd warn you before you make a VCD that doesn't work in your player.

Also, please note that you can not change the still while the music is playing. This is because the player can't read two places on the disc at the same time.

On with the tute...

Adding audio to a VCD menu is a bit more complicated than a plain still menu. The tools you need are VCD2TK, TSCV, and TMPGEnc (www.tmpg-inc.com). Install TMPGEnc anywhere you like (but preferably C:\Program Files\TMPEnc so that your hard drive is kept neat!).

First you have to get the audio. Once you have the audio, encoding it in TMPGEnc is very easy.

Just use the Browse button next to the audio box to select your Audio source. Almost any common audio file will be accepted (including MP3). The Output file name will automatically be made up (or you can click Browse to make your own). I advise an 8.3 character filename for later. In the Stream type section on the left, make sure it says Audio only. When you press the Setting button, you can change the type of audio stream:

Always use MPEG-1 Audio Layer II. Anything other than 44100 Hz might not work. According to the GNU VCDImager Manual, the allowed types of audio are Joint Stereo, Stereo, and Dual Channel at 128, 192, 224, or 384kbit/s, or Mono at 64, 96, or 192 kbit/s. All of the audio must be CBR MPEG 1, Layer II. My advice is to use 224 or 384kbit/s Stereo. For Mono the best choice is 192kbit/s. Joint Stereo can sound very bad at times, so I never use it. Dual Channel should be used when you want 2 mono channels of audio, for different languages, or commentary. Your player will allow you to switch between the left channel, right channel, or both at the same time. I ticked the Error Protection box because some players expect the stream to contain error protection. Leave the settings below that alone, they are almost useless.

OK the settings and press the Start button on the mains screen of TMPGEnc. Everything will finish and you will have nice MP2 file. You can check it by playing it in your favorite audio player (Sonique, Windows Media Player, etc).

The MP2 file has to be muxed into a stream. This is because some players require the file to be muxed, although the unmuxed file works perfectly in many players. VCDImager requires the file to be muxed anyway. Now run VCD Mux (which came with VCD2TK). Select Auto Mux from the Functions menu. Leave the Video Stream box empty. Browse to your Audio Stream (MP2 file) and click OK. Save the Output file anywhere you want.

The audio file preparation is now over.

Now you can add the audio to a still image by editing the XML code. After finishing your VideoCD in TSCV, save the XML using the XML tab in TSCV.

 

Open it up the XML again in Notepad. Find the "<selection" section for your still menu. It probably has the id smenu-0. Copy and Paste everything from <selection id="smenu-0"> to the next </selection> below what you just copied.

We're going to make the original selection display the still and then immediately play the second selection, which will be the audio. Change the id of the copy. Change the next ref and timeout ref of the original to the id of the copy. The copy is to become the audio. Your still menu should have a wait time of 0 (-1 means forever). The next and timeout references should be changed to the id of the second selection (audio selection).

Add the music to the <segment-items> section of you XML code, with a line like <segment-item src="C:\Menus\Endless Summer Menu Music.MMD" id="music-0"/>. In the audio selection, the play-item ref should be changed to your music id (in the example it is music-0).

Your menu will behave in exactly the same way when you play it, except that it will have audio!!!

For my simplified example below, the still image is the file Endless Summer Main Menu.MMS. The audio is Endless Summer Menu Music.MMD. In the segment-items section of the file, they both have to be listed and given an id. In the pbc section of the file, the still is displayed, then the music is played. I have set it to loop 7 times before timeout starts. The selection-01 and selection-m3-0 are id codes for other things (my chapter menu and the movie). If you want a proper understanding of the XML code, read manual.pdf which comes with GNU VCDImager.

<segment-items>
<segment-item src="C:\Menus\Endless Main Menu.MMS" id="menu-0"/>
<segment-item src="C:\Menus\Endless Menu Music.MMD" id="music-0"/>
</segment-items>

<pbc>

<selection id="smenu-0">
<bsn>1</bsn>
<next ref="selection-01"/>
<return ref="smenu-0"/>
<timeout ref="selection-01"/>
<wait>0</wait>
<loop jump-timing="immediate">1</loop>
<play-item ref="menu-0"/>
<select ref="smenu-3" x1="135" y1="132" x2="220" y2="170"/>
<select ref="selection-m3-0" x1="135" y1="177" x2="220" y2="205"/>
</selection>

<selection id="selection-01">
<bsn>1</bsn>
<return ref="smenu-0"/>
<timeout ref="selection-m3-0"/>
<wait>1</wait>
<loop jump-timing="immediate">7</loop>
<play-item ref="music-0"/>
<select ref="smenu-3" x1="135" y1="132" x2="220" y2="170"/>
<select ref="selection-m3-0" x1="135" y1="177" x2="220" y2="205"/>
</selection>

</pbc>

 

I know it might seem hard to understand the XML code at first, but read the manual.pdf file that comes with GNU VCD Imager and you will get used to it. Just read my example a few times. Once you know how to edit the XML manually, you'll be able to do almost anything within the capabilities of the VCD system. No more waiting for a new version of TSCV!

When you have finished you can make the CD image. This will be in the .CUE and .BIN format. Use VCDxBUILD. In TSCV go to the Tools tab and click XML-File to open your XML file. Press Start to build the image.

 

To burn the .CUE and .BIN files on to a CD, you can use CDRWIN. A trial (1 speed only) version of CDRWIN is available at www.goldenhawk.com. You could also try BlindWrite (www.blindwrite.com) from VSO. A new trial version can always be downloaded for free, even when the trial has expired.

Have fun with your cool high res still menus that play music!!

mikk