我们已经有很长一段时间遇到这个问题但仍无法找出问题所在。我们的应用程序使用RTMP进行视频流,如果webclient无法连接,则会跳过RTMPT(RTMP over HTTP)。这会导致视频在几秒钟的播放后冻结。
我已经找到了一些人们似乎在讨论相同问题的论坛,但提议的解决方案都没有奏效。一个建议是关闭视频录制,但它没有用。我也读过,它似乎是red5中的一个线程问题,但在进入RED5之前我想知道,如果有人有补丁或任何修复它的东西。
还有一件事,我们一直在Mac上测试这个,如果这应该算的话。非常感谢你提前。
答案 0 :(得分:0)
你要看的第一件事就是red5 /错误日志。 此外,Red5偶尔会在日志中生成 not 的输出,但只是生成std.out 有一个red5-debug.sh或red5-highpref.sh可以将所有内容输出/记录到名为std.out的文件中。 您应该使用这些日志来开始分析。最终你会看到一些东西。例如:
之类的例外其中一些是特定于操作系统的,例如打开文件的数量。有些不是。
使用最新版本的Red5而不是旧版本也非常重要。你没告诉我们你正在使用什么版本。
然而,仅仅从视频冻结 *偶然断开*或类似的症状中,您将无法开始真正分析问题。
塞巴斯蒂安
答案 1 :(得分:0)
当视频冻结时你是否连接到服务器?还是在那之后呢?我不确定,但我认为连接已关闭导致流冻结。如果有任何“空闲”数据包的日志(可能在“发送”数据包之后和多个数据包中),请检查Red5的访问日志数)。
答案 2 :(得分:0)
您可以查看的另一件事是您的Web服务器日志文件,因为RTMPT是通过HTTP进行的。我曾经在服务器上遇到过反DDOS程序的问题。 RTMPT将在彼此之后建立许多连接,并且默认情况下这些TCP连接保持活动大约4分钟。您可以轻松地将数百个连接同时视为DDOS攻击,因此将禁止客户端的IP地址。