1
我已經創建了一個Red5流記錄器應用程序,用於記錄客戶端的攝像頭和麥克風。它通過NetStream.publish("streamname","live")
記錄流並調用開始記錄它的遠程調用。問題出在客戶端調用遠程方法並且服務器開始記錄流之後,整個通信速度變慢並且延遲很長,通常是半分鐘!從放緩的情況來看,即使是遠程通話,一切都會拖延很久。在本地主機上它運行良好。問題是什麼?Red5通訊延遲
我已經創建了一個Red5流記錄器應用程序,用於記錄客戶端的攝像頭和麥克風。它通過NetStream.publish("streamname","live")
記錄流並調用開始記錄它的遠程調用。問題出在客戶端調用遠程方法並且服務器開始記錄流之後,整個通信速度變慢並且延遲很長,通常是半分鐘!從放緩的情況來看,即使是遠程通話,一切都會拖延很久。在本地主機上它運行良好。問題是什麼?Red5通訊延遲
您可能需要啓動一個新的線程來處理服務器端記錄。 我們有類似的問題,並通過添加StreamListener到流在其自己的線程中運行,並使用類似結構解決了這個問題: http://en.wikipedia.org/wiki/Semaphore_%28programming%29 收集的所有數據包,並將其寫入到磁盤的,獨立的RED5應用程序邏輯。
這樣我們就可以解決服務器端記錄中的性能問題。
塞巴斯蒂安
也許信號量聽起來有點學術,實際上它只是一個隊列,收集數據包。重點是:以新線程開始錄製! –
好吧,我試圖創建一個類實現Runnable並將stream.start放入run(),但我想這是一個錯誤的方法.. :) – haxpanel
請參閱我的答案有關的方法在這裏:http://stackoverflow.com/a/ 12901336/1448704 –