Hi japie, major, and all
Yesterday, I spent a good 5+ hours playing with ffmpeg, and I found some tricks to make ffmpeg work better than the default settings.
One HUGE problem right now with ffmpeg is that it can't use B frames correctly. It's an encoded mess if you turn on B frames

Also, the default VBV buffer is too small.
The VBV parameter (-bufsize), which states to be in kbit, is completely erroneous, just like the -bf (use B frames ( only MPEG-4 ), which does add B frames to the MPEG-1
So after hours of playing aroung, and not being able to get good quality with a GOP size of 18 ( worse quality with 24 ), I came up with these settings:
Code:
./ffmpeg -on -i your_INPUT_movie_name -s 528x480 -hq -minrate 300 -maxrate 2500 -qmin 6 -qmax 25 -r 23.976 -bufsize 320 -g 18 -i_qfactor .1 your_OUTPUT_movie_name
The min and max q (6 and 25) were just for a wanted target size I was comparing with TMPEG, so your values will be different, depending on what you want to target.
This gives a correct VBV size of 40KB ( 20 displayed in Bitrate Viewer ), and a good balance for the P frame compression, to compensate for the loss of B frames.
In this case, I was trying 528x480, encoding directly from a VOB piece.
Here's the result:
http://www.kvcd.net/downloads/ffmpeg-rp-mod.mpg
And with the same settings, without adjusting VBV and I to P factor, this is what you get with this line:
Code:
./ffmpeg -on -i your_INPUT_movie_name -s 528x480 -hq -minrate 300 -maxrate 2500 -qmin 6 -qmax 25 -r 23.976 -g 18 your_OUTPUT_movie_name
http://www.kvcd.net/downloads/ffmpeg-rp.mpg
It's an obvious difference, and in file size too

It's VERY sad that ffmpeg can't use B frames correctly. Hopefully, they'll fix it in a future release. Right now, I can see the motion estimation is far better than TMPEG. But the loss of B frames, spoils the quality, specially in higher resolutions. You can clearly see the old "flashing" effect every time a new I frame is inserted. So we really need B frames
-kwag