微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于IP多播视频系统的设计与实现

基于IP多播视频系统的设计与实现

时间:09-16 来源:互联网 点击:

本文着重介绍了流媒技术及其底层传输技术——IP多播。基于校园网设计并实现了一个可供网络现场直播、视频点播等服务的视频通信系统,系统中结合了多播技术中节约带宽、减轻服务器负载的优势,并采用了Real公司RealSystem流媒体系统,在客户端/服务器模式下完成。

1 流媒体技术

所谓流媒体是指采用流式传输方式在Internet播放媒体文件,即将整个音频、视频等连续媒体文件经过压缩后,由服务器向用户计算机连续和实时传送。用户只需经过几秒或几十秒的启动延时即可进行播放和观看,剩余部分将在后台继续下载,边下载边播放。实现流式传输有两种方法:实时流式传输(Real times treaming)和顺序流式传输(Progressive streaming)。其中实时流式传输需要专用的流媒体服务器与传输协议(如实时传输协议RTP、实时传输控制协议RTCP、实时流协议RTSP和媒体服务器协议MMS等)来保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到,特别适合用于现场直播。

目前支持流媒体技术的解决方案主要有RealNet works公司的RealSystem,Microsoft公司的Windows MediaTechnology和Apple公司的QuickTime。

2 多播技术

从底层传输模式看,实时流式传输支持单播、广播和多播。所谓多播是指数据源将IP数据包“尽力而为”地发送到共享相同IP地址的一个主机组中,然后利用网络设备进行相应的复制和分发,只有属于该组的成员才能接收到该数据包。显然,对于网上视频直播来说,因为大部分用户接收的数据都是相同的,使用多播传输模式比点对点的数据包传输方式——单播和一点对所有主机的数据包传输方式——广播,在节约网络带宽、减轻服务器负载和分布式网络应用更容易实现等方面有着明显优势。

多播采用IANAIP地址分类中的D类地址,即范围为224.0.0.0~239.255.255.255。在此基础上,CERNET还进一步将该地址空间划分为4个管理域:Internet范围、CERNET主干网、省网和校园网,其中校园网的多播地址空间为239.251.192.0/18。

除此之外,要实现多播至少还要:(1)在主机与路由器之间部署管理组成员关系的Internet组管理协议(IGMP)。(2)在路由器之间部署转发数据包的多播路由协议。一般来说,多播路由协议可以分为两类:一种是密集模式,如DVMRP、PIM-DM、MOSPF等,比较适合于网络带宽充足、组成员分布密集的环境;一种是稀疏模式,如PIM-SM等,比较适合于网络带宽有限、组成员分布稀疏的情况。(3)为了有效抑制多播数据包在链路层的扩散,需要部署IGMPSnooping,它依靠侦听主机与路由器之间通信的IGMP报文将同一多播组的活动成员映射为一个VLAN,在收到多播数据包后,仅向该多播组所对应的VLAN成员转发。

3 系统的设计与实现

系统采用了Real公司RealSystem的流媒体系统,结合IP多播技术,在客户端/服务器模式下,构建了一个可供在线直播,视频点播等服务的流媒体通信系统如图1所示。由于TCP的慢启动特性和丢失重传的可靠性保证,使得它并不适合流媒体传输,更不适合多播。当前大多数研究均是基于UDP的Multicast,而用RTP/RTCP作为信息反馈的框架。因此IP多播(IPMulticast)成为了最好的解决方法。

3.1 RealSystem流媒体系统
3.1.1 RealSystem的构成
Real公司的RealSystem流媒体系统是一种性能非常优秀和非常稳定的系统,它在全球有很高的市场占有率。它采用的是一种高性能的自适应压缩算法,生成独特的RM格式文件,可以有很高的压缩比率,并可以适应从56kbit/s到10Mbit/s以上带宽的线路要求。Real公司的流媒体系统目前在实时网络直播领域无人可以替代,有大量的实际方案可供选择,而且可以适应各个平台的操作系统。目前可以选择的平台有NT、Linux、Solaris、UNIX、AIX及Irix系统等,是目前支持平台最多的一个系统,其工作原理如图2所示。

3.1.2 RealSystem中使用的通道和协议
在Real公司的Server端使用两种通道与客户端软件Realplayer通信:一种是控制通道,用来传输诸如“暂停”、“向前”等命令,使用TCP协议;另一个是数据通道,用来传输实际的媒体数据,使用UDP协议。如图2所示,在RealSystem中,通信过程可分为如下两部分。

第一,当编码器需要向Real服务器端传输压缩好的数据时,通常使用UDP协议与Real的服务器端通讯。RealProducer(是Real公司的编码工具)可以设置成使用TCP协议的方式向服务器传输数据。

第二,当用户在浏览器上点击一个指向媒体文件的链接时,Realplayer打开一个与Real服务器的双路连接,通过这个连接与Real服务

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top