I needed to convert a video to the .3gp format so it can play on a cheap feature phone.
The obvious utility to use is FFMPEG but it is very difficult to get it right.
In order to convert from one format to another you enter
ffmpeg -i myvideo.avi myvideo.3gp
Unfortunately the first video is a high resolution one but the resulting 3gp will be used on a 240x320 phone.
Therefore the input video must also be resized but the H.263 codec standard accepts only sizes like 128x96 ,176x144 352x288.
So the ffmpeg command becomes
ffmpeg -i myvideo.avi -s 176x144 myvideo.3gp
Another problem occurs immediately as ffmpeg displays
Only 8000Hz sample rate supported
The ffmpeg command must be changed again to
ffmpeg -i myvideo.avi -s 176x144 -ar 8000 -ac 1 myvideo.3gp
Finally problem solved or is it.
Looking at the result it looks like ffmpeg complains about the output video bitrate but nevertheless chooses the maximum one and finishes the task.
In order to not get any warning the -ab flag must be included
so the final version of the ffmpeg command is
ffmpeg -i myvideo.avi -s 176x144 -ab 12.2k -ar 8000 -ac 1 myvideo.3gp