迅雷邊下邊看實現過程分析

我們都知道迅雷可以實現對視頻的邊下邊看,也就是說一個電影等視頻使用迅雷觀看的過程中也開啓了下載,並不會佔用額外的 時間,這個對很多想要收藏的優質視頻來說非常的方便,那麼從技術的角度分析,迅雷邊下邊看是如何實現的呢?點量小編帶您瞭解

迅雷是如何實現邊下邊看的,其實可以分幾個層級來說:

1)比如普通的http模式的視頻文件,這種基本所有播放器,比如ffmpeg架構的,都支持直接http協議的流模式邊下邊播,而且支持拖動的。這一部分實際是ffmpeg等底層內置好的基礎功能。

原理就是首先會獲取視頻的格式、關鍵幀等信息,然後在用戶拖動的時候,根據關鍵幀等信息,找到對應的關鍵幀的位置的二進制數據,填充播放。

2)如果是p2p,比如torrent這種種子文件,其實ffmpeg他們是不支持這類協議的。這種情況下,一般p2p播放器的做法是將p2p協議的傳輸層下載到的數據,再封裝一次http協議餵給播放器,這樣播放器就直接跟一個http層通訊,http層把range等指令,傳達給p2p層調度下載,去下載指定位置區域的數據。

和迅雷的p2p影音一樣,點量也有一款點雲影音,就是一套代碼可以在PC、Android、IOS下都可以一樣運行的p2p影音產品。

目前點雲影音這款p2p軟件的原理就是這樣的:

1)播放器在播放磁力鏈、或者torrrent文件時,調用點量P2P引擎,p2p引擎裏面通過torrent或者磁力鏈信息,去通過tracker、DHT尋找周圍的peer鄰居,然後獲取數據。

2)p2p獲取到的數據,通過播放器可以支持的協議,返回給播放器,播放器來看,這就是一個標準的mp4/flv等視頻文件,所以他可以正常播放

3)播放器在拖動時,p2p引擎自動切換下載位置,並返回數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章