【www.shanpow.com--简历制作】
第一篇pvod:PVOD1例
PVOD1例2016-08-13 心飞翔 阅读 122 阅读 122 举报 免费制作你自己的图文故事 美篇 制作你自己的图文故事 马上制作
第二篇pvod:Qvod的一些简单分析
Qvod的一些简单分析
发表于2年前(2011-11-22 15:08)
阅读(2106) | 评论(4)
5人收藏此文章,
我要收藏
赞0
bt
p2p
qvod
播放器
打算造一个基于bt播放的流媒体播放器. 于是简单的分析了下目前正是基于bt播放的流媒体播放器qvod.
qvod总体实现比较简单, 从软件设计上大致可以看出分成三大部分: 1. tracker, 这个服务器在qvod发布的种子里可以看到, 不过使用协议有加密, 所有其它bt软件是无法使用它的种子正常下载的, 关于是如何加密的, 我就没有具体去做分析了. 2. seed server, 这个其实也就一个做种的bt客户端而已, 提供数据服务. 3. bt client, 在qvod里是QvodTerminal.exe这个程序.
现在我打算针对QvodTerminal.exe进行简单的分析. QvodTerminal.exe是提供数据给播放器的一个bt客户端下载组件, qvod的播放器是基于dshow实现的, 基本上是抄用开源mpc那些filter完成, 除了自己实现了一个source filter吧, 整体来说, 除了做了个ui, qvod并没有做什么工作, 垃圾一个. 学过dshow的朋友都知道, source filter是提供数据给播放器下游filter的, 关于source filter是如何和QvodTerminal.exe来获得数据的呢? 我简单的分析了它的二个重要的协议.
qvod是使用播放器组件来进行下载bt种子的, 这一步是用户不可见的, 下载好后, 将bt数据使用tcp协议8080端口发送到QvodTerminal.exe,然后由它去完成bt完成. 貌似在客户端发送种子到QvodTerminal.exe时, 还重新把Bt种子编码了一次, 这一步我没做具体分析了.
qvod跟source filter的数据通信协议一般是通过本地tcp端口8081进行的, 基本格式就是: <整个数据包长度><协议Id>[协议内容]
如请求当前下载位图协议:
请求位图(c -- s):
<length:4byte><(00 00 04 19):4byte><filehash:40byte><unknow:8bytes>
返回位图(s -- c): <length:4byte><(00 00 04 19):4byte><piece length:4byte><piece num:4byte><unknow:4byte><downloaded size:4byte><bitfield>
请求数据(c -- s): <length:4byte><(00 00 04 22):4byte><filehash:40byte><request length:4byte><offset:8byte>
返回数据(s -- c): <length:4byte><(00 00 04 22):4byte><length:4byte><data>
暂时只帖出这么多了. 看文档就可以了, 可见如果真要盗用QvodTerminal.exe来二次开发一个bt播放器, 是很容易的事...
第三篇pvod:快播高清电影,免费高清电影,高清电视剧,Qvod电影官方推荐快播电影网
您好,欢迎观看qvod快播高清电影,本站快播电影是使用快播在线看最新qvod电影的免费高清电影基地 百度| GOOGLE|[无图版]高速观看快播高清电影入口