If you regularly follow my blog you know that I recently got an HTC Droid Incredible smartphone. This phone has a native screen resolution of 480x320 pixels. MPEG4 video with AAC audio is supported in both the .mp4 and .3gp container formats.
To do the transcoding we'll need the ffmpeg and libfaac packages. Check your distro's repositories for the correct packages. If you're using Ubuntu Lucid (10.04), you can install it from the terminal with:
Once the install is done, navigate to the directory with your input file. You can then transcode the file from the command line with something like this.
What this command does:
input file: input_file_name.avi
output video size: 480x320 pixels
video codec: MPEG4
audio codec: AAC
audio channels: 2
audio sample rate: 16000 Hz
video frame rate: 14 fps
audio bitrate: 32000 bps
You can make adjustments to the command to suit your preferences for video quality and file size.
One more option you may want to consider is the -qscale option. This option allows you to choose a constant quality level between 1 (best) and 31 (worst). You would use it like this.
Once you're done transcoding the video you can copy it to your device using the USB data cable.