P2p 视频直播软件分析文档
尊敬的客户您好,现将我团队开发的P2p 视频直播软件的简要说明及设计思想作以简要的描述及分析,希望您对我团队的产品的性能有一定了解。
一、整体设计思路:
本软件是一款基于P2P技术的流媒体直播软件,能够为宽带用户提供稳定和流畅的视频直播节目。与传统的流媒体相比,本软件采用了P2P-Streaming技术,具有用户越多播放越稳定,支持数万人同时在线的大规模访问等特点。开发过程中大量借鉴了国内及国外先进的p2p技术文档,故软件性能得到很大的优化。 但是,目前产品还需要一个完善的过程,所以您在使用过程中可能会遇到一些问题,如果您遇到问题或有建议,请及时与我们联系。
二、软件构架:
本软件包含:
(1)TRACKER+SUPERPEER服务端:
主要负责记录所有的连接节点、添加删除视频源、及对客户Node发送链接请求,节点列表请求等县官信息;记录媒体流,并进行数据缓冲,为客户Node提供流媒体数据服务。
(2)MEDIA ENCODER流媒体编解码端:
主要负责数据流的编解码,及链接远程服务节点、视频采集卡、电视卡等进行视频采集及捕获。提供优质的视频编码,实现平滑画质效果。
(3)NODESERVICE客户端:
每一个客户NODE即是客户端,同时又是服务器,在读取数据的同时为其他的节点提供数据链接及节点提供服务。保证服务器的带宽消耗降低,及系统的稳定性。
三、软件拓扑结构:
软件拓扑结构采用的是网状拓扑结构,该种拓扑结构的优点在于,无论哪一个节点退出,对其他节点的影响可以降低到最小;在保证网络传输质量的同时,考虑到系统的节点链接及传输延迟等问题,对数据报文的结构进行了详细的定义,报文中包含链路延迟(Node间PING值)、生存周期、网络等级等的数据结构定义。达到传输效率最高、传输路径最短、延迟最小的目的。
四、软件缓冲机制:
软件缓冲采用分片封包机制,每一秒的数据为一个piece,每一包的数据为一个block,数据包封包为额定大小,进行数据的传输。系统缓冲分配为动态定义,数据结构采用Map,这样在保证高效的前提下,尽量的节省系统内存、CPU消耗最小。
五、SCHEDULE软件调度算法:
软件核心算法大量采用STL的优化arithmetic,根据节点间的传输等级,带宽限制,内外网状态,传输延迟,接入时间等进行Node优化,选取optimize node,进行数据通讯。
六、软件性能:
达到现有主流p2p软件的水平。测试结果如下
局域网内测试:视频源带宽384Kbit/Second。
连接3个节点时,服务器带宽平均消耗:684Kbit/Second,波动区间:402~712Kbit/Second;
连接10个节点时,服务器带宽平均消耗:548Kbit/Second, 波动区间:296~1025Kbit/Second.
公网测试:视频源带宽384Kbit/Second
测试节点为非对称NAT后20台,不同IP网段。
有防火墙,开放端口:5台。
独立IP公网ADSL:10台。
测试结果表明:
服务器带宽平均消耗:1946Kbit/Second, 波动区间:624~2430Kbit/Second。
软件运行稳定,频繁退出与进入网络,播放状态稳定,效果流畅。
七、不足之处:
整体“功能性”并没有达到ppstream的水准,但是软件正在不断的完善过程中,真诚的希望您给予支持与合作。希望有兴趣的合作商、系统运营商与我们联系,共同发展,实现双赢。
任义兵
联系电话:13524668752
OICQ: 458611518
E_Mail: chinadiamond@163.com