RtspProxyRTSP 重定向 Redirect 的实现

    技术2022-05-19  20

    当 流媒体服务器有上百台, 需要动态的选择一台均衡负载最小的服务器, 或者选择一台离客户端机器最近的一台服务器提供流服务的时候,我们可以利用 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包发送到这两个端口。


    最新回复(0)