8

我有一个简单的 Rtsp 客户端...客户端将 Rtsp 命令发送到 Rtsp 服务器并从服务器获取 RTP 数据包。

问题是经过一段时间(大约 3-4 分钟)后,我的第 3 方 RTSP 服务器断开与我的 RTSP 客户端的连接。

我还没有实现 RTCP...我从 rtsp 服务器获取 rtp 数据包但不发送任何 RTCP PACKET...

我进行了简单的搜索,发现有些人使用一些 RTSP 命令[如 OPTIONS,SET PARAMETER-GET PARAMETER] 也保持活动 RTSP 服务器和客户端之间的连接......但在我的情况下,这不起作用......

这是我的问题:

  1. 与 RTSP 服务器保持活动连接的最佳方法是什么?
  2. 我是否必须实现 RTCP [将 RTCP 数据包发送到服务器]?连接会因为我没有向服务器发送 RTCP 数据包而中断吗?
4

2 回答 2

8

您在 SETUP 响应中收到的超时值是多少?您是否使用此值来实现保持活动功能?

会话 = "会话" ":" 会话 ID [ ";" “超时”“=”增量秒]

通常RTSP基于TCP,RTP基于UDP。因此,理想情况下,两个通道都需要保持活动功能。如果 RTP 会话关闭,这并不意味着 RTSP 连接也应该被拆除,而 RTP 通道必须在 RTSP 通道拆除时关闭。

1) 与 RTSP 服务器保持活动连接的最佳方法是什么?timeout-->在 SETUP 响应中收到值之前,定期发送任何 RTSP 请求(OPTIONS、SET_PARAMETER 或 GET_PARAMETER) 。

2)我是否必须实现 RTCP [将 RTCP 数据包发送到服务器]?连接会因为我没有向服务器发送 RTCP 数据包而中断吗?--> RFC(RTSP 或 RTP)不强制要求 RTCP 保持 RTP 通道处于活动状态。

于 2011-10-11T08:24:04.560 回答
0

发送 OPTIONS 请求对我不起作用。

我可以发送以保持连接处于活动状态的唯一 RTSP 命令是 GET_PARAMETER

我的超时时间是 60 秒,我每 40 秒发送一次 GET_PARAMETER 请求

奇迹般有效!

(不,您不必将 RTCP 数据包发送到服务器)

于 2016-10-02T15:10:48.053 回答