RTSP重定向到另一个客户端(与RFC相关)

时间:2012-12-03 11:26:35

标签: c# media rtsp rfc

我目前正在C#(服务器/客户端)中实现RTSP标准,但在重新阅读RFC 2326一千次之后,还有一件事我不清楚。

看起来RTSP只是一个[C - S]控制协议。但是,如果我正在尝试为网络中的多个客户端/服务器设备构建管理,该怎么办?例如:

我有一个管理应用程序,它是一个RTSP客户端。我想告诉另一个客户他应该连接到不同的服务器。类似的东西:

SETUP rtsp://192.168.1.12 RTSP/1.0
      CSeq: 302
      Transport: RTP/AVP;rtsp-redirect:192.168.1.155

RFC对传输属性非常严格。我也考虑过“REDIRECT”,但这只是S-> C,例如负载平衡使用。 有没有办法实现客户< - >用于重定向的客户端通信(例如,告诉客户端他必须在另一台服务器上删除命令?)

1 个答案:

答案 0 :(得分:2)

你想要做的事情就是聚合...你不想将公众重定向到公司防火墙后面的摄像头......你会想先在媒体服务器上设置摄像头,然后允许通过密码保护媒体服务器上的流,通过媒体服务器访问任何人。

查看我在c#中的实现,该实现与VLC @ https://net7mma.codeplex.com/兼容,并支持我上面提到的所有内容!

这里有一篇CodeProject文章 - > http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp

实际上有......

@ http://www.ietf.org/rfc/rfc2326.txt

10.10 REDIRECT

重定向请求通知客户端它必须连接到另一个    服务器位置。它包含必需的标题位置    表示客户端应发出该URL的请求。有可能    包含参数Range,表示重定向的时间    生效。如果客户想继续发送或接收    对于这个URI的媒体,客户端必须发出一个TEARDOWN请求    当前会话和指定的新会话的SETUP    主机。

此示例请求将此URI的流量重定向到新服务器    在给定的比赛时间:

 S->C: REDIRECT rtsp://example.com/fizzle/foo RTSP/1.0
       CSeq: 732
       Location: rtsp://bigserver.com:8001
       Range: clock=19960213T143205Z-

如果您还需要其他信息,请告诉我们!