我目前正在C# (服务器/客户端)中实现RTSP标准,但在重读RFC2326一千遍之后,仍然有一件事我不清楚。
看起来RTSP只是一个C<->S控制协议。但是,如果我试图为网络中的多个客户端/服务器设备建立管理,该怎么办?示例:
我有一个管理应用程序,它是RTSP客户端。我想告诉另一个客户端,他应该连接到不同的服务器。类似于:
SETUP rtsp://192.168.1.12 RTSP/1.0
CSeq: 302
Transport: RTP/AVP;rtsp-redirect:192.168.1.155RFC对传输属性有非常严格的要求。我也考虑过“重定向”,但这只是S->C,例如负载平衡使用。有没有办法实现客户端<->客户端通信以进行重定向(例如,告诉客户端他必须在另一台服务器上删除命令?)
发布于 2012-12-12 12:02:32
不管怎样,你想做的是聚合...你不会想把公众重定向到公司防火墙后面的摄像头...您可能希望首先在媒体服务器上设置摄像头,然后通过对媒体服务器上的流进行密码保护来允许任何人通过媒体服务器进行访问。
查看我的c#实现,它与VLC @ https://net7mma.codeplex.com/兼容,并支持我上面提到的所有内容!
这里有一篇-> http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp的CodeProject文章
实际上有..。
@ http://www.ietf.org/rfc/rfc2326.txt
10.10重定向
重定向请求通知客户端它必须连接到另一个服务器位置。它包含强制标头位置,指示客户端应该发出对该URL的请求。可能包含参数Range,表示跳转生效的时间。如果客户端希望继续发送或接收此URI的媒体,则客户端必须在指定的主机上发出当前会话的拆卸请求和新会话的设置。
此示例请求在给定的播放时间将此URI的流量重定向到新服务器:
S->C: REDIRECT rtsp://example.com/fizzle/foo RTSP/1.0
CSeq: 732
Location: rtsp://bigserver.com:8001
Range: clock=19960213T143205Z-如果你还需要什么,请告诉我!
https://stackoverflow.com/questions/13682251
复制相似问题