IPad – Possible to play HEVC(x265) files on ipad

ipadvideo

I tried playing some HEVC videos on my iPad 3 running iOS 9.2.1, but was unable to do so using any player(I tried Infuse,VLC and some others), only audio plays and video is like stuck. I was wondering if there was any way I could play such videos on my iPad without reencoding them to h.264.

Best Answer

Don't forget that HEVC (H.265) has higher playback requirements than H.264, and you are attempting playback on a fairly old iPad. It is not going to be able to keep up with what is playable on the latest iPad or iPhone. Don't despair over your older hardware, every computer has its limits, if you encoded a 12-bits-per-pixel 4K 60fps video in HEVC, it wouldn't play smoothly on any iOS hardware Apple has out now.

So ... Find the limits of your hardware. Encode something small, get it playing, then encode larger and larger samples until you hit your iPad's limit.

First, HEVC on an iPad using VLC Player is possible - I am successfully encoding HEVC videos to play with VLC player on my iPhone and iPad. I am using and recommend ffmpeg, which is downloadable as a binary (so you don't have to learn how to compile stuff) here: https://ffmpeg.org/download.html

Encode a small 120-pixel-wide video in H.265 with this ffmpeg command:

ffmpeg -i Input.avi -c:v libx265 -preset medium -x265-params crf=24 -r 24 -vf scale=-2:'if(gt(ih,120),120,ih)' -c:a aac -strict -2 -b:a 64k -ss 00:02:00 -t 10 Output.mp4

This will create a small, ten-second video that is 120xsomething that would play easily on your iPad3. If this doesn't work, then it's not a weak cpu issue, perhaps its your transfer mechanism. Delete the h265 media from VLC player, and try copying the h265 media to the VLC player three different ways: copy to VLC app via iTunes, use VLC app itself to download the h265 media file, and use a third-party file manager, such as Documents by Readdle, to download the media and then send it to VLC via "Open in". Hopefully you will find it playing with one method.

Once you find a way to get H265 to play in your VLC Player app, encode the video in larger sizes by replacing the "120" in the above command with larger sizes, I recommend going 120 -> 240 -> 360 -> 480. Once you hit a limit that stutters, then go back down one size, and that's what your iPad 3 can handle.

Remove the 10-second limitation and encode your entire media with ffmpeg using this command:

ffmpeg -i Input.avi -c:v libx265 -preset medium -x265-params crf=24 -r 24 -vf scale=-2:'if(gt(ih,120),120,ih)' -c:a aac -strict -2 -b:a 64k Output.mp4

Finally, if you want slightly better compression, you can change the "-preset medium" to "-preset slow" or even "-preset slower" to have it spend more CPU and time squeezing out another 5%-10% out of the file size for the same video quality.

Good luck!!