1

我们已经有这个问题很长时间了,但仍然无法找出问题所在。我们的应用程序使用 RTMP 进行视频流传输,如果 webclient 无法连接,它会跳到 RTMPT(RTMP over HTTP)。这会导致视频在播放几秒钟后冻结。

我已经找到了一些论坛,人们似乎在讨论同样的问题,但所提出的解决方案都没有奏效。一个建议是关闭视频录制,但没有奏效。我也读过,这似乎是 red5 中的线程问题,但在入侵 RED5 之前,我想知道是否有人有补丁或任何修复它的东西。

还有一件事,如果这应该算的话,我们已经在 Mac 上进行了测试。非常感谢您提前。

4

3 回答 3

0

您可以查看的另一件事是您的 Web 服务器日志文件,因为 RTMPT 是基于 HTTP 的。我曾经在服务器上遇到过我的反 DDOS 程序的问题。RTMPT 会一个接一个地建立许多连接,这些 TCP 连接默认保持活动约 4 分钟。您可以轻松地同时获得数百个连接被视为 DDOS 攻击,因此客户端的 IP 地址将被禁止。

于 2012-12-14T09:58:08.200 回答
0

您应该首先查看的是 red5/error 日志。此外,Red5 偶尔会产生可能不在日志中但只是到普通 std.out 的输出。有一个 red5-debug.sh 或 red5-highpref.sh 可以将所有内容输出/记录到名为 std.out 的文件中。您应该使用这些日志来开始您的分析。最终你会看到一些东西。例如异常,如:

  • 破管子
  • 连接因 xxx 太长而关闭
  • 握手错误
  • 数据包 xyz 中的编码问题
  • 意外连接关闭
  • 呼叫 xyz 无法处理
  • 太多联系
  • 堆空间错误
  • 打开的文件太多

其中一些是特定于操作系统的,例如打开文件的数量。有些不是。

同样重要的是您使用的是 Red5 的最新版本而不是旧版本。您没有告诉我们您使用的是什么版本。

然而,仅仅从视频冻结*偶尔断开*或类似的症状,您将无法开始对问题进行真正的分析。

塞巴斯蒂安

于 2012-10-10T10:37:29.207 回答
0

视频冻结时您是否连接到服务器?还是在那之后?我不确定,但我认为连接关闭导致流冻结。只需检查 Red5 的访问日志,如果有任何“空闲”数据包的日志(可能在“发送”数据包之后并且超过一个数字)。

于 2012-12-13T14:58:33.013 回答