How To Make High Resolution VCD Stills
by mikk - Updated 5 August 2007
Please note that this guide has been around for many years now (I think I first made it in 2001!). As such there are newer and faster ways of making a VCD, but this guide makes fully compliant discs which comply with the VCD 2.0 standards unlike many of the newer methods.
The VCD 2.0 format supports still MPEG pictures in several formats: 352x240 (NTSC), 352x288 (PAL), 704x480 (NTSC), and 704x576 (PAL).
I have seen that when they make MPEG stills for VCD menus, many people use the MenuGen tab of TSCV. This calls TMPGEnc to encode the still, then you patch the video stream to 0xE1 with another button. But this only makes a 352x288 still !!! Sometimes it makes bad files too !!! There has to be a better way.
That better (best?) way is to use Philips Video CD 2.0 Toolkit (available here). This software came out in 1996, but it supports all the features of Video CD 2.0. Philips has even made the software Freeware. But people tend not to use it because it's very picky about the MPEG video you give it. All the MPEG has to be remuxed before you can use it. It won't make SVCDs and XVCDs either. But if you're only interested in making fully compliant VCD 2.0s, it's the best software to use! VCDHelp has a tutorial on how to use it: How to author a VCD with Philips Video CD 2.0 Toolkit
But if you want to use TSCV and still have high resolution stills, follow this tute!
First make your high res stills in some sort of paint program. Use 704x576 for PAL and 704x480 for NTSC. PAL is the preferred choice because the resolution is higher. A lot of players will output the picture in their native video format regardless of the source resolution. Even if your player doesn't, most new TVs will take either a PAL or NTSC signal anyway. PAL is the way to go.
A good way to get an image is to take a screenshot of the video (or DVD menu) while it's playing. PowerDVD and WinDVD have screenshot buttons. When you're finished making your images, save them as bitmap (BMP) files with names that are no more than 8 characters long (so it's easier to read them in VCD2TK).
Once you have Philips Video CD 2.0 Toolkit (VCD2TK) and you have installed it you are ready to run it.
Go to the File menu and click New. It doesn't really matter what you call the file or where you put it because we're only interested in making the MPEG stills. So once you have made your file you should get something like this:
I called my new project
MENUS. Click on the Assets button. Then click the Add button in the
Assets window. Select your BMP files (you can Ctrl-Click to
select more than one file at a time). After the files are opened
you will end up with a list like this one:
Click on the Menu Editor
button. In the Menu ID box, type the name of the still MPEG file
you want to make. Keep it 8 characters or less. Drag a still from
the Assets window to the Video box on the Menu Editor. -At this
stage u could trace the invisible button co-ordinates if u want
to be able to point and click on the menu. That's explained at
the end of this tute.-
Click the Create button. To
make another menu just change the Menu ID and drag another still
to the Video box. Then click the Menu
button to toggle a list of menus you have made.
Now find the Volume Map. It's the first window that was opened when you created a new project. Drag one of your menus from the menu list to the square attached to a line on the bottom part of the Volume Map window. You will get something that looks like this:
To add your other menus,
just drag them onto the + box at the bottom. Drag more menus onto
the plus boxes. If you need to make more than 99 MPEG stills, you
can click on the triangle to the left of a menu to expose the
selections for that menu. Once all you menus are added, go to the
Album Builder by clicking the
button or going to the Project menu. Here you can use the Set
Build Folder button to pick the place you want the MPEG stills to
be saved. Click the analysis button to generate the MPEG stills,
which will be MMS files.
These files contain two video streams. One stream is the high res still and the other is the normal res still. Most hardware players will use a high resolution still if it's available. Even if the player doesn't want to use the high res still, the still is compatible with the player anyway because a low res still is also available within the same file.
If you want to use the stills in TSCV then use the Add Menu button; put *.* in the file Open dialog box so that the MMS files show up. They'll be recognised as MPEG stills.
Buttons
The invisible button placement is something you might want to do also. This is useful when u play the VCD on a PC and u want to use the mouse to click on the menu, instead of typing numbers in.
In TSCV u can put the numbers into the XML once u have finished everything else. Save the XML to a file and edit it in Notepad. These numbers can only range from 0-255, so what u do is drag boxes on the picture in the menu editor in VCD2TK for the buttons and write down the co-ordinates. Then u scale the numbers with a bit of maths.
I made an Excel 97 worksheet xyconvert.zip that does all the conversion for you. ZIP files can be opened by WinRAR (which also works with RAR and ACE files etc). If you don't have Microsoft Excel 97 or higher, you can do the conversion manually using a calculator, as explained below.
For example: I make a button in VCD2TK that goes from 373, 299 to 607, 383. The menu resolution is 704x576. Therefore the scale factors are:
255/704 = 0.362215909
255/576 = 0.442708333
The calculations:
x1 = 373x0.362215909 =135, y1 = 299x0.442708333 =177
x2 = 607x0.362215909 =220, y2 = 383x0.442708333 =205
Remember: when rounding, 1,2,3,4 go down, 5,6,7,8,9 go up.
x1, y1, x2, y2 are the button co-ordinates. Values can go from 0-255. Just put them in the <select ref="something"/> lines in the <pbc> section of the XML like i did in the example below. You can also put them after the next, prev, and return refs.
<selection id="smenu-0">
<bsn>1</bsn>
<return ref="smenu-0"/>
<timeout ref="selection-m1-0"/>
<wait>300</wait>
<loop jump-timing="immediate">1</loop>
<play-item ref="menu-0"/>
<select ref="selection-m1-0" x1="135" y1="177"
x2="220" y2="205"/>
<select ref="selection-m7-0" x1="5" y1="12"
x2="15" y2="22"/>
</selection>
Audio
Many people have been using MPEG video streams in order to get audio on their menus. Low resolution and ugly! You can add audio to high res still menus using my VCD Stills With Audio tutorial.
Problems
Some players might have problems with the stills. Many cheap rubbish players don't like anything higher than 352x288. My advice is to avoid buying these players in the first place. You shouldn't be so desperate to watch VCDs or DVDs that you buy a piece of junk player.
I also know that a small number of Sony players have a lower chance of playing a VCD if the first thing to play is a still, and the CD is a CD-R. I have never experienced this problem (which is related to disc quality), but i hear the fix is to put a 2 second MPEG video at the start of the disc.
Well, happy VCD making!
mikk