经过查阅一些资料以及对TVAnts软件的分析,基本得出TVAnts的实现方法。当然本文中的说明大多数是根据极少数已知内容进行的推断。仅做交流之用。
结点的组成
TVAnts包括以下主要节点:
TVAnts服务器 TVAnts服务器是系统的核心部件,在此服务器上存放所有client的连接数据和内容的数据。在client之间建立连接时起中介作用(类似于WebService的UDDI)
媒体发布服务器 流媒体内容的初始发布者。通过流行的流媒体服务对外发布内容。如MS Media Service和Real 的媒体服务器等,采用的协议是MMS(TVAnts应该是采用MMS)或RSTP等
客户端 在客户机上安装的TVAnts客户端软件,负责从TVants读取节目列表和与其他客户端或/和媒体发布服务器读取数据流、缓冲和向播放器发送数据以及向其他客户端程序上传数据流
媒体播放器 为了支持公开的格式和降低软件开发的风险,大多数p2p流媒体软件都采用广泛流行的媒体播放器/或他们的核心,其中微软的Windows Media Player就是被用到最多的播放器。包括QQLive、TVAnts等。
流程
客户端启动–〉到TVAnts服务器读取节目列表–〉用户选择要观看的节目–〉到TVAnts服务器注册IP及当前播放内容–〉从TVAnts获取所有正在播放此内容的服务器端(可以是媒体发布服务器或其他TVAnts客户程序)–〉调用p2p引擎和/或mms流引擎读取内容到缓冲–〉媒体发布模块从缓冲读取数据,通过模拟本地的mms协议/或http协议将数据流发布出去–〉媒体播放器从本地的mms发布点读取流数据
客户端软件的主要模块构成和功能
本地缓冲 |
P2P 引擎 |
发布模块 |
媒体播放器 |
客户端软件示意图
P2P Stream引擎负责与其他客户机交换数据
MMS引擎 负责从媒体发布服务器直接读取MMS流
MMS发布模块 负责将缓冲区模块中的数据转换为MMS协议流发布给媒体播放器。TVAnts会在本地模拟出:mmst://localhost:16900/1这样的地址,直接通过媒体播放器/或ie地址栏即可打开观看此节目(前题是上面提到的模块已启动)。
播放器 标准的Windows Media Player。
辅助模块
其他相关内容
P2P 引擎 可采用开源软件
发布模块和MMS直接读取模块 可参考Windows Media SDK
今天的文章对于未来科技的猜想_技术分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/52489.html