欢迎来到天天文库
浏览记录
ID:18749582
大小:104.50 KB
页数:5页
时间:2018-09-22
《基于p2p技术的流媒体直播系统的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于P2P技术的流媒体直播系统的研究与实现许统德(广东农工商职业技术学院,广东 广州 511365) 摘 要 本文介绍了P2P技术和流媒体的技术框架,并对它们进行研究和分析,并在此基础上设计和实现了一个高质量的流媒体直播系统。 关键词 P2P;流媒体;系统设计;系统实现 1 引言 近几年来,随着网络技术和流媒体技术的发展,远程教学管理、视频聊天室、IPTV、视频会议等流媒体系统正在兴起或被广泛应用。然而,在当前的Internet上传输媒体并没有任何服务质量(QoS)的保证,并且实时媒体的传输有带宽,时延和丢包等
2、问题的出现。另外,网络和终端的异构性使得带宽效率和服务的适应能力也有所下降。但是,随着P2P技术越来越被广泛研究和运用,这些问题都得到了解决。并且,P2P已经在分布式计算、网络游戏、文件共享、深度搜索、协同工作方面得到了广泛的应用[1]。因此,利用P2P技术进行实时的分发传输,便能充分利用客户端闲置的CPU、存储器、网络带宽等资源,减轻服务器和网络带宽负担,构建出一个成本低、扩展性好、并有一定QoS保证的流媒体直播系统。2 P2P技术 P2P(peertopeer)即对等计算或对等网络,通常简称为P2P,可以简单地定义成
3、通过直接交换,共享计算机资源和服务[2]。P2P技术从根本上颠覆了C/S(Client/Server)这一传统模式。新的模式模糊了服务提供者与使用者的界限,甚至不再有传统意义上的服务器,服务提供者的作用大为减弱。P2P具有的自组织、容错性好、可扩展性强等优点使其在文件共享,流媒体技术,即时通讯等方面广泛应用[3]。 P2P网络按照集中化程度可以分为纯P2P和混合P2P两类:纯P2P网络完全没有中央服务器,通过基于P2P的客户端软件搜索网络中存在的对等节点,每个节点都是完全平等的,节点之间可直接建立连接,如Gmitella
4、。 混合P2P网络设有中央服务器,它主要作为索引服务器。与C/S模式中的服务器不同,P2P网络中的索引服务器只记录内容的索引和节点的必要信息,辅助节点之间建立连接,而内容本身存储在节点中,内容的传送只在节点之间进行,不通过服务器。如早期的NaPster和现在的BT,eMule,QQ等。本文采用的就是混合P2P网络。 3 流媒体直播技术 在流媒体的应用中,媒体经过压缩技术存在硬盘上,流媒体服务器接收客户端的请求,根据QoS的要求以及网络状况调整压缩的媒体流的参数(如比特率),然后流媒体传输层对其进行打包,通过P2P技术
5、进行连续媒体分发,客户端接收到媒体流后,通过媒体同步技术进行播放。整个过程涉及到六个技术领域:媒体压缩技术,应用层的QoS控制,应用层组播技术,视频服务器技术,媒体同步技术和流媒体传输协议,彼此之间的相互转换传输如图1所示。http://www.wordwendang.com中文word文档库,海量word文档免费下载4 基于P2P技术的流媒体直播系统的设计 在P2P技术和流媒体技术的研究基础上,综合研究了当前P2P系统的内容分发技术,提出一个基于P2P技术的流媒体直播系统模型。该模型主要包括以下三个部分的设计:4.1系
6、统模型的结构设计 如图2所示,系统模型结构主要包含了四个主要的模块,分别是P2P网络覆盖层模块,流媒体数据分发算法模块,视频源编码,终端解码模块,P2P网络安全模块以及认证计费模块。 (1)P2P网络覆盖层模块:该模块使用一个中心服务器维护系统中所有活跃节点的信息视图,也就是说用强劲的服务器来换取节点之间交换节点信息带来的不便。 (2)流媒体数据分发算法模块:该模块是系统中最核心的模块之一,共包括四个部分:伙伴管理,数据缓冲区管理,数据调度,传输协议设计。 (3)视频源编码,终端解码模块:视频源编码模块即是频
7、道服务器中的读取媒体数据模块,该模块连接媒体编码器(比如WindowsMediaEneoder),并读取媒体数据,送给流媒体数据分发模块处理。终端解码模块即是频道接收端中的提供媒体数据模块,该模块连接媒体播放器(比如WindowsMediaPlayer),并把流媒体数据分发模块送出的媒体数据发送到媒体播放器以供播放。 (4)P2P网络安全模块以及认证计费模块:P2P网络安全模块负责保护网络安全,阻止恶意攻击。该模块在连接建立时交换加密密钥,以后的传输数据进行流加密保护。认证计费系统使用RADIUS协议,以便产品商业化和运
8、营推广。http://www.wordwendang.com中文word文档库,海量word文档免费下载4.2 系统模型中的P2P网络覆盖模型设计 在P2P网络层中将同时请求同一节目的所有普通节点(peers)归为一组,我们称为同一个频道(channel)。这个频道的源节点(发布服务器
此文档下载收益归作者所有