1. 程式人生 > >Android安卓手機能不能實現BT文件邊下邊播?

Android安卓手機能不能實現BT文件邊下邊播?

P2P技術 BT邊下邊播 P2P安卓 BT下載

Android安卓手機能不能實現BT文件邊下邊播?Android安卓手機實現類似pc端的bt邊下載邊播放技術的可行性分析

PC端實現對BT文件的邊下載邊播放功能,已經有很長時間,也在很多領域得到了很好的應用,尤其是在視頻文件的分發傳輸中。但是隨著手機成為新的趨勢,能不能在安卓手機上也實現類似PC端BT文件邊下載邊播放的技術呢?小編下邊和大家一起分析下,由於BT是P2P技術的一種,在接下來的文章中,不做區分,二者意義一樣。

其實p2p的邊下邊播和用戶端是PC還是Android安卓手機或蘋果手機,嚴格來說沒有太大關系。因為很多P2P產品雖然是C++這種跨平臺模式開發的,但協議和算法其實是通用的。
我們知道P2P技術是在pc時代誕生和發揚光大的,但這幾年,移動端也開始有一些使用P2P技術的苗頭了。在移動端應用P2P其實大部分特性和PC下可以做到基本一樣的,包括下載速度等。這主要得益於現在的手機性能的提升,甚至比10幾年前賽揚1G、128M內存的電腦性都要好很多。而BT其實最初是誕生在512M CPU、128M內存的年代。印象中,小編當時大學時期開始接觸到BT的下載速度,那時候感覺就是極速,而那個時期的電腦其實就是一臺賽揚1G+128M內存+40G硬盤的老古董,但在那個年代,跑BT還是很順暢的。


而現在無論是安卓手機還是蘋果手機其實硬件都比當時的賽揚要好很多,現在市面上普通的手機也基本上是4G+32G,好一些甚至6G+128G甚至更多。所以,移動端的硬件性能等支持P2P技術是沒問題的。據小編分析早幾年P2P技術在安卓手機等移動端應用比較少的原因可能主要在以下幾點:
1)資費:前幾年的移動端,是大量3G、4G的上網模式,這種模式下用戶資費比較高,你讓用戶通過p2p給別人上傳,用戶會罵si人的。而這幾年很多是不限流量了,並且WIFI網絡也多了起來,所以近幾年P2P在移動端下有了起色。
2)存儲:2006年左右用的智能手機當時是多普達的,基於Windows Mobile系統的。那時候其實小編就開發了一款BT下載軟件,移植到了這款多普達手機裏面,跑起來功能、性能和PC下是差不多的,並且是同一套代碼。但當時ZUI大的問題就是存儲太小,整個手機的存儲好像還不到1G,能用來下載看電影的,大的電影都存不下一部,所以當時只能是一個嘗試和做小規模使用。

如果沒有存儲,用戶使用P2P下載完成很快就刪除了,只是下載過程中在分享,下載完成後就不分享,這樣的分享率是很低的。
這幾年的手機,動不動已經64G、128G存儲了,所以這個問題也在逐步改善,128G可以存幾部電視劇了。
3)用戶習慣:其實這個很重要,因為早幾年一直都是PC時代,用戶的使用習慣、觀影習慣大都是在PC下,所以這種情況下做移動應用的人動力是不足的。
而近幾年,跟朋友聊天,做一款軟件,他們一般第一反應就是:不先上PC,PC量很小,先做Android,如果體驗好,接著再上IOS。所以這也反應了這屬於用戶習慣的水到渠成。
4)電量和發熱:使用p2p軟件如果下載完成後,還持續上傳,一般是常駐後臺,容易造成用電快和發熱大的問題,不過小編優化後的BT下載(P2P技術)這些可以通過軟件設置、用戶體驗設置去改進,比如在充電+wifi下低速上傳之類的。
所以隨著上面一些情形的轉變,本人zui近幾年的發現是,P2P技術慢慢的在手機上也開始預熱和有了應用。包括文章討論的p2p邊下邊播技術。

技術分享圖片

綜上所述,p2p邊下邊播技術在Android安卓手機下,是完全和PC一樣的代碼就可以的,這個是已經被小編用自己的產品證實過(從PC到安卓和iOS手機都可以)大概的原理是這樣實現的:
1)播放器在播放磁力鏈、或者torrrent文件時,調用小編產品的P2P引擎,p2p引擎裏面通過torrent或者磁力鏈信息,去通過tracker、DHT尋找周圍的peer鄰居,然後獲取數據。
2)p2p獲取到的數據,通過播放器可以支持的協議,返回給播放器,播放器來看,這就是一個標準的mp4/flv等視頻文件,所以它可以正常播放
3)播放器在拖動時,p2p引擎自動切換下載位置,並返回數據。
以上這些是不分Android、IOS還是PC的,只是在移動端可能下載速度、檢測是否WIFI之類的有些策略上的差異而已。
那麽采用P2P邊下邊播放有哪些優勢呢?
1)節省服務器帶寬:這個是p2p眾所周知的優點,這裏就不多加贅述了。
2)可以多源下載:這個是人們往往忽略的,經常有人問小編說:如果只有一個人下載,此時BT下載是不是就沒什麽好處了。其實這個也是不對的。就算只有一個人下載,這個用戶如果用普通http,一般是從單個服務器下載,如果遇到這個服務器比較慢,他只能忍受。但如果是p2p的系統,p2p後端可以有多臺服務器,比如你購買10幾臺服務器,帶寬又便宜,又不限流量,這種模式下,下載是從10幾臺服務器一起下載,速度還是要快,而且就算一臺服務器宕機,也一點不影響下載,這個也是p2p的一個很大的好處。服務器運維時,上下線對用戶沒有任何影響。
3)天然的防盜鏈:p2p協議如果不用標準的BT協議,是完全可以自定義一些私有傳輸協議的。這種協議,用戶幾乎無法去盜鏈你的資源,除非他自己寫一個一樣協議的p2p軟件,所以這方面優勢比http好太多。
4)用戶下載速度比HTTP快:因為多源下載,所以自然速度就比單服務器模式速度可以快。
5)成本低:不同於http模式,使用p2p技術的服務器不一定放優質機房,可以只少量放機房。很多服務器可以用低價服務器,1G帶寬一個月就1000多人民幣,這價格很有優勢。所以,p2p很適合做影音點播、視頻的邊下邊播的。


上面也提到了如何實現的原理。如果你是想快速獲得一款完整的p2p影音產品,自己去運營,不妨也考慮直接用成品軟件,基本只需要修改界面就能直接上線運營,搶占時間優勢。當然如果技術很好也可以自己開發,建議可以先研究下bt協議、播放器如何播放數據的。bt如果改造成p2p播放,還是需要一些優化的,因為BT最初的設計是基於文件分發,而不是流式傳輸,對拖動和啟動的響應不夠優秀。好了以上就是小編關於P2P邊下邊播和在安卓手機下是不是可以實現的一些小心得,分享出來共同探討!

Android安卓手機能不能實現BT文件邊下邊播?