|
From: Steven M. S. <sm...@2B...> - 2004-01-02 07:25:10
|
Hi! On Fri, 2 Jan 2004, George Kola wrote: > I have a large number of DV files to be encoded to mpeg-1 and mpeg-2. > The DV file is large 13 GB (It is DV in avi). I compiled mjpeg tools on Oh, you used the form 2 AVI instead of raw DV :-( > redhat 7.2 and redhat 9. The glibc I have supports files larger than 2 GB and > the configure in mjpeg tools shows that glibc supports files larger than 2 The system isn't the problem. > GB. But I find that the lav2wav and lav2yuv pick up only around 1 GB of data > from the file -- I see only 4.42 seconds in the final encoded video. I did Right - that's a limitatin of the AVI format. Now there are extensions to get past that (ODML comes to mind) but mjpegtools' AVI support is not ODML aware and can not read past the 1GB (old) AVI limit. > some searching around and found that DV had 1 GB limit and there is an > opendml extension which allows for larg DV (in avi). I am able to Ah, ok - so you found the ODML references. Alas, lav* doesn't use them ;( > successfully encode the DV with mencoder to MPEG-4. But I really need mpeg-1 > and mpeg-2. Could someone tell me how to accomplish it. Hope you have a lot of temp disc space - one of the methods will (temporarily) use a lot of space... Do you have the 'smilutils' (alternatively called smiltools)? You should be able to use those instead of lav* to do the conversion from DV to YUV4MPEG2. As a matter of fact I've been using smil2yuv for a long time - and you can build smil* against ffmpeg/libavcodec for the DV decoding. Why would you want to do that? How's a ~10% reduction in final MPEG2 bitrate sound? libavcodec/dv produces better output that libdv according to all the tests I've run. You could even use 'smil2raw' to convert the AVI files to raw DV files if you wanted to. Very useful adjunct to mjpegtools - look around kino's site (I can't remember if there's a pointer to smiltools or not). Alternatively you can check out the CVS version from cvs -d :pserver:ano...@cv...:/cvsroot/kino login cvs -d :pserver:ano...@cv...:/cvsroot/kino co smilutils cd smilutils cvs logout ./bootstrap ./configure --with-avcodec --with-avcodec-include=.../libavcodec gmake (... is typically /usr/local/src/ffmpeg but might vary of course) LOTS of useful filter programs, and utilities in the kit. I typically use it thus: smil2yuv -i 2 redhotridinghood.dv | \ yuvdenoise -S 0 -l 1 | \ y4mscaler -O chromass=420_MPEG2 | \ bfr -b 10m | \ mpeg2enc -f 8 -M 2 -E -10 -2 1 -q 6 -K kvcd -o foo.m2v which leaves the 4:1:1 to 4:2:0 conversion in y4mscaler's _extremely_ capable hands. A simpler version that's more friendly to single cpu systems would be: smil2yuv redhotridinghood.dv | \ mpeg2enc -f 8 -M 2 -E -10 -2 1 -q 6 -K kvcd -o foo.m2v Instead of a raw DV file you can just give "bigfile.avi". Have fun - and remember: raw DV is the way to go. It's simpler (fixed 120000 byte records - you can use 'dd' as a crude editor in emergencies ;)) and has no size limit (other than what 'df' says your free space is :-)). Cheers, Steven Schultz |