浅析新一代P2P流媒体技术
- 格式:doc
- 大小:88.00 KB
- 文档页数:8
P2P视频点播中的VCR方法综述刘邦传;田野【期刊名称】《计算机工程与科学》【年(卷),期】2011(33)7【摘要】近几年,P2P视频点播技术得到了广泛的发展,使用P2P流媒体播放器(如PPStream、PPLive)来点播视频已经被广泛接受.但是,由于种种原因,用户在播放视频时进行快进、快退和跳转操作时,总是要等待一个比较长的时间,与用户在本地执行此操作的时间相差较大,因此用户得不到好的点播体验,同时也浪费带宽.为了解决这个问题,研究者们已经提出了许多关于提高VCR质量的方法,其中有被动式技术,也有主动式技术.被动的VCR技术主要是着眼于缩短对资源节点定位时间和从该资源节点下载资源的时间,同时提高节点保存资源节点信息的概率.主动的VCR技术主要是提高预存内容的概率和预存资源节点的信息的概率,同时缩短对资源节点定位的时间.本文将着重介绍这些方法的特征,并比较他们的优缺点,最后对VCR算法研究做出展望.%In recent years, the technology of P2P VOD has got a comprehensive development. It is widely accepted that people use a streaming media player based on P2P to play videos on Internet. But for many reasons, the users have to wait for a long time when they perform fast forward, fast rewind, and jump operations in playing videos, which is quite different from performing those operations on videos in local computers. Consequently, the users are not satisfied with it. In order to solve this problem, researchers propose many VCR solutions, which include the passive technologies and the active technologies. The passivetechnologies focus on reducing the time of locating the source node and downloading sources from it, at the same time, improve the possibility of saving the information of the source node. Active technologies focus on improving the possibility of the pre-saved content of video and the information of the source node. This paper plays emphasis on introducing the characteristics of these algorithms and comparing their merits and limitations. At the end, a view of the future development of VCR will be given in order to provide a reference to future study.【总页数】7页(P94-100)【作者】刘邦传;田野【作者单位】中国科学技术大学计算机科学与技术学院,安徽合肥230026;中国科学技术大学计算机科学与技术学院,安徽合肥230026【正文语种】中文【中图分类】TP393【相关文献】1.基于P2P技术的视频点播系统中的数据调度策略 [J], 额尔敦巴日斯;孙颖2.P2P技术在智能小区视频点播系统中的应用 [J], 薛颖;王玲;冷华3.基于P2P的视频点播系统在远程教育中的应用 [J], 刘琰4.基于P2P的视频点播系统综述 [J], 沈时军;李三立5.一种基于传输流的视频点播VCR功能实现方法 [J], 朱小勇;倪宏;孙鹏;姚琼因版权原因,仅展示原文概要,查看原文内容请购买。
流媒体技术基础流媒体技术是一种通过互联网传输音视频内容的技术,它允许用户在接收到数据的同时进行播放,而不需要等待整个文件完全下载。
这种技术已经被广泛应用于在线视频、直播和音频流服务。
流媒体技术的基础包括以下几个方面:1. 编码:流媒体技术使用压缩编码算法对音视频内容进行压缩以便于传输。
常见的编码格式包括H.264(视频编码)、AAC (音频编码)等。
编码的目的是通过减少数据量来提高传输效率,并尽可能保持良好的音视频质量。
2. 分段传输:为了提供低延迟的实时播放体验,流媒体技术通常将音视频内容分割成一系列小的数据块,并逐步通过网络传输。
这种分段传输的方式可以让用户从接收到第一个数据块开始就可以进行播放,而无需等待整个文件的下载。
3. 自适应码率:由于互联网的带宽和网络条件的变化,流媒体技术需要能够自适应不同的网络环境。
自适应码率是一种根据网络条件动态调整音视频质量的技术,它可以根据网络带宽的变化选择适合的码率进行传输,以保证流畅的播放体验。
4. 缓存:为了避免播放过程中的卡顿和缓冲,流媒体技术通常会使用缓存机制。
在播放开始之前,一定数量的数据会被缓存在接收端,以便提供一定的播放缓冲区。
这样即使在网络带宽不稳定的情况下,也能保证播放的连续性。
5. 传输协议:流媒体技术通常使用HTTP(Hypertext Transfer Protocol)作为传输协议。
HTTP协议是一种可靠的传输协议,它可以通过TCP(Transmission Control Protocol)在服务器和客户端之间进行数据传输。
总结起来,流媒体技术基于编码、分段传输、自适应码率、缓存和传输协议等几个基本概念,通过这些技术手段实现了在线音视频内容的实时传输和播放。
这些基础技术的结合和应用,使得我们能够在任何时间、任何地点通过互联网获得丰富的音视频内容。
(续)6. 服务器和客户端:流媒体技术的实现需要服务器和客户端之间的协同工作。
服务器是存储音视频内容的地方,它负责将这些内容分段传输给客户端。
浅析新一代P2P流媒体技术摘要:首先对现有流媒体软件进行了分析,然后提出了新一代P2P技术的特性,根据与传统流媒体技术相对比,提出新的流媒体技术开发思路,加以实施。
关键词:流媒体流媒体软件P2P技术P2P流媒体前言流媒体技术是未来网络服务体系的重要组成部分,为众多应用提供了必需的平台。
流媒体技术的特点是边传输边播放,节约资源,实时性好。
但是承载流媒体的数据分发平台必须有足够的质量保证能力,以免流媒体出现断流和联接丢失等情况。
P2P技术是分布式计算的重要发展方向,是未来高速网络中内容分发的基础。
P2P技术的优势在于最大限度的利用数据分发体系中每一个节点的资源,分解了服务器的负担,提高了数据分发的效率、稳定性、可扩展性。
可以实现快速并且低成本的将数据分发到大量节点。
将流媒体技术和P2P技术两者相结合,构成了可持续发展的网络服务——P2P流媒体。
P2P流媒体可承载的服务包括并且不仅限于:视频会议、网络课堂、远程会诊(手术)、视频点播、广播电视转播、大型活动直播等等。
采用现有P2P流媒体技术的产品主要针对视频直播,在其技术体系已经相对比较成熟,但仍存在较大缺陷。
问题主要集中在不能保证单个节点的播放质量,关键节点上的节点退出会对数据分发网络造成较大的波动甚至出现局部乃至大范围的断流。
采用现有P2P流媒体技术的产品根本不适合视频会议、网络课堂、远程会诊等关键业务应用。
第一部分现有P2P流媒体软件开发新的流媒体系统,充分了解现有的流媒体软件的优劣得失是必不可少的。
主流的软件pplive和ppstream就是分析的对象。
以下分析全部基于Sockmon5的数据包拦截。
手上资源有限,对协议的分析不很充分。
一、pplive:这款软件的数据分发引擎和播放器是分离的,也给了我们专门分析数据分发引擎的机会。
pplive会打开本地的8888端口,作为windows media服务的端口。
对于windows media player来说,认为本地8888端口就是一个cs模式的windows media 服务(real格式类同)。
节点会在一个时段内集中向几十个其他节点发送udp数据包,每一个数据包略有区别,之后收到其他节点回复。
分析为确认节点存在的数据包,或许带有测速信息。
之后节点会和速度较高的几个节点建立连接。
传输的数据包格式无法解析,但是可以看到规律。
数据头为十六进制e9034601的数据包从19K到8K 不等,内容丰富。
其他规格的数据包头还有e9034401、e9034101等等。
e9034201似乎是连接断开的标志。
e9034501的数据包大小一致,每发送一次第六字节加一,e9034401的数据分发每个数据包是一致的。
每一个节点都主动连接含有数据的上线,这可以从节点没有频繁和连续的accept动作看出。
否则用户在获取数据之前必定有一组连续accept的被连接过程。
一旦选择一个速度最高的节点,则播放所需所有数据都从这个节点获得。
这点从获取数据包的流密度和各IP数据包之间的对比可知。
在防火墙穿透策略上,经分析得知每个节点把自己的ip地址和开放的端口号汇报到服务器,服务器把这些信息通知有连接需要的节点。
节点不区分获得的ip是公网ip还是内网ip(丛发出的udp测速数据包目标经常为192.168.0.*网段可知)。
如果是公网的节点发起连接,连接公网ip的节点一般可以正常连接,如果连接内网ip的节点,肯定无法连接。
如果是内网节点发起连接,连接公网ip 的节点一般可以正常连接,如果连接内网ip的节点,分为两种情况:1、此节点位于不同局域网中,肯定连接不上;2、此节点位于同一局域网中,正好实现了内网互联。
由此可知数据分发引擎完全不具备不同局域网的节点连接能力,网络性能非常依赖公网节点数量。
按照这种模式开发流媒体产品,对不同媒体格式和媒体服务器的兼容性较好,节点之间连接策略的处理也比较简单高效。
但难点在于如何把流媒体服务器和数据分发层连接,和如何模拟流媒体服务器和播放器握手。
这部分技术确实可以解决,但之前没有考虑过实现细节。
节点开始播放流媒体之前,必须和服务器建立连接,获得节点列表,然后判断节点之间的联通性。
和可以连通的节点建立连接,尝试获得数据填充本地缓冲区。
在此过程中,判断速度较高的节点。
在持续连接建立后,已经可以获得稳定数据,继续保持低速的连接的发起,遇到更高速的节点,则转向由更高速的节点提供数据(此动作为分析得知,没有非常明确的证据)。
二、ppstream:ppstream内嵌了浏览器,太多80端口的操作严重干扰了对socket的分析。
但是出乎意料,ppstream的连接建立过程比pplive清晰得多!ppstream的缓冲等待画面位于播放窗口内,而不是像pplive那样由数据分发引擎的单独窗口显示。
具体内容为嵌入flash的html页面。
由61.172.197.242的服务器提供节目表和频道表等内容,web Server:Apache/2.0.54 (Unix) PHP/4.4.0。
61.152.199.56似乎是广告的web服务器。
ppstream和pplive共有的关键字串应该是验证协议。
连接61.152.240.252:11012,回复xml格式的广播源信息,可阅读内容为从61.152.240.252获得广播源信息后,开始连接大量节点,握手过程等同于61.152.240.252。
从多次不同时段不同频道连接的情况看,此节点为超级node。
并且一个节点上同时承载了多路流媒体的广播。
分析可知1.0.0.2138为节点版本。
产生本地的回环连接,过程如下:接受端口发送信息:连接到本地节点,之后连接断开。
发起端口接到信息:连接到本地节点,之后也断开连接。
这时已经从61.152.240.252:11012开始缓冲流媒体信息。
并且尝试两个新的节点连接。
4436端口完成绑定。
内嵌播放器打开http目录下的.asx文件,由4436端口发起连接至18988端口,按照.asx文件内容请求.asf流媒体。
18898端口回复服务器信息及ok。
4436端口断开。
本地4441端口连接18898端口,请求播放.asf文件。
本地4444端口连接18898端口,请求播放.asf文件,获得数据信息。
规格等同广播源信息中所包含的可阅读内容。
与60.220.82.165握手后,接到信息:上层节点服务繁忙,希望进行降层操作,之后连接断开。
新连接的节点此时已经开始传输数据至本地缓存,保持稳定传输的有三个节点。
同时还有若干连接正在发起。
可以看出ppstream的每一个媒体数据包大小为4K。
远程向本地请求数据包,的规则同上。
握手信息的格式也相同。
分析ppstream所采用的是所连接节点向本地节点通知其它节点存在的方法。
预想中,这种调度算法认为与自己连接速度快的节点所连接的节点与自己的速度一般也快。
以这种优化手段逐步遍历节点树中所有可能高速的节点。
第二部分新一代P2P流媒体技术特点作为一项高新技术,掌握P2P流媒体技术的企业很少。
并且现有P2P流媒体技术都基于旧的P2P设计思路,没有针对流媒体的特点进行优化,偏重对服务器负担较小的情况下实现大范围流媒体分发。
但是对于单个节点的播放质量并没有从网络结构的高度予以保证,在大范围应用的情况下,不同节点之间的用户体验相差很大!甚至单个节点在不同时刻的用户体验都大不相同。
新一代P2P流媒体技术改进了原有技术的弊端,从网络结构着手,切实保证每个节点的播放质量,针对实际应用,提出了在宽带网络模式下提高播放质量的具体手段:一.服务器统治:除对等的节点之外,设立专门的服务器,除负责身份验证外,统领整个虚拟网络,调度每一台计算机的动作,控制数据流向。
每个节点对数据网络了解为0,只和在服务器控制下与自己相连的节点进行单向数据传递。
彻底杜绝了节点自治的盲目性,将每个节点的数据分发能力最大化。
而且这种服务器统一调度的方式使得升级调度算法或者修改网络结构的过程变得非常平滑。
二,多路供源:同一路数据每个节点从多个来源获得,最大限度地保证了流媒体播放的流畅性,减轻了P2P网络中单个节点的不稳定性对整个网络播放质量的影响。
配合服务器统治的特性,可以快速从分发网络的缺陷状态恢复,并且在这个过程中不会影响节点的播放质量。
在网络稳定运行和不稳定运行的状态都可以获得很高的服务质量保证。
三.统一的音频/视频编码规范:在P2P流媒体系统中,限定节点之间传送的数据采用统一的编码规范。
编码规范针对P2P流媒体技术优化,简化了每个节点生成和播放压缩数据的操作。
并且由于编码规范已知,可最优化网络上传输的数据流。
第三部分流媒体内容分发技术对比传统流媒体内容分发技术结构图(箭头代表数据流向)传统流媒体内容分发技术的主要缺点是数据源单一,所有播放端数据全部由内容来源提供,对内容提供端设备要求极高。
并且在现有硬件技术条件下,即使投入巨量资金,在极限状态下也无法满足播放端大规模增长的需求。
多服务器流媒体内容分发技术结构图(箭头代表数据流向)多服务器流媒体内容分发技术解决了传统流媒体内容分发技术中,数据源单一的问题,是现阶段应用最广泛的流媒体内容分发方案。
利用配置多个服务器,分流数据的手段,降低了单个服务器的负载,提高了总的播放端承载量。
但是多服务器内容分发技术存在服务器内容实时同步能力差,单个服务器失效时造成被依赖播放端彻底断流等问题。
而且随着播放端数量的增长,必须增加服务器数量,以便分流额外的负载,内容分发的成本居高不下。
改进多服务器流媒体内容分发技术结构图(箭头代表数据流向)改进多服务器流媒体内容分发技术的重要进步是一个播放端可以从多个服务器获得数据,解决了单个服务器失效造成的数据断流问题。
但是并没有为服务器内容实时同步性差的问题提供解决方案。
而且增加播放端同时保证质量的唯一方法仍然是增加服务器数量,成本问题依旧。
P2P流媒体内容分发技术结构图(箭头代表数据流向)P2P流媒体内容分发技术成功解决了上述流媒体分发技术所存在的全部问题,提供了高效、低成本的大量节点同时播放解决方案。
但是P2P的树形结构带来了新的问题,枝干上的节点一旦退出,就会造成子树上的所有节点断流。
面积广大,后果严重,对流媒体内容分发服务造成灾难性破坏。
这种可以称之为缺陷的状况,在客户端数量庞大时必然出现,后果是整个子树的内容分发完全中断,服务崩溃。
这种缺陷是由于P2P的网络拓扑结构造成的,因而无法避免,也无法通过增加硬件投资或提高软件质量来弥补。
这个技术瓶颈极大的限制了P2P 流媒体技术的研发和推广,亟待突破。
新一代P2P流媒体内容分发技术结构图(箭头代表数据流向)新一代P2P流媒体内容分发技术采用全新的网络拓扑结构,在保留P2P流媒体内容分发技术全部优点的同时,彻底解决了枝干退出造成整个子树断流的缺陷。