
我在線觀看現場板球比賽。請注意,比賽舉行居住(某處!)。有時,由於我的網路連線速度很慢,我的影片開始緩衝。
假設當擊球手擊出六分時,我的影片停止播放並停止播放。緩衝完成一段時間後,影片會從停止的地方繼續播放(在本例中,當擊球手擊出六分時)。然而,這是一個居住很明顯我並沒有真正收到它居住。
看起來伺服器正在維護一個佇列,每當緩衝時,它都會等待緩衝並從停止的地方開始。影片緩衝時實際上發生了什麼?
YouTube(已儲存影片)等網站以及線上影片報告網站等網站的影片串流技術是否相同?
答案1
我很遺憾地告訴你,你絕不即時接收直播。
原因是緩衝。
本質上,在「緩衝...」階段,玩家正在建立 x 秒的緩衝區。它只會在緩衝區已滿時開始播放,或者如果來源很慢,那麼它可能會決定顯示它所擁有的任何內容。
這看起來像:
頂部箭頭表示播放,底部箭頭表示緩衝區的填充。 5秒是任意參數。
此範例中的播放器將趕上任何最多 5 秒的串流延遲。如果延遲超過 5 秒,現有的部分緩衝區將被丟棄,並從「即時」來源啟動新的緩衝區。當傳入資料繼續時,它會被添加到緩衝區中,並且呈現會繼續順利進行,即使資料包可能是在不同時間以錯誤的順序接收的。