Tools: VirtualDub, VirtualDub Subtitler Filter, Sub Station Alpha and Tmpgenc 12b.

Note! This method makes permanent subs in the video that you can not turn off. To make switchable subtitles you first must make SVCD and not many DVD Players support switchable subtitles, check our DVD Players list, but if you wanna try it out checkout MaestroSBT or submux.

Making the Subs

First you have to make the subtitles for you movieclip. (if you are converting a DVD to anything use instead FlaskMPG and it's no need to manually create the subs)
Download the Sub Station Alpha.
Install it and start making the subs, it's just to type in the words and set the start and stop times but it takes a lots of time(to make it easier to sync against the video you can extract the audio from the video to wav and open it in Sub Station Alpha, read the help for more info).
And last save the sub station alpha text as anything.ssa.

Adding the Subs to the Video

Now Install VirtualDub, and then extract the Subtitles Filter to the Virtualdubs folder plugins.
Launch VirtualDub
File->Open and open the Video, Virtualdubs supports MPG, AVI and DIVX (if you want to subtitle DVDs use instead FlaskMPG)
Select Video->Filter to configure the subtitler filter.
Select Add.
Select the subtitler Filter and Click OK

Open the .ssa file that you have made with Sub Station Alpha by clicking on the ...
And Press OK.

Click OK again and it brings you back to the Virtualdub Preview.
Now Select Under Video->Full Processing.
And now it's time to "Frameserve" the Video directly to TMPGEnc. IMPORTANT, before doing this you have to have installed the "handler" so go to the Virtualdubs folder and run auxsetup.exe and hit the button Install Handler and click OK. Exit it and it's done.
Back to Virtualdub now and select File->Start Frame Server.
A Frame Server Setup window appear, click Start and a save window appears, Save the file as anything.vdr.

And now should this window appear, and it should say Frameclients installed: AVIFile only, it it says anything else install the Handler again as describe above. Don't click on the Stop Serving.

Now it's time to Encode the frameserved video to MPG. Launch TMPGEnc.
Open the .vdr by select Files of types: All files.
And now it's just to select VCD Templates or SVCD Template and Encode, read more under the AVI to MPG guides.