首先:這是我的第一個問題在這裏,我是不是熟練的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