Step 1: At many places, it is mentioned that we can simply rename the MOD files to MPG files. The MOD files are nothing by MPEG2 files. For example, VideoLAN doesn't work with MOD files, but when the extension of the file is changed from .mod to .mpg then it works. But when I did this renaming, the vcdxbuild software core dumped (at a later step). So this is what I did.
$ ffmpeg -i sample.mod -target svcd -sameq sample.mpg
Do this for all the MOD files that you have collected. At the end of this step you would have a bunch of MPG files.
Step 2: Generate an XML file that will describe the contents of the VCD. This can be done with the help of vcdxgen tool (which is part of VCDImager).
$ vcdxgen *.mpg
This creates a videocd.xml file. You can edit this file using your favourite editor to set the title and other meta information on the VCD. The order of the MPG files in the VCD can also be changed by modifying this XML file.
Step 3: Create a VCD image using the vcdxbuild tool (part of VCDImager). The input to this tool is the XML descriptor file generated in the previous step.
$ vcdxbuild videocd.xml
This is where it fails if the MOD extension is simply replaced into MPG extension. I don't know why it fails, but this is the reason I am suggesting to make use of ffmpeg and do the conversion. This command will generate two files videocd.cue and videocd.bin. The file videocd.bin is the binary file that contains the VCD image.
Step 4: Write the binary image from the previous step to the an empy CD. The tool cdrdao can be used for this purpose.
$ cdrdao scanbus # get device number of CD writer
$ cdrdao write --device 1,0,0 videocd.cue
Here is the full summary of the commands that has been used.
- ffmpeg -i sample.mod -target svcd -sameq sample.mpg
- vcdxgen *.mpg
- vcdxbuild videocd.xml
- cdrdao scanbus
- cdrdao write --device 1,0,0 videocd.cue