我們都知道迅雷可以實現對視頻的邊下邊看,也就是說一個電影等視頻使用迅雷觀看的過程中也開啟了下載,並不會占用額外的 時間,這個對很多想要收藏的優質視頻來說非常的方便,那么從技術的角度分析,迅雷邊下邊看是如何實現的呢?點量小編帶您了解 迅雷是如何實現邊下邊看的,其實可以分幾個層級來說:
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引擎自動切換下載位置,並返回數據。
