I have updated my python script to now accept an option for an ipod (-i or --ipod), which will use ffmpeg for the conversion (rather then transcode). Grab a copy of the script hosted at box.net mini_encoder.py and give it a whirl. Let me know what you think. Output looks as follows:
$ ./mini-encoder.py --ipod /movie/pineapple_express.avi
Filecheck: OK
Input filename: pineapple_express.avi
Output filename: pineapple_express_mini.mp4
Now running command: ffmpeg -i /movie/pineapple_express.avi -s qvga -vcodec libx264 -b 800k -g 300 -acodec libfaac -ab 128k pineapple_express_mini.mp4
FFmpeg version SVN-r15615, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-static --enable-shared --cc=x86_64-pc-linux-gnu-gcc --disable-debug --disable-network --disable-optimizations --enable-libfaac --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-demuxer=v4l --disable-demuxer=v4l2 --enable-x11grab --enable-libfaad --disable-ssse3 --disable-altivec --cpu=athlon64 --disable-vhook --enable-gpl --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-swscale --disable-stripping
...
frame=161231 fps= 65 q=8.0 Lsize= 768341kB time=6721.71 bitrate= 936.4kbits/s
video:659616kB audio:105001kB global headers:1kB muxing overhead 0.487023%
[libx264 @ 0x64e6b0]slice I:546 Avg QP:14.37 size: 17141
[libx264 @ 0x64e6b0]slice P:160685 Avg QP:16.54 size: 4145
[libx264 @ 0x64e6b0]mb I I16..4: 8.4% 0.0% 91.6%
[libx264 @ 0x64e6b0]mb P I16..4: 4.5% 0.0% 0.0% P16..4: 83.2% 0.0% 0.0% 0.0% 0.0% skip:12.3%
[libx264 @ 0x64e6b0]final ratefactor: 15.34
[libx264 @ 0x64e6b0]SSIM Mean Y:0.9895233
[libx264 @ 0x64e6b0]kb/s:803.5
Encoding complete! Filename is: pineapple_express_mini.mp4
