Creating VCDs from AVI files

For all the advances in Blu-Ray and DVD technology, the venerable Video CD format is still very much alive. Oh, it's sitting quietly in the sidelines nowadays, but it still remains the least common denominator in video distribution technology. Legitimate video shops (at least here in the Philippines) still thrive on sales of VCD disks.

Recently, I've had cause to create a VCD out of a video that I downloaded from Youtube. Piracy? Well, let's just say I'm treading a gray area here.

The story behind this is: my Mom caught part of a local political documentary on TV but was unable to view the segment in its entirety. Seeing how important it was to her, I found the video on Youtube. Ordinarily, I would have just sat her in front of the computer, but Mom preferred to watch on TV. Solution: download and convert the video and turn it into a VCD.

I'll skip the details on the Youtube video download for now and head directly into the part about converting the resulting AVI file into a VCD.

There are two packages you'll need to perform the conversion: ffmpeg and vcdimager.

ffmpeg is a handy-dandy command line video converter. It's command options are numerous and can be confusing, but you really only need a few standard sequences for most conversion jobs.

vcdimager is, as the name implies, a tool to create VCD images from MPEG files. That's really why we need ffmpeg: because vcdimager only works with MPEG.

Install these two packages and their dependencies. By now you should already know how.

Let's say we have three files called spratlys1.avi, spratlys2.avi, and spratlys3.avi. These are the steps to convert them into one VCD image:

1) First, convert each file into an MPEG file. To do that,

ffmpeg -i spratlys1.avi -target ntsc-vcd spratlys1.mpg

ffmpeg -i spratlys2.avi -target ntsc-vcd spratlys2.mpg

ffmpeg -i spratlys3.avi -target ntsc-vcd spratlys3.mpg

2) Then, run vcdimager over these files.

vcdimager -t vcd2 -l "SPRATLYS" -c vcd.cue -b vcd.bin spratlys1.mpg spratlys2.mpg spratlys3.mpg

This will create two files, vcd.bin and vcd.cue in the same directory.

3) Burn vcd.bin and vcd.cue into CD using the following command:

cdrdao write --device /dev/cdrw vcd.cue

After burning, the VCD should be viewable in any player.