Short: VCDTools v0.4 - VideoCD image generator Author: louise@louise.amiga.hu Type: dev/gg Architecture: m68k-amigaos Uploaded: louise@louise.amiga.hu (LouiSe) Url: http://louise.amiga.hu Ported by LouiSe more info and other AMIGA ports at: http://louise.amiga.hu ----------------------------------------- ****** Making Video CDs under Linux ****** ***** What are VCDs, what are the VCD tools for ? ***** Video CDs are ordinary CDROMs in a special format which contain MPEG-1 encoded video. For long times this type of CD was mostly known in Asia whereas Video CDs and the according players were mostly unknown in the USA and Europe. Since almost every DVD player can also play VCDs (and since the recordable Video DVD for a reasonable price seems still far away) VCDs are getting more popular everywhere. VCDs use a special type of CD sectors (mode 2 form 2) and have a special form of the filesystem, so they can not be mastered with the usual Linux CD-Tools (like mkisofs and cdrecord). If you want to know more about VCDs, visit the VCD_FAQ or do a search in the web. The VCD-Tools should enable you to create your own VCD under Linux. The VCD- Tools contain two programs, vcdmplex for multiplexing a MPEG audio and video stream in a form suitable for the VCD and mkvcdfs for making a raw image of the VCD. ***** Actual Version of VCD-Tools: 0.4 (Sep 15 2000) ***** New in version 0.4: * Fixed some problems with sound blibs that were introduced with version 0.3 New in version 0.3: * Location of some files was wrong in previous version, some players refused to play the VCDs produced. This has been corrected and the VCDs should play now in (hopefully) every DVD player. * Removed optional files, this improved the behavior of the DVD players during playback (at least true for mine). Time and track info is now shown. * VCDs should be able to be played back by the windows Media Player now. Just drag and drop the AVSEQxx.DAT files into the Media player since they are not recognized as MPEGs by their extension. * MPEG system streams from other sources should make less problems now, file size of MPEG files needs not longer to be a multiple of 2324. ***** HOW TO MAKE A VCD: ***** * create a MPEG-1 video stream with the dimensions 352x240 (NTSC) or 352x288 (PAL) and a bitrate of 1152 KBit/sec (use the encoder of your choice, you find one for MJPG encoded AVIs or Quicktime files in the lavtools). * create a MPEG-1 layer 2 audiostream with a sample rate of 44100 Hz, stereo and a bitrate of 224 KBit/sec (use the encoder of your choice, you find one for MJPG encoded AVIs or Quicktime files in the lavtools). * multiplex these two streams with vcdmplex (vcdmplex is contained in the VCD-Tools). I got the information that a tool called mplex may also be used for multiplexing and may give better results. I have not tried that myself, you may try it if you think that audio/video sync is not satisfying. Don't ask me for details! You find mplex for example at http:// www.leo.org/pub/comp/general/graphics/mpeg/mplex/ * use mkvcdfs to create a VCD image of one ore more of those MPEG streams (mkvcdfs is contained in the VCD-Tools). * use cdrdao to actually burn the VCD image to disk (you may get cdrdao from http://www.ping.de/sites/daneb/cdrdao.html). ***** HOW TO CREATE THE VCD TOOLS: ***** * get vcdtools-0.4.tar.gz * gunzip and untar it with tar zxvf vcdtools-0.4.tar.gz * go into the directory vcdtools-0.4 and type make ***** HOW TO USE vcdmplex: ***** vcdmplex MPEG_video_stream MPEG_audio_stream MPEG_system_stream * MPEG_video_stream and MPEG_audio_stream are inputs, MPEG_system_stream is a output. * vcdmplex should be able to multiplex any MPEG video and audio streams, not just VCD compliant streams. It can be used even for MPEG-2 video streams, I don't know if the output adheres to any standard, however. * Messages in the form: "Inserted padding sector ..." are normal when multiplexing VCD compliant streams, they just tell you that your actual bitrate is slightly below VCD bitrate. * Messages: "***** BUFFER underrun - output may not play correctly *****" are more severe, they come if the actual bitrate of your MPEG stream is higher than the one specified in the header. The resulting system stream might be unplayable! * If video and audio stream bitrates comply exactly with the VCD specification (1152 KBit/s or 224 KBit/s respectivly), exactly 75 sectors/second are generated and the system stream is stuffed with padding sectors as needed. Otherwise no padding sectors are created. ***** HOW TO USE mkvcdfs: ***** mkvcdfs mpegfile1 mpegfile2 ..... mkvcdfs takes MPEG files produced by vcdmplex and creates the raw CD-Image data suited for burning with cdrdao. mkvcdfs creates 2 files (names may be changed by editing defaults.h): * vcd.toc contains the table of contents of the VCD * vcd_image.bin contains the CD-Image itself Use vcd.toc as the argument for cdrdao for burning the CD! ***** HOW TO BURN THE VCD: ***** cdrdao write --device your_CDR_scsi_id --driver your_CDR_driver_name vcd.toc For further details see the cdrdao man page or visit http://www.ping.de/sites/ daneb/cdrdao.html. ***** POSSIBLE MODIFICATIONS: ***** My DVD player plays back VCDs up to the double bitrate of normal VCDs. I use a video bitrate of 2500 KBit/s (and the usual audio bitrate of 224 KBit/s) for that. It refuses to play anything above double bitrate. Reportedly double bitrate is possible with most DVD players. It enhances the image quality greatly, but the time you can store on a VCD is reduced to 37 min. My DVD player also accepts VCDs where the MPEG video stream is in SVCD format: MPEG-2, image size 480x480/576, 2500 MBit/s. mpeg2enc from the lavtools is able to encode such streams. I multiplex these streams also with vcdmplex. ***** DISCLAIMER: ***** I have no documentation about the VCD standard (the "white book"). These tools where created mainly by reverse engineering the content of a VCD. I am pretty sure that VCDs mastered with these tools are NOT adhering to the standard. Actually I ommitted the CDI stuff completly since only a few people have a CDI player. These tools are just a try to make it possible to produce Video CDs under Linux! It may be that they work not correctly with every input even if the input is completly ok. ***** AUTHOR: ***** Rainer Johanni, Rainer@Johanni.de But not all stuff in this directory is from me! vcdisofs.c has many things I copied from mkisofs edc_ecc.c is from the cdrdao package and is written by Heiko Eissfeldt Home Created 15.9.2000, Dr. Rainer Johanni Rainer@Johanni.de