P2P流媒体技术原理及应用
发布时间:2008/5/29 0:00:00 访问次数:431
流媒体是指在数据网络上按时间先后次序传输和播放的连续音、视频数据流。流媒体数据流具有3个特点:连续性、实时性、时序性,即其数据流具有严格的前后时序关系。由于流媒体的这些特点,它已经成为在互联网上实时传输音、视频的主要方式。本质上,流媒体技术是一种在数据网络上传递多媒体信息的技术。目前数据网络具有无连接、无确定路径、无质量保证的特点,给多媒体实时数据在数据网络上的传输带来了极大的困难,流媒体技术的主要目标就是:通过一定的技术手段实现在数据网络上有效地传递多媒体信息流。
传统的流媒体服务大都是客户/服务器(c/s)模式,即用户从流媒体服务器点击观看节目,然后流媒体服务器以单播方式把媒体流推送给用户。当流媒体业务发展到一定阶段后,用户总数大幅度增加,这种c/s模式加单播方式来推送媒体流的缺陷便明显地显现出来(如流媒体服务器带宽占用大、流媒体服务器处理能力要求高等),带宽、服务器等常常成为系统瓶颈,系统的可扩展性差。
近年来,人们把p2p技术引入到流媒体传输中而形成了p2p流媒体技术,该方法有两方面的优点。首先,这种技术并不需要互联网路由器和网络基础设施的支持,因此性价比高且易于部署;第二,在这种技术中,流媒体用户不只是下载媒体流,而且还把媒体流上载给其他用户,因此,这种方法可以扩大用户组的规模,且更多的需求也带来了更多的资源。
1 p2p流媒体系统
1.1p2p流媒体系统播送方式
p2p流媒体系统按照其播送方式可分为直播系统和点播系统,此外近期还出现了一些既可以提供直播服务也可以提供点播服务的p2p流媒体系统。
1.1.1直播
在流媒体直播服务中,用户只能按照节目列表收看当前正在播放的节目。在直播领域,交互性较少,技术实现相对简单,因此p2p技术在直播服务中发展迅速。2004年,香港科技大学开发的coolstreaming原型系统将高可扩展和高可靠性的网状多播协议应用在p2p直播系统当中,被誉为流媒体直播方面的里程碑,后期出现的pplive和ppstream等系统都沿用了其网状多播模式。
p2p直播是最能体现p2p价值的表现,用户观看同一个节目,内容趋同,因此可以充分利用p2p的传递能力,理论上,在上/下行带宽对等的基础上,在线用户数可以无限扩展。
1.1.2点播
与直播领域相对应,在p2p流媒体点播服务中,用户可以选择节目列表中的任意节目观看。在点播领域,p2p技术的发展速度相对缓慢,一方面是因为点播当中的高度交互性实现的复杂程度较高;另一方面是节目源版权因素对p2p点播技术的阻碍。目前,p2p的点播技术主要朝着适用于点播的应用层传输协议技术、底层编码技术、以及数字版权技术等方面发展。
与p2p流媒体直播不同,p2p流媒体点播终端必须拥有硬盘,其成本高于直播终端。目前p2p点播系统还需在技术上进一步探索,期望大规模分布式数字版权保护(drm)系统的研究,以及底层编码技术的发展能为p2p点播系统的实施铺平道路。
1.2p2p流媒体系统网络结构
目前存在很多p2p流媒体的研究成果及实际系统,它们在其覆盖网络的组织结构上可以被大体分成两大类,即基于树(tree-based)的覆盖网络结构和数据驱动随机化的覆盖网络结构[1]。
(1)基于树的方法
大部分系统都可以归类为基于树的方法。在这种方法中,节点被组织成某种传输数据的拓扑(通常是树,如图1所示),每个数据分组都在同一拓扑上被传输。拓扑结构上的节点有明确定义的关系,例如,树结构中的“父节点-子节点”关系。这一方法是典型的推送方法,即:当节点收到数据包,它就把该数据包的拷贝转发到它的每一个子节点。既然所有的数据包都遵循这一结构,那么保证这一结构在给所有接受节点提供高性能时是最优的。更进一步,当节点随意加入和离开时,该结构必须得以维持。特别地,如果某节点突然崩溃或者其性能显著下降,它在该树结构上所有的后代节点都停止接收数据,且该树结构必须被修复。最后,当组建基于树的结构时,避免出现环是一个必须要解决的重要问题。基于树的方法可能是最自然的方法,不需要复杂的视频编码算法。然而,其中需要重点考虑的一个问题是节点失效,特别地,靠近树根的节点失效将中断大量用户的数据传输,潜在地带来瞬时低性能的结果。此外,在该结构中大多数节点都是叶子节点,他们的上行带宽没有被使用到。为了解决这些问题,已有研究提出了一些带有弹性的结构,如基于多重树的方法[2-3]。
(2)数据驱动方法
近年来,人们又提出用于p
流媒体是指在数据网络上按时间先后次序传输和播放的连续音、视频数据流。流媒体数据流具有3个特点:连续性、实时性、时序性,即其数据流具有严格的前后时序关系。由于流媒体的这些特点,它已经成为在互联网上实时传输音、视频的主要方式。本质上,流媒体技术是一种在数据网络上传递多媒体信息的技术。目前数据网络具有无连接、无确定路径、无质量保证的特点,给多媒体实时数据在数据网络上的传输带来了极大的困难,流媒体技术的主要目标就是:通过一定的技术手段实现在数据网络上有效地传递多媒体信息流。
传统的流媒体服务大都是客户/服务器(c/s)模式,即用户从流媒体服务器点击观看节目,然后流媒体服务器以单播方式把媒体流推送给用户。当流媒体业务发展到一定阶段后,用户总数大幅度增加,这种c/s模式加单播方式来推送媒体流的缺陷便明显地显现出来(如流媒体服务器带宽占用大、流媒体服务器处理能力要求高等),带宽、服务器等常常成为系统瓶颈,系统的可扩展性差。
近年来,人们把p2p技术引入到流媒体传输中而形成了p2p流媒体技术,该方法有两方面的优点。首先,这种技术并不需要互联网路由器和网络基础设施的支持,因此性价比高且易于部署;第二,在这种技术中,流媒体用户不只是下载媒体流,而且还把媒体流上载给其他用户,因此,这种方法可以扩大用户组的规模,且更多的需求也带来了更多的资源。
1 p2p流媒体系统
1.1p2p流媒体系统播送方式
p2p流媒体系统按照其播送方式可分为直播系统和点播系统,此外近期还出现了一些既可以提供直播服务也可以提供点播服务的p2p流媒体系统。
1.1.1直播
在流媒体直播服务中,用户只能按照节目列表收看当前正在播放的节目。在直播领域,交互性较少,技术实现相对简单,因此p2p技术在直播服务中发展迅速。2004年,香港科技大学开发的coolstreaming原型系统将高可扩展和高可靠性的网状多播协议应用在p2p直播系统当中,被誉为流媒体直播方面的里程碑,后期出现的pplive和ppstream等系统都沿用了其网状多播模式。
p2p直播是最能体现p2p价值的表现,用户观看同一个节目,内容趋同,因此可以充分利用p2p的传递能力,理论上,在上/下行带宽对等的基础上,在线用户数可以无限扩展。
1.1.2点播
与直播领域相对应,在p2p流媒体点播服务中,用户可以选择节目列表中的任意节目观看。在点播领域,p2p技术的发展速度相对缓慢,一方面是因为点播当中的高度交互性实现的复杂程度较高;另一方面是节目源版权因素对p2p点播技术的阻碍。目前,p2p的点播技术主要朝着适用于点播的应用层传输协议技术、底层编码技术、以及数字版权技术等方面发展。
与p2p流媒体直播不同,p2p流媒体点播终端必须拥有硬盘,其成本高于直播终端。目前p2p点播系统还需在技术上进一步探索,期望大规模分布式数字版权保护(drm)系统的研究,以及底层编码技术的发展能为p2p点播系统的实施铺平道路。
1.2p2p流媒体系统网络结构
目前存在很多p2p流媒体的研究成果及实际系统,它们在其覆盖网络的组织结构上可以被大体分成两大类,即基于树(tree-based)的覆盖网络结构和数据驱动随机化的覆盖网络结构[1]。
(1)基于树的方法
大部分系统都可以归类为基于树的方法。在这种方法中,节点被组织成某种传输数据的拓扑(通常是树,如图1所示),每个数据分组都在同一拓扑上被传输。拓扑结构上的节点有明确定义的关系,例如,树结构中的“父节点-子节点”关系。这一方法是典型的推送方法,即:当节点收到数据包,它就把该数据包的拷贝转发到它的每一个子节点。既然所有的数据包都遵循这一结构,那么保证这一结构在给所有接受节点提供高性能时是最优的。更进一步,当节点随意加入和离开时,该结构必须得以维持。特别地,如果某节点突然崩溃或者其性能显著下降,它在该树结构上所有的后代节点都停止接收数据,且该树结构必须被修复。最后,当组建基于树的结构时,避免出现环是一个必须要解决的重要问题。基于树的方法可能是最自然的方法,不需要复杂的视频编码算法。然而,其中需要重点考虑的一个问题是节点失效,特别地,靠近树根的节点失效将中断大量用户的数据传输,潜在地带来瞬时低性能的结果。此外,在该结构中大多数节点都是叶子节点,他们的上行带宽没有被使用到。为了解决这些问题,已有研究提出了一些带有弹性的结构,如基于多重树的方法[2-3]。
(2)数据驱动方法
近年来,人们又提出用于p