Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I know there is no best video codec or format. Because, each codec is designed for its corresponding job and situation.

I have an Android Tablet, that can play any video with any codec or format, but if the video is high quality, the playback slows down because it has slow CPU and GPU.

Here is the system info of my device:

  • Android version: 4.1.2 Jelly Bean
  • Display: 1280x720
  • Chipset: Nvidia Tegra 2 T20
  • CPU: ARMv7 Processor Dual-core 900 MHz Cortex-A9
  • GPU: ULP GeForce
  • RAM: 700 MB
  • Internal Storage: 20 GB
  • SD card: no

So, this is not a very slow tablet but not fast enough for smooth H.264/x264 video playback. I know H.264 and x264 require a fast CPU to play video. So, please tell me which video format and codec is best for my situation to play 720p and HQ video smoothly on my device and not take so much memory.

I want to watch 720p and HQ movies on my slow device, and I am looking for best codec to convert a movie and not to take more than 10 GB memory. And of course the video playback must be smooth.

I have tried many MP4 720p H.264 or x264 movies to play with many Android video players, but each player just slows down the playback in both mode:

  • Hardware encoding
  • Software encoding
share|improve this question

2 Answers 2

Chances are your Android device does not support H.264 video with a profile higher than Baseline. The profile defines what features can be used by the encoder, and the Baseline profile is one of the "lower" ones, meaning that even less powerful devices should be able to play the video.

The easiest way to re-code a video to H.264 Baseline would be to use Handbrake, and choose the Android preset from the presets drawer. Then, as H.264 Profile, choose Baseline.

For audio, select the Auto Passthru option, so you don't have to re-encode it.

You set the quality of the output by changing the Constant Quality slider. Lower values mean better quality, and higher values mean worse quality (and lower file size, of course). 22 is a good default, but you can choose anything between 18 and 28. See my CRF Guide for a bit of background info.

Once you've set that, simply re-encode your video to an MP4 file, and try playing it on the device again.

share|improve this answer

The Tegra 2 is known for problems with playing 720p video

It's a very common SoC in older 2010-era android tablets including popular ones such as ASUS Eee Pad Transformer, Samsung Galaxy Tab, Acer Iconia etc, so there is plenty of info on the web on how to make the most of it. Anything that applies to ones of these tablets will also apply to yours.

As example, here is a guide to using popular free software HandBrake to convert 720p video for the ASUS Eee Pad Transformer:

http://forum.xda-developers.com/showthread.php?t=1060825

good luck

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.