我们都知道迅雷可以实现对视频的边下边看,也就是说一个电影等视频使用迅雷观看的过程中也开启了下载,并不会占用额外的 时间,这个对很多想要收藏的优质视频来说非常的方便,那么从技术的角度分析,迅雷边下边看是如何实现的呢?点量小编带您了解
迅雷是如何实现边下边看的,其实可以分几个层级来说:
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引擎自动切换下载位置,并返回数据。
转载于:https://blog.51cto.com/13794487/2351931