我有一个 Adobe AIR 应用程序,我用它来使用 RED5 流式传输一些视频。AIR 应用程序具有以下 Flex 代码:
<s:VideoDisplay id="vidBox" autoPlay="true" autoRewind="true" x="6" y="11" width="95%" height="90%" scaleMode="zoom">
<s:source>
<s:DynamicStreamingVideoSource host="rtmp://localhost/TestMovie" streamType="recorded">
<s:DynamicStreamingVideoItem streamName="2hourmovie.flv" />
</s:DynamicStreamingVideoSource>
</s:source>
</s:VideoDisplay>
当我运行 Air 应用程序时,我看到的是一组相当漂亮的闪烁和变化的颜色,而不是电影。令人惊讶的是,声音非常好。
我在基于 Web 的应用程序中使用完全相同的代码,并且电影播放没有问题。我看到图像和声音,一切都很好。
我怀疑 AIR 有什么问题搞砸了画面,或者我与 AIR 交互的方式不太正确?或者我在 AIR 或 RED5 中发现了一个错误?
有人请指教。我正在使用 Red5 v1.0.1、Adobe AIR v3.7,并且正在使用 Flex Builder 4.6 进行开发。
更新:
有关此问题的更多信息:它似乎只发生在非常大的 FLV 文件中。我在我的流目录中包含了一些 1 小时的电影并运行了 AIR 应用程序,电影显示没有问题。其他长度较长的文件也有同样的显示故障。请注意,无论 FLV 文件大小如何,Web 浏览器都不会发生故障。
显然,AIR 有一些限制,使其无法正确显示超过一定长度的 FLV。要么,要么 AIR 应用程序必须以不同于处理较短 FLV 的方式处理较长的 FLV。我不确定,也找不到关于此事的任何文件。
我正在努力缩小使 AIR 视频对象失败所需的文件大小。
我是否在 Adobe AIR 中发现了错误?或者是否需要调整一些编码或配置以使查看器能够正常处理较大的 FLV 文件?
有人请指教...