基于P2P的流媒体直播系统分析
2015-05-30史继欣
史继欣
摘 要:文章对流媒体进行了概述,并针对P2P流媒体直播系统进行了简要分析。希望通过文章的分析,能够对相关工作提供参考。
关键词:流媒体;P2P;直播系统
网络多媒体服务在应用范围上不断扩大,其中P2P作为一种新型网络技术对传统流媒体直播模式进行了改善,将网络系统内所有计算机均作为服务器/客户端,实现数据的网上传播。利用P2P网络特点,可以将网络上任何一台机器变为流媒体段度武器,承担转发任务,进而解除了传统流媒体直播系统中服务端网络带宽瓶颈的限制。在对P2P流媒体直播系统进行研究时,需要确定其关键技术,并在现有基础上做更进一步的分析。
1 流媒体直播系统概述
流媒体即可以在Internet上实现音频、视频以及其他多媒体实时、无需下载等待的传播技术,其文件格式支持使用流失传输与播放。本质上流媒体技术将动画、视音频等多媒体文件经过特殊压缩方式处理后,利用视频服务器想用户计算机连续、实时进行传输。这样可以实现多个用户的共同使用,并且与非流式传播方式相比,避免了数据下载中的等待时间,实现了边播放边下载[1]。
2 P2P流媒体直播系统优点
2.1 缩短传播时间
通过流媒体方式来获取文件,用户可以节省等待文件全部下载完成后才可浏览的时间,一般情况下,一个正常的音视频压缩软件,选择流媒体方式传输,在一分钟以内既可以显示在用户计算机上,并且多为连续播放。即便是选择用全屏播放的模式,也不会对播放效果产生太大影响,只有在进行快进操作时需要等待一定时间。
2.2 存容量要求低
流媒体选择用Internet包传输为基础的断续异步传输模式,传输文件中的数据将会被分解成多个包,动态变化的网路会促使各包选择不同的路由,进而到达用户计算机的时间延迟各不相同。这样就决定了客户端需要缓存系统来弥补延迟与抖动的影响,提高数据包传输的准确率,确保所有媒体数据均能够连续输出,降低网络拥堵对数据传输与播放效果的影响[2]。
2.3 实时传输性高
流媒体传输实现了特性实时传输协议,与其他数据传输模式相比,其可以更高程度上满足动画、音视频等数据信息在网上的实时传输。
3 P2P流媒体直播系统总体设计分析
3.1 系统框架图
文章以P2P流媒体直播系统P2PSLTV为例子进行分析,系统主要基于树状拓扑协议与扩展模型,其框架图如图1所示。包括两个服务器,一个为媒体服务器,主要负责流媒体直播源的发布,建立新的频道列表,并请求节点索引服务器发布新的频道列表。另一个为节点索引服务器,主要负责系统内已经加入节点的索引,并记录各项加入的信息,向节点提供发现其他节点的服务,同时可以周期性的连接PIS,以求获得相应节点各项信息。在对系统进行设计时,需要确保MS服务性能满足实际应用需求,能够按照需求设置ES服务器,实现与各节点之间流媒体数据的传输,对MS服务器存有的缺陷进行完善。在系统传输流媒体数据时,由MS服务器向各个ES发送,然后ES存储并转发给与其连接的各个节点,由Peer再次转发给其他Peer[3]。其中,ES与Peer、Peer与Peer之间网络相对复杂,如果设计不当势必会对多媒体数据的传输效果产生一定影响,因此设计时需要加强对此方面的研究。
3.2 工作流程
流媒体数据的传输从节点主机开始,对从直播源获得的数据进行各式调整与缓存处理,并将其与邻居节点完成数据交换。当有直播需求时,数据提供者应首先做好直播源服务器MS的配置,然后请求PIS发布与维护MS建立的频道,最后MS服务器按照设定完成直播源的直播。另外,普通节点在获取频道数据后,会对其进行重新划分,确保其能够在该流媒体直播系统中正常直播,并将其放入自身缓冲窗口内。当MS成功与直播源连接后,选择周期性的方式向PIS报告正在直播的频道信息,成为该频道覆盖网的第一个节点,这样其他节点就可以通过PIS发现覆盖网中存在的各个节点,并进行连接[4]。在其余节点与MS服务器连接并加入到该频道覆盖网后,会向PIS服务器报告自己缓冲窗口内数据状态。而节点Peer需要访问PIS服务器上频道列表来获得频道所有信息,然后通知服务器加入到该频道覆盖网中并获得所有信息。节点Peer与各节点连接,并获取邻居节点各项信息,这样就可以交换缓冲窗口内数据信息。最后,Peer向邻居节点以及服务器发出数据块请求,在其获得一定数据信息后,即可以启动播放器从端点获得连续音视频流进行播放。
3.3 节点软件
与传统媒体数据传输系统性相比,P2P流媒体直播系统可以更好的满足视频直播传输系统对扩展性、传输效果等多方面的要求。设计时可以将系统分为管理调度层、数据交换缓冲层、覆盖网络层以及网络接口层,不同系统部分所负责的功能不同。例如网络接口层,主要负责对流媒体数据包进行封装,并保证其可以在底层网络上正常传输,是系统与外界的接口。通过其可以与各个节点进行连接,并满足定时器设计要求,可以说是TCP/IP协议物理层与数据链路层功能的集合与扩展。度高网络层,其主要负责与PIS服务器进行周期性的联系,并实现交换数据的保存与管理。系统运行时,PIS服务器请求与服务器联系,并对得到的各项数据信息进行统一保存管理,同时覆盖网络层会通过向PIS服务器请求来获取其他各节点的信息,来完成P2P覆盖网络的构件。
3.4 功能模块
第一,节点组织与管理模块。主要负责各节点的组织管理,即系统内各节点可以按照服务能力等级来自行组织成一棵属性结构,便于整个系统运行的管理与维护。第二,查询与数据选择模块。主要实现对系统内各项数据的查询,并按照一定原则,从查询得到的结果中挑选出合适的数据源节点来完成数据的传输。第三,质量监控模块。完成各节点数据传输速度的监控,一旦监测到节点数据传输失败或者速度严重降低的情况,对节点进行更换,来确保数据文件总体下载速度大于媒体文件播放速度。第四,信誉机制模块。主要负责确定信誉值,并且对节点信誉值以及节点系统服务进行联系,鼓励各节点能够通过积极分项数据来提高信誉值,争取进一步提高系统服务能力。
4 结束语
P2P流媒体直播系统与传统媒体播放模式相比,无论是传输效率还是播放质量均具有更大的优势,现在已经得到了广泛的应用。在对其进行设计研究时,需要了解其所具有的特点,确定系统框架结构,对各个环节进行分析,确保整个系统数据信息传输的有效性,争取不断提高直播系统服务能力。
参考文献
[1]唐展锋.基于P2P的流媒体直播系统研究与设计[D].电子科技大学,2012.
[2]谭冠兰.一种基于P2P流媒体直播系统的研究与实现[D].中南大学,2008.
[3]赵娟娟.基于P2P技术的流媒体直播系统的设计与实现[D].武汉理工大学,2009.