iOS上能否使用Flash/AIR Stage Video技术?性能如何?

14

你们中有谁能为我提供关于AIR(3.2)在iOS设备上视频性能的资源吗?

我感兴趣的是:

  • StageVideo是否可用
  • 视频流是否被允许/启用
  • 高清晰度视频的性能是否可以接受?
  • .flv播放是否被允许?(在Android上呢:Flash已经存在了吗)

刚刚点了个赞,我一直在使用斑马线QR码阅读器开发一个应用程序,对于iOS与舞台视频和AIR 3.2的兼容性以及从舞台视频中捕获位图很感兴趣。如果最终没有找到答案并且有机会与同事测试这个问题,我会告诉你结果的。 - shaunhusain
感谢@shaunhusain,我也很想测试这个,但问题是我没有那么多移动设备和证书,所以我无法在多个屏幕分辨率/ CPU / GPU上进行严格的测试。不久我会为此添加赏金,如果您决定测试它的话。 :) - Adrian Pirvulescu
2
我曾经为iOS(iPad2)开发了一个流媒体视频应用程序,我必须说我对其性能感到非常惊讶。我们能够播放高清(不是全高清,但类似于1024x768)的视频流,而且没有任何卡顿。 不过,我不确定.flv格式的视频是否可以播放。我们还遇到了一个恶心的错误,导致我们无法通过RTMPS / RTMPE进行流媒体传输。 - Dennis Jaamann
@DennisJaamann 感谢您的评论。确实很高兴从您那里听到这样好的消息。有一个问题:您使用了舞台视频还是普通视频? - Adrian Pirvulescu
@AdrianPirvulescu,我们使用了StageVideo。 - Dennis Jaamann
2个回答

14

只有H264在iOS上拥有硬件解码功能。 这意味着仅对于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。 文档没有说明FLV在iOS上不受支持。

然而,在iOS上,如果FLV / H264无法播放,由于以下限制(否则您将失去硬件解码),您将无法即时重新编排它为MP4:“注意:在iOS的AIR 3.0中,此方法不支持H.264视频。” flash.net.NetStream::appendBytes() 没有提到Sorenson或VP6不支持即时重新编排(因此它们应该被支持)。
您不应该需要使用appendBytes,除非您计划进行一些非常高级的操作,例如在播放期间无任何中断地动态切换比特率。
直播流需要类似于appendBytes的东西。由于需要H264硬件解码且没有软件模式,因此您将无法获得H264直播流。
"原来,在Adobe Air中实时流传输H264视频在iOS设备上无法呈现。其他视频编解码器可以使用(如H263),但H264不行。你可以接收到视频流,但只能听到音频。我与Adobe Air开发团队成员交流后确认了这一点。" 来自 Adobe论坛 "H264解码在不同的Apple ARM CPU上的性能表现取决于视频编码设置(B帧或关键帧、比特率等)以及您是否具有动态内容、静态内容、快速切换场景、分辨率、调色板等因素。"
结论: 使用FLV或MP4(根据需要选择),其中包含H264+AAC。 尝试编码设置或大量针对目标视频进行测试。 确定您要针对的最低(最旧)iOS设备,并在该设备上进行测试。

它必须与QuickTime一样。这在很大程度上取决于正在播放的视频,同时也取决于硬件。 - oxygen
编译AIR应用程序时,必须至少针对-swf-version=13进行目标设置(StageVideo在-swf-version=11中可用,但我建议针对最新支持的版本进行目标设置,现在应该是15)。如果FLV与H264 / AAC无法满足硬件要求,则必须使用具有相同流的MP4。在进行任何测试之前,请检查各种iOS设备的比特率和推荐视频和音频编码设置(如果您可以控制正在播放的视频)。我还没有在iOS上测试过FLV,但是我很快就会测试,因为我现在正在开发某些东西。 - oxygen
不要忘记 wmode=direct。无论如何都要使用它,因为如果不可用,Flash 将自动降级。 - oxygen
“而且Sorenson的解码最多只能算是缓慢的(在最好的情况下)” - 这是从实际经验中得出的结论吗?我们正在考虑使用Air为iOS构建实时视频聊天应用,因此Sorenson似乎是我们唯一的选择。 - jamix
1
@jamix 这严重取决于CPU的性能、屏幕分辨率和视频分辨率。 - oxygen
显示剩余2条评论

2
我不知道表现如何,但NetStream的Actionscript文档提供了一些关于如何在iOS设备上使用NetStream/Video播放视频的信息。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#play%28%29

在iOS上,AIR 3支持使用H.264视频的StageVideo。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/StageVideo.html

结论是,只要您的视频使用iOS所需的流媒体格式,则在iOS设备上支持StageVideo和有限的流媒体功能。

好的,基本上你的意思是我不能在 iPhone 上使用 Adobe Air 应用程序播放 .flv 文件? - Adrian Pirvulescu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接