|
From: Steven M. S. <sm...@2B...> - 2005-04-08 00:54:30
|
On Fri, 8 Apr 2005, Jonathan Woithe wrote: > From DV to MPEG2 I use tools only from mjpegtools. These do of course use > libdv's decoder. I haven't as yet had time to work out how to get ffmpeg > into the pipeline - I'll see if time allows such experiments over the The way I use ffmpeg's dv decoder is to build the smilutils against ffmpeg/libavcodec (in the smilutils configure it's "--with-avcodec --with-avcodec-include=yourdirectorytolibavcode"). smilutils is on the Kino site somewhere as I recall (I checked it out from cvs ':pserver:ano...@cv...:/cvsroot/kino' and project/module 'smilutils'). By default smilutils builds with libdv but it can also work with ffmpeg/libavcodec > weekend. Anyway, given a DV stream (in a QT container, but that's not > relevant for this), the process at its simplest form is > > lav2yuv foo.mov | mpeg2enc -f 8 -q 6 -N 0.5 -E -10 -c -s \ ^lav2yuv^smil2yuv^ > were foo.mov is a raw DV stream encapsulated in a Quicktime file. My preference is for 'raw DV' - makes using 'dd' as a poor man's editor trivial (fixed record size) and less overhead. > I haven't yet had a chance to look into how one could use ffmpeg to do the > DV->YUV4MPEG conversion - it's another thing for the weekend. Based on the ffmpeg can produce raw 420planar data - once you have that then the little utility from mjpegtools called 'yuv4mpeg' can be used to put the YUV4MPEG2 headers/framemarkers in. > of difference. As far as the decoders go, ffmpeg and libdv seem (at first > glance anyway) to give equivalent output. When I switched from libdv to smilutil+libavcodec/dv the average bitrate of the final MPEG-2 file was 10-15% *lower* (and ALL other parameters/programs in the pipeline were the same). Your mileage may vary of course. Cheers, Steven Schultz |