SUMMARY: This is a digital video (dv) avi to mjpeg-encoded avi converter. It's a quick hack to get me by until formal support is provided in other packages. During this process it converts a 720x480 29.970fps 48khz incoming a/v stream to 352x240 29.970fps 48khz mjpeg-encoded. This frame size is required if you want to burn NTSC VCDs (see PAL support below) NOTE: This is a quick hack. I don't have time to make the source pretty. It works quite well regardless. Please carefully read this document in its entirety; there's many intermediate steps and things can get confusing. Also, read the docs that are on the mjpeg tools web site for more help on their end of the process. FILES: The package can be retrieved from http://cajun.sourceforge.net/dv2jpg/dv2jpg.tar.gz The two prebuilt executables can be fetched from http://cajun.sourceforge.net/dv2jpg/files/dv2jpg and http://cajun.sourceforge.net/dv2jpg/files/avijoin REQUIRED: you'll need: *) dvgrab, a digital video device, and a fireware card. I'm using the Dazzle Hollywood analog (composite) to digital converter to capture output from my vcr. *) libgdk-pixbuf; usually comes with redhat 7.0 "workstation" install. *) the avilib package ripped from lavtools-1.2 (included) *) libdv from sourceforge (quaser codec). you may need version 0.4. *) mjpeg tools (rev >= 1.3b3) from sourceforge (the FRIGGEN greatest thing since sliced bread!! good job on the mjpeg avi support guys!!) *) avilib converted for use with the DV codec (included) BUILDING: since this is a quick hack, I haven't made the makefiles/source pretty, etc. besides adjusting a few paths, things should build fine. I'm using redhat 7.0/2.4.1. There's two executables to build, dv2jpg and avijoin. USING: 1) use dvgrab with the --format dv2 parameter to create avi files. you'll notice that the avi files it creates are about 1gb in size, and contain about 4.5 minutes of video/audio. An hour and a half show takes up about 25 gigabytes. 2) use "dv2jpg dvavi mjpegavi" to convert one of the above-created DVavi's into mjpeg-encoded AVIs. repeat for all DVavi's. You won't need the DVavi's any more now that you have mjpeg-encoded AVIs. That'll free up some much needed disk space, since they're much smaller. 3) use "avijoin showname_1-6.avi show1.avi show2.avi show3.avi show4.avi show5.avi show6.avi" to join together 6 of the 4.5 minute mjpeg-encoded avi's. you'll wind up with almost 1/2 hour of avi; about one gigabyte. this seems to be the about the max you can stick in an avi file; though I haven't tried putting more. 4) convert the audio to mpeg by using mjpeg tools. This will do a rate conversion from 48khz to 44.1khz in the process: lav2wav showname_1-6.avi | mp2enc -v -o showname_1-6_a.mpg" 5) convert the video to mpeg by using mjpeg tools: lav2yuv showname_1-6.avi | mpeg2enc -m 1 -b 1152 -o showname_1-6_v.mpg -r 32 -4 1 -2 1 -h 6) join the video and audio together using mjpeg tools: mplex -m 1 -f 1 showname_1-6_v.mpg showname_1-6_a.mpg showname_1-6.mpg 7) repeat the process for segments 7-12. you now have an hour's worth of mpeg-encoded video in two pieces. 8) use vcdtools and cdrdao to burn your two segments to vcd. NOTE: my Sony dvd player doesn't like any CD's other than... (I think they're called) "memorex platinum 650MB CDRW" NOTE that they're CDRW's; CDR's wont work because the laser is too weak. if you don't have a Sony, hopefully you'll have better luck than I did. 9) Insert VCD into dvd player, or use the 'mtv' package to play your movie. 10) enjoy. This is a required step. Do not skip. SIZE NOTE: The exact amount you can fit on a 650MB CD can vary; it could be that you can fit 11,12,13, or 14 segments. Start with the 12 like I do here and try more as you get comfortable. If you can use regular CDRs, try a 700MB disc. PAL SUPPORT: Right now PAL isn't supported; I'm not sure of the vcd sizes required. If someone can let me know what the image size is for a PAL VCD, I'll add support. You can also change dv2jpg.c and substitute in the proper size yourself (but do be nice and let me know). THANKS TO: The Gnome team for help with libgdk-pixbuf, rasterman for help with imlib2, arne for help with dvgrab. *Tremendous* Kudos go to the mjpeg-tools team, who built a nice fast mpeg encoder that can handle a common input format. More Kudos to Dr. Ranier for lavtools help. Charles 'Buck' Krasic for help with the LIBDV codec. And of course Linus and every Open Source/Free Software contributer for helping us all get along fine without any Micro Sloth(tm) products. Die, inferior operating system, Die! It's not dead yet! Yes it is; it'll be stone dead in a moment. aww, well can't you do something? Na, I've got to go to the Robinson's; they've lost 9 today. Well, do us a favor! (whomp) Thank you very much! Bring out your dead! Bring out your Dead!... -paulb paulb =at= foobox =dot= com