Only H264 has hardware decoding on iOS.
This means comparable video performance with native player only for H264
and slugish (at best) decoding for Sorenson and VP6 (even with low resolutions).
FLV and MP4 are encapsulation formats.
FLV can contain VP6+MP3 or H264+AAC (or any of them taken alone).
MP4 can contain H264+AAC.
The docs don't say anything about FLV not beeing supported on iOS.
However, on iOS, if FLV/H264 won't play, you won't be able to remux it to MP4 on the fly because of the following restriction (otherwise you would lose hardware decoding):
"Note: This method is not supported for H.264 video in AIR 3.0 for iOS."
Nothing is said about Sorenson or VP6 not beeing suported for on the fly remuxing (thus they should be).
You shouldn't need appendBytes anyways, unless you plan on doing some very advanced stuff, like switching bitrates on the fly without any interruption during play.
Live streaming requires something similar of what appendBytes does. Since H264 hardware decoding is required and does not have a software mode, you won't get H264 for live streams.
How well H264 decoding performs on different Apple ARM CPUs really depends a lot on video encode settings (B-frames or keyframes, bitrates, etc.) and wether you have dynamic content, static content, fast switching scenes, resolution, color palletes, etc.
Use FLV or MP4 (whichever suits you best), with H264+AAC inside.
Experiment with encode settings, or lots of videos of which you are targeting (if any).
Determine which is the lowest (oldest) iOS device you want to target, and test on that.
Forgot to mention all of the above apply only to StageVideo, never to normal flash.media.Video.
Hi Tiberiu, your post answers more of my questions. Thanks for posting. I will mark you as correct. Just one more question: how is the performance? it is lagging or running ok in native resolution ?
It has to be the same as with QuickTime. Depends a lot on the video beeing played and at the same time, on the hardware.
When compiling the AIR app you must target at least -swf-version=13 (StageVideo became available with -swf-version=11, however, I recommend targeting the newest supported, I think its 15 now). If FLV with H264/AAC doesn't cut it to hardware, an MP4 with the same streams must. Check bitrates and recommended video and audio encode settings for various iOS devices before doing any tests (that is if you have control on the video beeing played). I haven't tested FLV on iOS yes, however I will soon, since I'm working on something right now.
@jamix It seriously depends a lot on CPU power, screen resolution and video resolution.
Sign up for our newsletter and get our top new questions delivered to your inbox (see an example).