Какое значение времени ожидания вы получаете в ответе SETUP? Используете ли вы это значение для реализации функции поддержки активности?
Session = "Session" ":" session-id [";" "timeout" "=" дельта-секунды
]
Обычно RTSP основан на TCP, а RTP - на UDP. Поэтому в идеале оба канала должны поддерживать работоспособность. Если сеанс RTP закрыт, это не означает, что соединение RTSP также должно быть разорвано, тогда как каналы RTP должны быть закрыты при разрыве канала RTSP.
1) Как лучше всего поддерживать связь с RTSP-сервером? -> Периодически отправлять любой запрос RTSP (OPTIONS, SET_PARAMETER или GET_PARAMETER) до получения значения timeout
в ответе SETUP.
2) Должен ли я реализовать RTCP [отправлять пакеты RTCP на сервер]? Может ли соединение оборваться, потому что я не отправляю пакеты RTCP на сервер? -> RFC (RTSP или RTP) не предписывает требование RTCP поддерживать каналы RTP живыми.