I don't have a iPod yet, so I have been relying on the eye and judgement of others, all of whom have been happy with the results. I am not a programmer or someone interested in spearheading changes to applications already out there, if you have a favorite app, forward this thread to the author and see what happens.
I WILL NOT ANSWER NON-TECHNICAL QUESTIONS ABOUT THESE APPS OR WHAT I HAVE DONE. So don't ask me to help you unless you know what you are doing already!
My goal was to create high quality video that looked GOOOOOOOOD when hooked to a TV, somewhere between broadcast and DVD quality while keeping the bitrate to a reasonable ammount. Secondary is the quality when viewed on the iPod screen. It looks like that "reasonable" ammount is falling into the range of 9-13mb/minute ( VCD bitrates ). You can go lower, but you will loose quality in some scenes, but not all.
I was working under windows, but the main tool used was ffmpeg and that should be availible for about every OS known to man at this point. Specifically I was using the ffmpeg from pspvideo9. For pre-conversion scaling and cleaning I used AviSynth. Because of some weird reason ffmpeg won't do 23.976 ( rounds up to 23.98 and that leads to audio sync issues ). So my Avisynth did an AssumeFPS and rescaled the audio to match. I also allplies light spatial and temporal smoothing to reduce the very high levels of grain in this particular movie. I then did a very simple 2-pass encode in ffmpeg. I have tried and tried to play with more advanced settings with ffmpeg, but nothing really resulted in higher quality. Tron is, IIRC, 2.05:1 so i trimmed it down to 2:1 and scaled it to 640x320 for my testing. One technical note was I converted to RGB before scaling as this lead to fewer problems with color artifacts from scaling raw 4:2:0 color data.
First pass - standard
ffmpeg -i input.avs -vcodec xvid -vtag mp4v -vprofile SP -4mv -qscale 2 -pass 1 -passlogfile log -acodec aac -ab 96 -f mov out.mov
Second Pass - optimized for iPod
ffmpeg -i input.avs -vcodec xvid -vtag mp4v -vprofile SP -4mv -qmax 8 -bufsize 4096 -maxrate 2350 -b 1100 -pass 2 -passlogfile log -acodec aac -ab 96 -f mov out.mov
-b is the bitrate and I have had good luck setting it to ~ 1/2 the final average bitrate in the first pass. bufzise/maxrate is a precaution against VBR runaway.
And... drumroll please... here is the compression sample from Tron.
http://u2.rit.albany.edu/~ew2193/tron81.mov ( 20MB mov file )
More From "The Fifth Element"
http://u2.rit.albany.edu/~ew2193/tfe-pass2-1100.mov ( 23.3MB .mov 9.32MB/min ) - excellent
http://u2.rit.albany.edu/~ew2193/tfe-pass2-900.mov ( 19.6MB .mov 7.84MB/min ) - ok
ADMINS: This is a compression sample that cuts a dozen or so 300 frame chunks from the movie. I firmly believe this falls under "fair use" but I will pull the link if you feel otherwise.
APPLE: If you see this... please fix the Display Aspect Ratio (DAR) playbeck bug. If you do I can finally create broadcast quality video consistantly and within your specs! Thanks!
EDIT: Oct 25th 1:34pm EST Added -vtag mp4v to make sure that output will have a "conforming" FourCC code.
I WILL NOT ANSWER NON-TECHNICAL QUESTIONS ABOUT THESE APPS OR WHAT I HAVE DONE. So don't ask me to help you unless you know what you are doing already!
My goal was to create high quality video that looked GOOOOOOOOD when hooked to a TV, somewhere between broadcast and DVD quality while keeping the bitrate to a reasonable ammount. Secondary is the quality when viewed on the iPod screen. It looks like that "reasonable" ammount is falling into the range of 9-13mb/minute ( VCD bitrates ). You can go lower, but you will loose quality in some scenes, but not all.
I was working under windows, but the main tool used was ffmpeg and that should be availible for about every OS known to man at this point. Specifically I was using the ffmpeg from pspvideo9. For pre-conversion scaling and cleaning I used AviSynth. Because of some weird reason ffmpeg won't do 23.976 ( rounds up to 23.98 and that leads to audio sync issues ). So my Avisynth did an AssumeFPS and rescaled the audio to match. I also allplies light spatial and temporal smoothing to reduce the very high levels of grain in this particular movie. I then did a very simple 2-pass encode in ffmpeg. I have tried and tried to play with more advanced settings with ffmpeg, but nothing really resulted in higher quality. Tron is, IIRC, 2.05:1 so i trimmed it down to 2:1 and scaled it to 640x320 for my testing. One technical note was I converted to RGB before scaling as this lead to fewer problems with color artifacts from scaling raw 4:2:0 color data.
First pass - standard
ffmpeg -i input.avs -vcodec xvid -vtag mp4v -vprofile SP -4mv -qscale 2 -pass 1 -passlogfile log -acodec aac -ab 96 -f mov out.mov
Second Pass - optimized for iPod
ffmpeg -i input.avs -vcodec xvid -vtag mp4v -vprofile SP -4mv -qmax 8 -bufsize 4096 -maxrate 2350 -b 1100 -pass 2 -passlogfile log -acodec aac -ab 96 -f mov out.mov
-b is the bitrate and I have had good luck setting it to ~ 1/2 the final average bitrate in the first pass. bufzise/maxrate is a precaution against VBR runaway.
And... drumroll please... here is the compression sample from Tron.
http://u2.rit.albany.edu/~ew2193/tron81.mov ( 20MB mov file )
More From "The Fifth Element"
http://u2.rit.albany.edu/~ew2193/tfe-pass2-1100.mov ( 23.3MB .mov 9.32MB/min ) - excellent
http://u2.rit.albany.edu/~ew2193/tfe-pass2-900.mov ( 19.6MB .mov 7.84MB/min ) - ok
ADMINS: This is a compression sample that cuts a dozen or so 300 frame chunks from the movie. I firmly believe this falls under "fair use" but I will pull the link if you feel otherwise.
APPLE: If you see this... please fix the Display Aspect Ratio (DAR) playbeck bug. If you do I can finally create broadcast quality video consistantly and within your specs! Thanks!
EDIT: Oct 25th 1:34pm EST Added -vtag mp4v to make sure that output will have a "conforming" FourCC code.