【发布时间】:2012-10-05 06:45:19
【问题描述】:
我创建了一个 Red5 流记录器应用程序,用于记录客户的摄像头和麦克风。它通过NetStream.publish("streamname","live") 记录流并调用开始记录它的远程调用。问题是客户端调用远程startRecording方法,服务端开始录流后,整个通信速度变慢,延迟时间长,经常是半分钟!从减速开始,即使是远程呼叫,一切都会有很长的延迟。在本地主机中它工作得很好。有什么问题?
【问题讨论】:
我创建了一个 Red5 流记录器应用程序,用于记录客户的摄像头和麦克风。它通过NetStream.publish("streamname","live") 记录流并调用开始记录它的远程调用。问题是客户端调用远程startRecording方法,服务端开始录流后,整个通信速度变慢,延迟时间长,经常是半分钟!从减速开始,即使是远程呼叫,一切都会有很长的延迟。在本地主机中它工作得很好。有什么问题?
【问题讨论】:
您可能需要启动一个新线程来处理服务器端记录。 我们有类似的问题,并通过将 StreamListener 添加到在其自己的线程中运行并使用类似于以下结构的流中来解决它: http://en.wikipedia.org/wiki/Semaphore_%28programming%29 收集所有数据包并将它们写入磁盘,独立于 red5 应用程序逻辑。
这样我们就能够解决服务器端录制的性能问题。
塞巴斯蒂安
【讨论】: