Will you be transcoding on the device or somewhere external? Or segmenting as-is?
You could segment the video based on IDR frames, alone. This avoids a transcode. I think ffmpeg will do this.
The downside is that you can get some really long segments that players dislike. But, for the most part, I think it should work across players/devices. Plus, you can parallelize the uploads/downloads to take strain off of the device.