On January 18, 2003 04:20 pm, Jesse Kline wrote:
> That's the thing. Vcdimager does not complain about the video that
> ffmpeg produces. It is not until I put it into my DVD player that I find
> it doesn't work. When I say it's not VCD compliant I mean that from what
> I can tell is sets the audio bitrate too low (something like 64 instead
> of 224). It also does not change the videos width and height from the
> original, and I know the VCD standard is quite picky about that. The
> problem is that I am not familiar enough with VCD standards or ffmpeg to
> know exactly what to do. Although I have been doing lots of research.
>
> Jesse

Your're right, I didn't even notice the video wasn't getting scaled, sorry.  
Try using ffmpeg to decode the divx and using the tools from mjpegtools to 
scale and encode like this:

$ ffmpeg -i original.avi -f yuv4mpegpipe -an - | yuvscaler -n n -M WIDE2STD -O 
VCD | mpeg2enc -f 1 -r 16 -n n -F 4 -a 2 -o video_vcd.m1v

This should generate a good video stream.  yuvscaler should rescale to the 
appropriate size and the -M WIDE2STD option should preserve the aspect by 
letterboxing the video.  All the other options used are listed in the 
programs' help output or man pages.

There are many ways to reencode the audio.  Either of the two ways shown below 
should work fine but the first seems faster.

$ ffmpeg -i original.avi -f mp2 -ab 224 -ar 44100 -ac 2 -acodec mp2 -vn 
audio_vcd.mp2

or:

$ ffmpeg -i original.avi -f wav -vn - | mp2enc -V -o audio_vcd.mp2

Multiplex the streams the same way as usaual:

$ mplex -f 1 audio_vcd.mp2 video_vcd.m1v -o vcd_out.mpg

I'm pretty sure this will work now.  If you want more information about VCD 
standards and stuff you should take a look at the vcdimager info page as well 
as the documentation for mjpegtools on their sourceforge page.

~Scott





Reply via email to