Клиент Live555 OpenRTSP повторно подключается к серверу

Это ситуация:

  1. Я подключаюсь к RTSP-серверу с помощью OpenRTSP-клиента Live555.
  2. Затем предположим, что соединение с сервером потеряно

Что мне делать, чтобы повторно подключить сервер rtsp?

  1. Справляется ли с этим клиент openRTSP? [в моем эксперименте это не так]
  2. Если нет, как мне обнаружить потерю соединения и изменить код клиента Open Rtsp для повторного подключения к серверу?

Какие-либо предложения?


person Novalis    schedule 21.11.2011    source источник


Ответы (1)


IMO было бы проще всего настроить новый сеанс RTSP.

1.) нет, насколько я знаю

2.) вы можете запланировать периодическую задачу в цикле событий live555, которая проверяет, были ли получены какие-либо образцы за последние n секунд. Если нет, вы можете попытаться разорвать существующий сеанс, прежде чем начинать новый. Однако, если соединение между сервером и клиентом прервалось, ваш TEARDOWN также может завершиться ошибкой (что нормально, поскольку сервер RTSP в любом случае истечет время сеансов RTSP). Насколько я помню, тайм-аут live555 на RTSP-сервере составляет 60 секунд.

Для ясности: что именно вы подразумеваете под соединением: связь между сервером RTSP и клиентом? Вы транслируете RTP через UDP или RTP через RTSP (TCP)? Если вы чередуете RTP с RTSP, вы можете обнаружить сбой соединения, когда TCP-соединение разрывается.

person Ralf    schedule 21.11.2011
comment
Серверный поток RTP через UDP ... Итак, я должен сделать квест, что если я не принимаю RTP-пакеты в течение примерно 10 секунд, соединение с сервером не работает? Но сеть может быть медленной... Волшебный номер? Каким должно быть н? - person Novalis; 21.11.2011
comment
По соединению: Связь между сервером и клинетом... Если сервер не работает, клиент OpenRTSP не работает... Но он должен попытаться в течение n раз или t повторно подключиться и снова получить потоки... Возможно, сервер работает в т время... - person Novalis; 21.11.2011
comment
Это сложная проблема, поскольку она полностью зависит от сетевых проблем, с которыми вы сталкиваетесь. Я бы немного поэкспериментировал с магическим числом, чтобы посмотреть, что вам подходит. Мы транслируем мультимедиа, используя live555 RTP через RTSP, и наблюдали тайм-ауты более 30 секунд, после которых сеанс восстанавливался (что нормально, если период меньше тайм-аута сервера RTSP), но это полностью зависит от вашей целевой сети и т. д. - person Ralf; 21.11.2011
comment
Я сделал это с помощью таймера, но у меня проблемы при перезапуске нового клиента. stackoverflow.com/questions/8226021/ - person Novalis; 22.11.2011