查看: 24014|回复: 0

[综合技术交流] Android安卓手机能不能实现BT文件边下边播?

 关闭 [复制链接]

该用户从未签到

发表于 2018-6-7 13:58 | 显示全部楼层 |阅读模式
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边下边播和在安卓手机下是不是可以实现的一些小心得,分享出来共同探讨!

PCOS系统下载站:http://zhuangji.wang

本版积分规则