2012-10-10 45 views
1

我们一直有这个问题很长一段时间,仍然无法找出问题出在哪里。我们的应用程序使用RTMP进行videostreaming,如果webclient无法连接,则跳转到RTMPT(RTMP over HTTP)。这会导致视频在播放几秒后冻结。使用RTMPT几秒钟后,Red5崩溃了

我已经找到了一些论坛,人们似乎在讨论同样的问题,但是没有一个建议的解决方案能够发挥作用。一个建议是转动视频录制,但没有奏效。我也读过,这似乎是red5中的一个线程问题,但在入侵RED5之前我想知道,如果可能有人有修补程序或任何修复此问题的东西。

还有一件事,我们一直在Mac上测试这个,如果这应该算。非常感谢你提前。

回答

0

你应该看的第一件事实在是red5 /错误日志。 另外Red5偶尔产生的输出可能是而不是在日志中,但只是普通std.out 有一个red5-debug.sh或red5-highpref.sh输出/记录一切到一个名为std.out的文件。 您应该使用这些日志开始分析。最终你已经看到了一些东西。对于像示例异常:

  • 断管
  • 连接关闭,由于太长XXX
  • 握手错误
  • 在包某某
  • 编码问题
  • 意外关闭连接
  • 呼叫XYZ无法处理
  • 连接太多
  • 堆空间错误
  • 打开的文件太多

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

此外,使用Red5的最新版本而不是旧版本非常重要。你没有告诉我们你使用的是什么版本。

但是,仅仅从症状如视频冻结 * occassional断线*或类似,你将无法开始真正的问题分析。

塞巴斯蒂安

+0

我刚刚发现,问题在于Flash本身(https://bugs.adobe.com/jira/browse/FP-4797)。如果跳到RTMPT,它会无限期地放大请求中的头部,这些头部会导致代理(或其他)拒绝请求。这就是为什么我们实际上没有看到red5日志中的任何内容,因为没有进一步的沟通。现在的问题是,如何解决这个问题,因为似乎没有这样做(为什么他们应该关注Mac平台?)。 –

+0

@Filip你真的用Wireshark之​​类的东西监视了原始数据包,并发现了这个结果吗?我在OSX下使用RTMPT,多年来从未遇到过这个问题。此外,您引用的Jira问题自07/14/11 02:30 AM起解决。我不认为这是你问题的根源。 –

0

你连接到服务器时的视频冻结?或之后呢?我不确定,但我认为连接已关闭导致流冻结。只要检查Red5的访问日志,是否有任何“空闲”数据包的日志(可能在“发送”数据包之后并且多于一个数)。

0

另一件你可以看看是你的Web服务器日志文件,因为RTMPT是通过HTTP。我曾经在服务器上的反DDOS程序中遇到过问题。 RTMPT将在彼此之后建立多个连接,并且这些TCP连接默认保持约4分钟。您可以轻松地将数百个连接同时视为DDOS攻击,从而禁止客户的IP地址。