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請求、接受并播放媒體元素。