首先:这是我的第一个问题在这里,我是不是熟练的Flash开发人员。滞后寻求()与flvplayback组件
我有一部带有FLVPLAYBACK组件的电影(Player
)。我设置了一个外部源(Player.source = "http://example.com/movie.mp4
)并完全缓冲它(使用Player.addEventListener(VideoProgressEvent.PROGRESS, bufferVideo)
)。电影播放良好。问题是:我需要能够寻求指定的时间,甚至几秒钟的时间。我有一个循环检查某些条件并启动Seek方法(Player.seek(TIME)
)。它有效,但在搜索之间有明显的滞后。 .Seek()
立即可以吗?我有这样的工作在HTML5中,但我无法在所有浏览器上正确缓冲电影。
我不想分享完整的代码,因为它在这个问题的各个部分之间有很多不相关的部分。
更新我试过FLV(不知何故似乎追求的是更慢)和F4V(似乎更快,但仍然存在明显的滞后)/
我相信你遇到减压时间。您的mp4可能使用H.264(或类似的)编解码器进行压缩,这会导致优秀的文件大小,但需要花费CPU解压缩。每个帧需要一个参考帧(通常基于前一帧),ergo向前播放是逻辑的,而反向播放需要恒定的回看,这导致了口吃。 – Atriace
Layman-English翻译为Atraice的评论:您的计算机正在忙于解压文件,以致它没有足够的能力立即响应查找请求。 (当然,这严重过分简化了他的解释。) – CodeMouse92
感谢您的解释。将使用闪存编码电影或任何其他格式加快速度? – Michal