你们中的任何人都可以向我指出一些有关 iOS 设备上 AIR (3.2) 视频性能的资源。
我感兴趣:
- StageVideo 是否可用
- 是否允许/启用视频流
- 高清视频的表现还可以吗?
- 是否允许播放 .flv?(在 android 上怎么样:flash 已经存在了)
你们中的任何人都可以向我指出一些有关 iOS 设备上 AIR (3.2) 视频性能的资源。
我感兴趣:
iOS 上只有 H264 有硬件解码。这意味着仅适用于 H264 的原生播放器的视频性能可比,而对于 Sorenson 和 VP6(即使在低分辨率下)解码缓慢(充其量)。
“AIR 3 for iOS 将 StageVideo 对象用于具有硬件解码的 H.264 视频,对 NetStream 功能的支持有限。AIR 3 for iOS 还通过 StageVideo 对象支持 On2 和 Sorenson 编解码器。此支持不使用硬件解码,并且它不限制 NetStream 功能。” flash.media.StageVideo
FLV 和 MP4 是封装格式。FLV 可以包含 VP6+MP3 或 H264+AAC(或其中任何一个单独使用)。MP4 可以包含 H264+AAC。文档没有说明 iOS 不支持 FLV。
但是,在 iOS 上,如果 FLV/H264 无法播放,则由于以下限制,您将无法即时将其重新混合为 MP4(否则您将丢失硬件解码): “注意:不支持此方法适用于 AIR 3.0 for iOS 中的 H.264 视频。” flash.net.NetStream::appendBytes()
没有任何关于 Sorenson 或 VP6 不支持即时 remuxing(因此它们应该是)的说法。
无论如何你都不应该需要 appendBytes,除非你打算做一些非常高级的事情,比如在播放过程中不中断地动态切换比特率。
实时流媒体需要类似于 appendBytes 所做的事情。由于需要 H264 硬件解码并且没有软件模式,因此您不会获得用于直播的 H264。
“事实证明,H264 视频的实时流式传输无法在 Adobe Air 的 iOS 设备上呈现。其他视频编解码器可以工作 (H263),但不适用于 H264。您将使用提要,但只会听到音频。在与 Adobe Air 开发团队的成员交谈后,我证实了这一点。” 来自Adobe 论坛
H264 解码在不同 Apple ARM CPU 上的表现在很大程度上取决于视频编码设置(B 帧或关键帧、比特率等)以及您是否拥有动态内容、静态内容、快速切换场景、分辨率、调色板等.
结论:使用FLV或MP4(哪个最适合你),里面有H264+AAC。尝试使用编码设置或您定位的大量视频(如果有)。确定哪个是您要定位的最低(最旧)iOS 设备,并在其上进行测试。
我不知道性能如何叠加,但 NetStream 的 Actionscript 文档有一些关于使用 NetStream/Video 在 iOS 设备上的 AIR 上播放视频的信息:
使用 AIR 3 的 iOS 上的 H.264 视频支持 StageVideo:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/StageVideo.html
要点是 iOS 设备支持 StageVideo 和有限的流媒体功能,只要您的视频使用 iOS 所需的流媒体格式。