【问题标题】:Red5 communication delayRed5 通讯延迟
【发布时间】:2012-10-05 06:45:19
【问题描述】:

我创建了一个 Red5 流记录器应用程序,用于记录客户的摄像头和麦克风。它通过NetStream.publish("streamname","live") 记录流并调用开始记录它的远程调用。问题是客户端调用远程startRecording方法,服务端开始录流后,整个通信速度变慢,延迟时间长,经常是半分钟!从减速开始,即使是远程呼叫,一切都会有很长的延迟。在本地主机中它工作得很好。有什么问题?

【问题讨论】:

    标签: java stream delay red5


    【解决方案1】:

    您可能需要启动一个新线程来处理服务器端记录。 我们有类似的问题,并通过将 StreamListener 添加到在其自己的线程中运行并使用类似于以下结构的流中来解决它: http://en.wikipedia.org/wiki/Semaphore_%28programming%29 收集所有数据包并将它们写入磁盘,独立于 red5 应用程序逻辑。

    这样我们就能够解决服务器端录制的性能问题。

    塞巴斯蒂安

    【讨论】:

    • 也许 Semaphore 听起来有点学术,实际上它只是一个收集数据包的队列。重点是:在新线程中开始录制!
    • 好的,我尝试创建一个实现 Runnable 的类并将 stream.start 放入 run() 但我想这是一个错误的方法..:)
    • 在这里查看我对这种方法的回答:stackoverflow.com/a/12901336/1448704
    • 谢谢,现在我的 Red5 应用程序没有延迟了! ;)
    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 2011-02-23
    • 2015-10-11
    • 2017-06-12
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    • 2020-08-09
    相关资源
    最近更新 更多