迅雷边下边看实现过程分析

news/2024/11/17 2:40:01/

我们都知道迅雷可以实现对视频的边下边看,也就是说一个电影等视频使用迅雷观看的过程中也开启了下载,并不会占用额外的 时间,这个对很多想要收藏的优质视频来说非常的方便,那么从技术的角度分析,迅雷边下边看是如何实现的呢?点量小编带您了解

迅雷是如何实现边下边看的,其实可以分几个层级来说:

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


http://www.ppmy.cn/news/572561.html

相关文章

Debian迅雷看看在线播放

1>安装User Agent Switcher插件 2>如图选择iphone3.0就可以了。。。。^_^ 真的很好用喔 ..... 转载于:https://www.cnblogs.com/wbbice/archive/2012/02/24/2366457.html

[示例] 迅雷看看播放完成后自动关机

[i][b]迅雷看看播放完成后自动关机[/b][/i] ----------------------------------------- 使用说明: 本程序用于通过像素自动检测迅雷播放器播放时间,检测范围大致在全屏时或最大化时,总之窗口底部要在开始菜单上面不超过100像素的屏幕从左算起60%左右的矩形范围内.若播放器完…

html5播放器绿屏修复,迅雷看看绿屏播放视频怎么修复

迅雷看看绿屏播放视频怎么修复?一些用户发现在迅雷看看播放器中不管播放什么格式的视频都会出现绿屏的问题,出现这种情况的大多都是ATI显卡的原因,现在就着手解决这件麻烦事吧。 迅雷看看绿屏播放视频怎么修复? 一、关闭硬件加速&…

html+播放ftp,迅雷看看播放器3.1 直接播放Http/Ftp的影音文件

详细介绍 迅雷看看播放器3.1版本亮点:(new) 支持全网点播: 直接播放Http/Ftp的影音文件,越热门的影片播放越流畅。 直接播放支持BT种子。 支持RM/RMVB/WMV/WMA/ASF/AVI/MP3/MP4/MPEG/MKV/MOV/TS等格式的在线播放。 可以在较大程度上防止死链。…

Servlet 相关内容

1. Servlet 1.1 Servlet概述 Servlet 是 SUN 公司提供的一套规范,名称就叫 Servlet 规范,它也是 JavaEE 规范之一,可以通过API来学习。目前在Oracle官网中的最新版本是JavaEE8,该网址中介绍了JavaEE8的一些新特性。当然&#xff…

前端开发——常用案例分享

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

再见,深圳~长沙,我又来啦

轻轻地,我走了,正如我轻轻地来,我挥一挥汗水,不带走一行代码....刚好八年整,没有多一天也没有少一天.... 犹记得2013年4.1日的时候,带着女友坐着绿皮硬卧从长沙来到了深圳,大学室友熊平去接的我…

模仿360安全卫士项目笔记3

27_手机防盗的原理_30 手机防盗的前提就是绑定sim,如果不绑定没意义; 1、在Setup2Activity页面时,当点击下一个按钮是校验是否设置了sim绑定,没绑定的话不让进入; 2、在SelectContactAcitivity得到手机里的联系人并选…