实况流媒体应用类似电视台播放的电视频道,只不过信号传输通道变成了互联网。现在,步入千家万户的、替代了传统有线电视的IP电视就是这样的流式实时视频应用。现在的很多视频网站都提供直播功能,它们也都是流式的实时音频/视频。
与流式存储音频/视频不同,流式实时音频/视频在服务器上没有事先存储的媒体文件。视频流实时生成,实时送达到用户,在用户的播放器上实时播放。这种情况下用户当然不可能实现快进。但是依靠本地存储,用户可以进行暂停、回退等操作,回退的时间长短要视本地的存储能力而定。
流式实时音视频与流式存储音视频还有另一个显著区别。在实时音视频应用之中,虽然不同用户的收看时间多少会有些许的差异,但仍可以认为所有的用户看到的是同样的音视频内容。这与流式存储音频/视频应用中,用户可以任意点映大不相同。即使是点映同一视频,不同用户的播放进度可能也有比较大的差异,即实时流媒体区分存储流媒体的一个根本性的特点是:不同用户需要的数据是一致的。
流式实时音频/视频的用户数据一致性的特点,使它需要传输的数据非常适用于多播技术来传送。
介绍网络层时提到过IP多播技术。利用这种技术,人们就可以有效地向多个收看实况的用户发送音频/视频数据,但是,现在IP多播技术还没有得到大规模的应用。只有在一些小规模的网络之中才可能进行IP多播。所以,人们一般还是通过采用P2P的应用层技术在互联网上来实现多播的。
若要使用基于P2P技术的应用层来实现直播流媒体数据传输,就需要所有接收直播的用户(的播放器),连同媒体服务器一起构成一个以服务器为根的多播树。在这里,一般称所有参与接收的用户为“对等方”。每一个参与接收实况直播的对等方都需要根据一定的原则确立自己在这棵多播树上的位置。自己的上一层对等方结点都是谁?自己的下层对等方结点有哪些?每个对等方都需要维护它与若干个其他对等方的连接关系。在实况播出的过程中,必然会有对等方加入或者退出。维护好多播树是基于P2P应用层多播最重要的工作。特别是在有对等方退出的时候,如何重建对等方之间的连接是需要妥善解决的问题。(www.xing528.com)
为了保证直播通信的效率,在所有参与方共同维护的多播树中,各结点之间是否有连接以及谁是更上一层的结点,应该是需要考虑到各方之间的网络关系的,但这并不一定意味着,彼此有连接关系的两个对等方综合了带宽的网络距离就一定比没有的近,也不意味着层次高的结点肯定距离服务器更近。多播树的结构只能力求更优,难以做到最优。总体来说,应用层P2P多播树的优化程度是难以与IP多播(又名“IP组播”,是在网络层中使用的一种多播技术)相比的。应用层P2P多播示意如图6-11所示。
图6-11 应用层P2P多播示意
在实况直播的过程中,每个对等方在接收到流媒体数据后,一方面要自己进行播放;另一方面则需要将接收到的数据依据P2P多播树转发给其他的对等方。正如在一家机构里下发文件,在每个人得到文件后,还需要将文件的内容转发给自己有限的几个下级。如此,很快整个机构的每一个成员都会获得该文件的内容。
采用P2P的多播技术后,每个对等方既接收数据信息,也向外发送数据信息;既是服务的享有者,也是服务的提供者。“人人为我,我为人人”这种模式的服务系统,当参与服务的用户越多时,整体的服务质量就会越好。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。