2012-12-14 113 views
2

我在Windows XP sp3上使用適用於Java 6的Red5版本1.0.0(最終版本)。我正在使用從https://code.google.com/p/red5/下載的安裝程序版本。我有一個項目,我正在用戶之間進行現場攝像頭聊天。我正在使用RTMPT(HTTP over RTMP)協議。因此,我在Apache Web服務器後面設置了我的Red5服務器。問題在於,一切順利進行45-50秒,突然RTMPT連接關閉。我是不使用專用的rtmpt服務器,即我沒有取消註釋conf文件中的rtmpt bean的註釋。相反,我在我的應用程序的web.xml中添加了servlet映射(用於idle,fcs,open等)的條目。 RTMPT正在監聽5080端口。我已經在Red5的早期版本上測試過這個版本,但問題是一樣的。RTMPT連接在一段時間後關閉(一分鐘內)。我已經瀏覽了日誌,但是沒有發現任何關於此的信息。此外,由於閒置時間段沒有連接關閉。它與Apache有關嗎?我不確定服務器是否正在關閉連接(儘管我無法找到關於關閉連接的任何日誌),或者客戶端關閉了它。嘗試使用0.9.0和0.9.1,但沒有任何結果。我聽說有問題在Mac上用Red5使用RTMPT,但我在Windows上。任何指向這個問題的指針?任何幫助表示讚賞。這裏是我在我的Apache Web服務器上獲得的錯誤日誌 -在一段時間後,RTMPT連接與Red5關閉

[錯誤](OS 10048)通常只允許使用每個套接字地址(協議/網絡地址/端口)。 :代理:HTTP:嘗試連接到red5serverip:5080(*)失敗。

相同的日誌重複四次。

下面是從Apache的一些訪問日誌太 -

「POST /發送/ IDTK7NOG2PXGB/803 HTTP/1.1」 200 1
「POST /發送/ IDTK7NOG2PXGB/804 HTTP/1.1」 503 323
「 POST /發送/ YXF4WTFMN8TCM/1391 HTTP/1.1" 200 8285
「POST /發送/ YXF4WTFMN8TCM/1392 HTTP/1.1」 200 1
「POST /發送/ YXF4WTFMN8TCM/1393 HTTP/1.1」 200 54
「POST /發送/ YXF4WTFMN8TCM/1394 HTTP/1.1「200 1
」POST/send/YXF4WTFMN8TCM/1395 HTTP/1.1「503 323
「POST /關閉/ IDTK7NOG2PXGB/805 HTTP/1.1」 503 323
「POST /關閉/ YXF4WTFMN8TCM/1396 HTTP/1.1」 503 323

感謝名單!

+0

嘗試與專用rtmpt服務器(通過註銷rtmpt豆)too.Results same.Same日誌。並連接數秒後關閉。任何想法的人? RTMPT正在偵聽默認端口8088. – raghav

+0

看看也@ https://maythesource.com/2016/08/11/reducing-rtmpt-disconnects-on-red5/ –

回答

1

可能你的tcp端口用完了。默認情況下,tcp連接在TIME_WAIT狀態下保持4分鐘,即使它已經關閉。當您的RTMPT流每秒使用5個連接時,系統將爲每個連接的用戶至少需要5 * 60 * 4 = 1200個端口。

通常防火牆正在限制可用端口的數量。您還可以減少tcp套接字的保持活動時間。如果你谷歌與你的Apache錯誤信息,你會發現足夠的信息來解決這個問題。

+0

感謝您的答覆。我現在使用ProxyPass與在Apache httpd conf文件中的max屬性。在最大值爲20時,兩個連接的客戶端之間的連接持續了將近一個小時,然後再次連接關閉。我仍然無法找出問題所在。 – raghav

+0

沒有在Apache訪問/錯誤日誌文件中列出?否則,也許你可以嘗試使用mod_status來檢查Apache是​​否正在慢慢耗盡資源。另請參閱http://www.debian-administration.org/article/Monitoring_Apache_with_mod_status – user1839424

+0

或者,您可能正在遭遇問題281「RTMPT隨機關閉」,請參閱http://code.google.com/p/red5/issues/detail ?id = 281您可以嘗試從註釋22(刪除sharedObjectService excutor)的解決方法。 – user1839424

0

您的red5服務器可能會崩潰。這發生在你的RAM使用越來越多時。在這種情況下,您需要再次手動啓動red5。如果這解決了你的問題,你需要升級你的RAM。在多次面對此問題後,我正在使用大約8GB的RAM。由於red5是使用JAVA編寫的,因此它缺少內存。 FFMPEG很適合在低內存中使用。但我不知道如何使用ffmpeg提供聊天,確切地說。

0

503表示服務沒有響應;如果你通過apache轉發到red5,那麼這意味着那裏有問題。我建議不要使用獨立的rtmpt bean;而是隻使用servlet並從混合中刪除apache以調試問題。

相關問題