0

情況是這樣的:LIVE555 OpenRTSP客戶端重新連接到服務器

  1. 我連接到RTSP服務器與LIVE555 openRTSP客戶
  2. 然後supose服務器連接丟失

要重新連接rtsp服務器,我該怎麼辦?

  1. openRTSP客戶端是否處理這個問題? [在我的實驗中沒有]
  2. 如果不是我該如何檢測連接丟失, 並修改Open Rtsp客戶端代碼重新連接服務器?

有什麼建議嗎?

回答

0

海事組織它會是最容易設置一個新的RTSP會話。

1)沒有就我所知

2)你可以安排在LIVE555事件循環,如果任何樣品在過去ñ秒被接收,檢查週期性任務。如果沒有,你可以嘗試在開始新會話之前拆除現有會話。但是,如果服務器和客戶端之間的連接斷開,您的TEARDOWN可能也會失敗(因爲RTSP服務器在任何情況下超時RTSP會話都沒關係)。據我所知,RTSP服務器上的live555超時時間爲60秒。

出於清晰目的: 你究竟通過連接意味着什麼:RTSP服務器和客戶端之間的鏈接? 您是通過UDP或RTP通過RTSP(TCP)傳輸RTP嗎?如果您通過RTSP交織RTP,則可能會在TCP連接斷開時檢測到連接故障。

+0

通過UDP的服務器流RTP ...所以我應該做一個探索,如果我沒有采取RTP數據包假設10秒,服務器連接關閉?但網絡可能會很慢......魔術號碼?應該是什麼? – Novalis

+0

通過連接:「服務器和clinet之間的鏈接」...如果服務器關閉OpenRTSP客戶端...但它應該嘗試n次或t持續時間來重新連接並再次獲取流...也許服務器是「up」在一段時間內... – Novalis

+0

這是一個棘手的問題,因爲它完全取決於您遇到的網絡問題。我會用一些神奇的數字來嘗試一下,看看有什麼適合你。我們使用live555 RTP通過RTSP對媒體進行流式傳輸,並且看到超過30秒的超時後會話恢復(只要該時間段在RTSP服務器超時時間內就可以),但這完全取決於您的目標網絡等。 – Ralf