TVAnts技术实现猜想

 

        经过查阅一些资料以及对TVAnts软件的分析,基本得出TVAnts的实现方法。当然本文中的说明大多数是根据极少数已知内容进行的推断。仅做交流之用。

 

结点的组成

TVAnts包括以下主要节点:

TVAnts服务器      TVAnts服务器是系统的核心部件,在此服务器上存放所有client的连接数据和内容的数据。在client之间建立连接时起中介作用(类似于WebServiceUDDI

媒体发布服务器    流媒体内容的初始发布者。通过流行的流媒体服务对外发布内容。如MS Media ServiceReal 的媒体服务器等,采用的协议是MMS(TVAnts应该是采用MMS)RSTP

客户端    在客户机上安装的TVAnts客户端软件,负责从TVants读取节目列表和与其他客户端或/和媒体发布服务器读取数据流、缓冲和向播放器发送数据以及向其他客户端程序上传数据流

媒体播放器    为了支持公开的格式和降低软件开发的风险,大多数p2p流媒体软件都采用广泛流行的媒体播放器/或他们的核心,其中微软的Windows Media Player就是被用到最多的播放器。包括QQLiveTVAnts等。

流程

       客户端启动-〉到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

      

posted @ 2005-11-15 13:25  雨吁的嘘  阅读(2030)  评论(1)    收藏  举报