RealSystem通信使用的通道和协议
RealServer使用两种通道与客户端软件realplayer通讯:一种是控制通道,用来传输诸如\"暂停\"、\"向前\"等命令,使用TCP协议;另一个是数据通道,用来传输实际的媒体数据,使用UDP协议。 RealServer主要使用两个协议来与客户端联系: RTSP (Real Time Streaming Protocol) 和 PNA (Progressive Networks Audio).
图:Encoder、RealServer和RealPlayer之间的通信
如图所示,在RealSystem中,通信过程可分为两部分:
Encoder与RealServer之间的通讯
当Encoder需要向RealServer传输压缩好的数据时,通常使用one-way(UDP)与RealServer通讯。而一些防火墙通常禁止UDP数据包通过,因此,RealProducer可以设置成使用TCP协议的方式向服务器传输数据。
RealServer与RealPlayer之间的通讯
当用户在浏览器上点击一个指向媒体文件的链接时,Realplayer打开一个与RealServer的双路连接,通过这个连接与RealServer之间来回传输信息。一但RealServer接受了客户端的请求,它将通过UDP协议传输客户请求的数据。
3.2 RTSP通信
3.2.1 Realplayer播放过程
如图10-2 所示,浏览器通过HTTP协议向RealServer服务器发出请求,URL请求中包含激活RAMGEN的参数。指向被请求SMIL文件的URL引发RAMGEN自动产生一个包含SMIL文件位置的RAM文件,这个RAM文件将被传送给浏览器。 RAM文件的扩展名(.ram 或者.rpm)将使得浏览器激活RealPlayer程序。
图:RealPlayer的视频播放过程
RealPlayer接受浏览器传递过来的RAM文件,然后用RTSP协议与RealServer进行通讯,请求该RAM文件中包含的SMIL文件。 根据在SMIL文件中包含的信息,Realplayer向RealServer请求、接受并播放媒体元素。