我创建了一个 Red5 流记录器应用程序,用于记录客户端的摄像机和麦克风。它通过NetStream.publish("streamname","live")
记录流,并调用开始记录流的远程调用。问题是在客户端调用远程startRecording
方法并且服务器开始录制流后,整个通信速度变慢并且延迟较长,通常为半分钟!由于速度变慢,即使是远程呼叫,一切都会延迟很长时间。在本地主机中,它运行良好。问题出在哪里?
您可能需要启动一个新的线程来处理服务器端记录。我们遇到了类似的问题,并通过将 StreamListener 添加到在其自己的 Thread 中运行的流并使用类似于以下内容的构造来解决它:http://en.wikipedia.org/wiki/Semaphore_%28programming%29收集所有数据包并将其写入磁盘,独立于 Red5 应用程序逻辑。
这样我们就能够解决服务器端录制中的性能问题。
塞巴斯蒂安