我正在构建一个大型 Flash 站点 (AS3),它使用巨大的 FLV 作为从一个部分到另一个部分的过渡视频。FLV 为 1280x800,并且正在缩放到 1680x1050(其中大部分不会显示给屏幕较小的用户),每个大约 5-8 秒。我正在使用 On2 的高清编解码器 VP6-S 对视频进行编码,并且使用原生 FLV 播放器、配备 Perian 的 Quicktime 和内置在 AS3 中的简单概念验证 FLV 播放应用程序播放效果非常好。
我遇到的问题是,在实际站点的上下文中,播放不是那么流畅;帧率没有达到应有的水平,而且更成问题的是,偶尔会出现抖动和丢帧(有时会暂停视频长达四分之一秒左右)。我的猜测是这是由 Flash 播放器中的垃圾收集引起的,这种垃圾收集是不确定的,因此很难测试和控制。
我正在使用 FLVPlayback 的单个实例来播放视频;我最初是直接使用 NetStream 对象等,但出于这个原因切换到 FLVPlayback 。有没有人在使用 FLVPlayback(或更一般地说,使用高清 Flash 视频)时经历过这种抽搐?我认为 GC 是罪魁祸首是对的吗?如果是这样,在播放这些系统密集型转换期间有什么方法可以防止它发生吗?