View Full Version : ty2vcd - a linux script for automated VCD production

01-06-2003, 11:42 PM
I wrote this script for my own use, and thought others might find it useful. I'll just paste the README.txt here. The tarball is attached to the following message.


Makes a VCD from up to three .ty files specified on
the command line. The entire process is automated up to
and including burning the VCD. Also generates an introductory
menu for the VCD allowing interactive selection of the tracks.


Copy the ty2vcd script and the other files (except mpeg2dec-yuv) into
the directory where your .ty files are and where there is plenty of
room for intermediate files to be created. Put mpeg2dec-yuv in your
PATH. cd to your .ty directory and run the script from there.


Insert a blank CD in your drive and invoke ty2vcd
with the names of up to three .ty streams. Each .ty will
become a separate track on the VCD.


1. mjpegtools (in Debian), to manipulate video and a/v streams

2. A version of mpeg2dec that can output YUV
format. For some reason I cannot comprehend, the
mpeg2dec included with the recent mjpegtools packages
does not have that functionality. This script is packaged
with a renamed Linux binary, mpeg2dec-yuv, that may work on your
system. It was compiled from mpeg2dec-0.2.1-mjpegtools-0.7.tar.gz
which is available at http://download.sourceforge.net/mjpeg.

3. lame, sox, and toolame, to do the audio downmix. sox
and toolame are in Debian, lame is a little harder to find.

4. ImageMagick (in Debian), to create the menu picture

5. vcdimager (in Debian), to create the VCD files

6. cdrdao (in Debian), to burn the final VCD


Does not generate SVCDs because my DVD player won't
play them. Could be easily modified to make SVCDs.

The menu selections will be the names of the input .ty
files minus the .ty extension.

Due to my incompetence at bash programming the
.ty filenames must not contain spaces.

The menu background is based on template.pnm, feel free
to modify as desired.

The script assumes the CD-R/RW media is inserted into the drive.
The script will blank the media if necessary.

The script does not check to see if your files will all fit on
the disk, it trusts you.

You may have to change the --device and --driver parameters to
cdrdao, at the end of the script, to suit your equipment. The
--force parameter is needed there because the menu track is so
short cdrdao thinks a mistake is being made and won't write the
disk unless forced.


Inspiration and bits of code from vcdautomenu by Tony J. White
<tjw at tjw.org> and ty2svcd by glider on dealdatabase.

Menuing xmls based on the excellent guide at


0.1 1/6/2003 Initial release.

01-07-2003, 12:07 AM
Ignore the .zip, it's a tarball.