2014-01-06 35 views
3

首先:这是我的第一个问题在这里,我是不是熟练的Flash开发人员。滞后寻求()与flvplayback组件

我有一部带有FLVPLAYBACK组件的电影(Player)。我设置了一个外部源(Player.source = "http://example.com/movie.mp4)并完全缓冲它(使用Player.addEventListener(VideoProgressEvent.PROGRESS, bufferVideo))。电影播放良好。问题是:我需要能够寻求指定的时间,甚至几秒钟的时间。我有一个循环检查某些条件并启动Seek方法(Player.seek(TIME))。它有效,但在搜索之间有明显的滞后。 .Seek()立即可以吗?我有这样的工作在HTML5中,但我无法在所有浏览器上正确缓冲电影。

我不想分享完整的代码,因为它在这个问题的各个部分之间有很多不相关的部分。

更新我试过FLV(不知何故似乎追求的是更慢)和F4V(似乎更快,但仍然存在明显的滞后)/

+2

我相信你遇到减压时间。您的mp4可能使用H.264(或类似的)编解码器进行压缩,这会导致优秀的文件大小,但需要花费CPU解压缩。每个帧需要一个参考帧(通常基于前一帧),ergo向前播放是逻辑的,而反向播放需要恒定的回看,这导致了口吃。 – Atriace

+0

Layman-English翻译为Atraice的评论:您的计算机正在忙于解压文件,以致它没有足够的能力立即响应查找请求。 (当然,这严重过分简化了他的解释。) – CodeMouse92

+0

感谢您的解释。将使用闪存编码电影或任何其他格式加快速度? – Michal

回答

5
  1. 确保你有一个很好的连接
  2. 视频应该流进行压缩(使一个巨大的差异)
  3. 发挥你的bufferTime参数来获取理想的地理位置,
  4. 箱与代码球员和不使用的UI组件。你将有更多的灵活性: http://blog.martinlegris.com/2008/06/03/tutorial-playing-flv-video-in-plain-as3-part-1/

警告,再缓冲将允许播放更顺畅,更短将寻求更快,但代价是会打的缓冲更多的时候......不理想

+0

我从本地主机下载视频,甚至完全缓冲它。它什么也没做。 – Michal

+0

@Michal,请详细说明“它什么都不做” – mihai

+0

从网络服务器和本地服务器下载(加载时间之外)没有区别。寻找之间仍然存在滞后。 – Michal