2016-10-01 31 views
0

我在檢查peerflix,它真的很棒,它支持在視頻中查找功能。 我試圖理解它是如何工作的,我認爲它會在HTTP文件服務器上創建一個流管道,並在下載所需的一段文件時將視頻數據寫入它,並且視頻播放器從管道的另一端讀取數據。 我試圖在java中使用Pipedinputstream和pipedoutputstream使用nanohttpd服務器執行此操作,但無法使其工作。 有什麼我失蹤?如何在peerflix中尋找工作?

peerflix:它是一個流式傳輸視頻的lib,你可以觀看具有seek功能的視頻。您不必等待下載完成。

回答

0

Peerflix選擇torrent中最大的文件,或者您可以自行選擇一個文件。然後它開始從第一部分開始順序下載文件。該文件在標準HTTP靜態文件服務器上提供。
當您在視頻播放器中尋找時,它會檢查視頻容器,以查找視頻文件中與給定時間戳相對應的哪些字節。視頻播放器然後發送一個HTTP範圍請求,用於對應於視頻時間的字節加上一些緩衝區。然後,Peerflix的HTTP服務器讀取該範圍請求,並檢查.torrent文件以找出哪個片段對應於所請求的字節。它從請求的片段開始順序開始下載,並在請求的字節可用時響應HTTP請求。