我在c#中有一个简单的应用程序,它打开RTSP会话并发送适当的命令,如描述、设置等,以控制RTP数据流。
我的问题是: TCP会话(用于RTSP通信)在RTP上传输数据时是否必须保持打开状态?不详细说明原因,我希望能够在设置RTP流之后关闭RTSP会话。
发布于 2021-02-04 13:04:17
简单地说,是的,你必须保持rtsp插座打开。
如果流通过TCP,则RTP数据包通过RTSP会话的套接字传输。如果流是通过UDP的,则服务器将使用套接字来知道是否应该继续向客户端发送数据包,因为如果客户端仍然活着,UDP数据包传输就没有任何反馈。
编辑:
我认为标明正确的答案实际上是不正确的。一般来说,摄录机采用的是RTSP协议第1版而非第2版。在我在视频监控系统方面的10年经验中,我发现有几种型号的相机在关闭RTSP会话套接字后停止发送RTP数据包。
发布于 2021-02-04 13:22:42
建议对所有用户使用持久连接。 服务器和客户端之间的事务,包括 多次RTSP会话。但是,持久连接可能是 在几次信息交换后关闭了。例如,客户端可能会使用 初始设置和播放消息的持久连接。 在会话中交换,然后关闭连接。后来,当 客户端希望发送新请求,例如 会话时,将打开一个新连接。这种联系可能是 要么是短暂的,要么是持久的。
所以不,这是,而不是,它需要在流数据的同时打开。
https://stackoverflow.com/questions/65711604
复制相似问题