Since switching to a LG Neon phone, and getting the videos on the memory card accessible, I found that some of the videos would not play on this phone, and others do not play well. In response I decided to figure out how to encode good video for this phone.
To choose a good target video format for the phone I decided it would be good to check what format the phone records video in. Low resolution video had a size of 176x144 and used the h263 codec, high resolution video had a size of 320x240 and used the mpeg4 codec, the video frame rate was from 9.86 to 11.19 frames per second, the audio track was 8000 Hz 1 channel.
With this information I started trying different encoding settings.
Down sampling the audio made it sound flat, and keeping the sample rate the same as the source video did not seem to have an effect on playback, so I kept the source sample rate.
Using a video frame rate of 15 instead of 10 seemed to become jumpy on playback.
So, I settled on a video size of 320x240 using the mpeg4 coded with a frame rate of 10 frames per second and the audio rate kept the same as the source. I put this into a conversion script:
#!/bin/sh for file in "$@"; do ffmpeg -i "$file" -vcodec mpeg4 -s 320x240 -r 10 -acodec libfaac "$file".3gp done