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. (although it's been quite some time and I haven't seen other
support yet)
During this process it converts a 720x480 29.970fps 48khz incoming a/v
stream to 352x240 29.970fps 48khz mjpeg-encoded. Frame sizes are
adjusted slightly if you're using PAL instead of NTSC.
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.
- The avilib package ripped from lavtools-1.2 (included)
- libdv from sourceforge (quaser codec). you may need version 0.4.
- mjpeg tools (greater than 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:
Make sure that VIDEO is defined properly in the makefile. Just type
'make', and two executables will be built - dv2jpg and avijoin.
USING:
- 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.
- 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.
- 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.
- Convert the audio to mpeg by using mjpeg tools. You need to downsample
the audio to 44100khz in the process:
lav2wav showname_1-6.avi | mp2enc -v -o showname_1-6_a.mpg"
- 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
- 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
- Repeat the process for segments 7-12. you now have an hour's worth of
mpeg-encoded video in two pieces.
- 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.
- Insert VCD into dvd player, or use the 'mtv' package to play your movie.
- Enjoy. This is a required step. Do not skip.
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 mpeg encoder that can handle a common input format.
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 products.
-cajun