我們正在研發一種C語言應用程序,它是一個簡單的RTSP/RTP客戶端,用於記錄許多攝像機的視頻。我們爲建立RTP會話並開始記錄使用recvfrom()調用捕獲的數據包的每個攝像機啓動一個pthread。 單個攝像頭單個線程可以很好地記錄一天內沒有問題。通過多臺IP攝像機捕獲視頻包
但是用更多的相機進行測試,大約25(25 pthreads),記錄到文件很好,像15至20分鐘,然後錄製就停止。應用程序仍然繼續運行。它已經過了一個半月,我們一直在嘗試各種實現,但似乎沒有任何幫助。請提供建議。
我們正在使用的CentOS 5平臺
這聽起來像是一個死鎖問題: 1)劑量它與少25線程發生? 2)什麼時候發生? – Alon 2010-06-14 17:14:21
你在做什麼平臺? 你使用哪個數據包捕獲庫? – pcent 2010-06-14 17:17:23
這並不是很多信息。我會建議一個替代實現,其中有一個線程使用select()或poll()來處理所有攝像機來控制流。 – atlpeg 2010-06-14 18:06:26