Encoding VCD & SVCD in FlaskMpeg using TMPG

You need the following software for this guide:

SVCD pack
TMPG
VideoServer
Bitrate Calculator

While not exactly being the fastest encoder this is definitely the most versatile and full-featured encoder ever built. It has many facilities which other encoders do not have, among others powerful IVTC and various other video and audio processing options.

Step 0 - One time setup

To set up the Videoserver, unzip it to its own directory, then copy CM-Avisynth.prm to the directory where you have Xmpeg/FlaskMpeg and rename it to CM-Avisynth.cm.flask. Also, unzip bbmpeg.zip from the videoserver directory to the Xmpeg/FlaskMpeg folder and do the same for pulldown.zip and wav2mp_1_1.zip. You only have to perform these steps once.

Step 1: Rip the DVD

DVD Decrypter is ideally suited as it does UDF parsing which enables it to read any (almost) DVD. It's also very beginner friendly.

Use only this program and stick to the settings given in the guide or you'll run into problems.

Step 2: Calculating the bitrate

You can use any regular bitrate calculator, the only important thing is that you respect the CD sizes that are applicable for VCD/SVCD (they can contain more than for a comparable data CD).

Step 3: Set up audio

Xmpeg is a modified version of FlaskMpeg with a different interface, certain very useful additions and it can work in the native YUV2 colorspace which speeds up encoding considerably compared to the regular FlaskMpeg. If you've used FlaskMpeg before Xmpeg won't be hard to use. Unfortunately TMPG does not support YUV2 data but we can still make advantage of Xmpeg's other features.

Step 4: Set up video and frameserver

Now it's time to properly resize and start frameserving.

Step 5: Encoding

Now it's time to encode the video in TMPG. Note that in this step video source is the IPCServer AVI (by default: c:\IPCServer0.AVI) and audio source is your AVS file (by default: c:\part0.avs. Also disregard anything concerning IVTC.

Step 6: Splitting to CDs

First we have to split up the complete video stream into an audio and a video stream to multiplex it later using bbMPEG which creates guaranteed specs compliant streams and at the same time it can split the movie at the appropriate positions.

Step 7: Burn

The last step is burning the video in Nero or a cue/bin capable burning tool.