0

h265 is a very powerful but still not widely supported codec, recently I found myself in the need of prepare some h265 videos and have them played on various smartphones.

While a powerful desktop pc has less issues and is outlet powered modern smartphones still struggle with battery savings.

Recent ones are able to decode h264 / avc and aac audio with dedicated hardware but almost no one have support for h265 / hevc at time I'm writing this answer.

What settings can I use to reduce the CPU consumption (and so the battery) on the target devices? The best goal could be make the final cpu needings close to the h264 ones.

Are presets such as slow, veryslow useful for this task or they are good only for reducing the output file size ?

There are other settings that I can tweak for obtain my pourpouse?

PS: please also provide some examples with ffmpeg, thanks!

2
  • My first approach would be to limit the number of reference frames and GOP size.
    – Gyan
    Oct 21, 2016 at 9:17
  • @Mulvya limiting the reference frames doesn't work against shrinking the size of the final file? Can you provide some -flags for the h265 as examples? Oct 21, 2016 at 12:28

2 Answers 2

2

Try Encoding using "--tune fastdecode" and also check if "Average Bitrate" with "2 Pass" is better than "Constant Quality" with your particular Decoder; trying to maintain Quality over Bitrate can spike the Bitrate (holding a particular Bitrate will drop the Quality on complex Scenes).

Try a few Test Files (short Clips from your Source) and determine which Encode Settings produce the lowest CPU load when Decoding.

Decoding x265 works best with Hardware support which is not going to be available in most Phones, the Phone will probably decode x264 much easier since so many people/years have gone into decoding x264.

Reference: http://x265.readthedocs.io/en/default/presets.html

See also: http://www.techspot.com/article/1131-hevc-h256-enconding-playback/page4.html

0

As @Mulvya suggested, the best approach is use short GOP chains, the filesize will obviously increase a bit, but the cpu processing will be limited doing so.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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