RtspProxy RTSP 重定向 Redirect 的實現

原文出處:http://blog.csdn.net/langeldep/article/details/6229995

 

當 流媒體服務器有上百臺, 需要動態的選擇一臺均衡負載最小的服務器, 或者選擇一臺離客戶端機器最近的一臺服務器提供流服務的時候,我們可以利用 rtsp協議的redirect 機制進行重定向,這樣的話, 我們可以通過入口機進行分發重定向。

實現原理很簡單:

client -> server   發出 rtsp請求

服務器收到請求後, 取出 客戶端的 IP 地址, 根據客戶端的IP地址, 判斷客戶端所在的地區, 在客戶端所在地的服務器中選擇一臺負載最小的服務器。

通過 redirect 協議 的Location  , 指定重定向的新地址即可完成任務。

RTSP/1.0 301 Moved

CSeq : 2

Location: rtsp://192.168.2.33/mp4/f1.ts

客戶端收到該協議描述, 既會連接新的服務器進行流請求。

問題解答:

Transport: RTP/AVP;unicast;client_port=3008-3009
Authorization: Basic YWRtaW46YWRtaW4=
User-Agent: bestilyq

URI中帶有streamid=0,表示對該通道進行設置。
Transport參數設置了傳輸模式。RTP/AVP/TCP表示通過TCP傳輸RTP包,RTP/AVP/UDP表示使用UDP傳輸RTP包。unicast表示單播。interleaved值有兩個:0和1,0表示RTP包,1表示RTCP包,接收端根據interleaved的值來區別是哪種數據包。client_port值有3008和3009,3008表示客戶端接收RTP包的端口,3009表示客戶端接收RTCP包的端口,服務端要分別將RTP包和RTCP包發送到這兩個端口。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章