Resolution | Bitrate | Approximate size of 10 min video |
---|---|---|
320p (for mobile phones) | 180 kbit/s | ~13 MB |
360p | 300 kbit/s | ~22 MB |
480p | 500 kbit/s | ~37 MB |
576p (SD/PAL) | 850 kbit/s | ~63 MB |
720p | 1000 kbit/s | ~75 MB |
The values in the table were optimized for lecture-type content recorded with SD cameras, so if you want to encode something more dynamic (like Transformers ;) ) I suggest you bump the bitrate up a little.
Profile constrains H.264 to a subset of features - higher profiles require more CPU power to decode and are able to generate better looking videos at same bitrate. You should always choose the best profile your target devices support.
Basic support matrix for devices:
Device | Max supported profile |
---|---|
Desktop browsers, iPhone 4S+, iPad 2+, Android 4.x+ tablets, Xbox 360, Playstation 3 | High profile |
iPhone 3GS, iPhone 4, iPad, low-end Android phones | Main profile |
iPhone, iPhone 3G, old low-end Android devices, other embedded players | Baseline profile |
Remember, most devices also have a maximum resolution and bitrate they can handle. That is usually expressed in as a H.264 level and can be set in FFmpeg with -level parameter (this will make FFmpeg abort encoding of videos which couldn’t be played on the device).