Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用RTMPT时,Red5在几秒钟后崩溃_Java_Flash_Streaming_Red5 - Fatal编程技术网

Java 使用RTMPT时,Red5在几秒钟后崩溃

Java 使用RTMPT时,Red5在几秒钟后崩溃,java,flash,streaming,red5,Java,Flash,Streaming,Red5,我们已经有这个问题很长时间了,仍然无法找到问题所在。我们的应用程序将RTMP用于视频流,如果webclient无法连接,它将通过HTTP跳过RTMPT RTMP。这会导致视频在播放几秒钟后冻结 我已经找到了一些论坛,人们似乎在讨论同样的问题,但所提出的解决方案都不起作用。一个建议是停止录像,但并没有奏效。我也读过,这似乎是一个线程的问题,在red5,但在入侵之前,我想知道,如果可能有人有一个补丁或任何东西修复这一点 还有一件事,我们已经在Mac电脑上测试过了。非常感谢您。您首先应该查看的是red

我们已经有这个问题很长时间了,仍然无法找到问题所在。我们的应用程序将RTMP用于视频流,如果webclient无法连接,它将通过HTTP跳过RTMPT RTMP。这会导致视频在播放几秒钟后冻结

我已经找到了一些论坛,人们似乎在讨论同样的问题,但所提出的解决方案都不起作用。一个建议是停止录像,但并没有奏效。我也读过,这似乎是一个线程的问题,在red5,但在入侵之前,我想知道,如果可能有人有一个补丁或任何东西修复这一点


还有一件事,我们已经在Mac电脑上测试过了。非常感谢您。

您首先应该查看的是red5/错误日志。 此外,Red5有时也会生成可能不在日志中的输出,但只是为了清除std.out 有一个red5-debug.sh或red5-highpref.sh,用于将所有内容输出/记录到名为std.out的文件中。 您应该使用这些日志来开始分析。最终你会看到其中的一些东西。例如:

断管 由于xxx太长,连接已关闭 握手错误 数据包xyz中的编码问题 意外连接已关闭 无法处理调用xyz 连接太多 堆空间错误 打开的文件太多 其中一些是特定于操作系统的,例如打开文件的数量。有些则不然

另外,使用的是最新版本的Red5,而不是旧版本,这一点非常重要。您没有告诉我们您正在使用的版本

然而,仅仅从诸如视频冻结、偶尔断开连接或类似的症状,你将无法开始对问题进行真正的分析


Sebastian

视频冻结时,您是否已连接到服务器?还是在那之后?我不确定,但我认为连接关闭导致流冻结。只需在Red5的访问日志中检查是否存在“发送”数据包后可能出现的“空闲”数据包的任何日志以及多个数据包。

另一件事是您可以查看web服务器日志文件,因为RTMPT是通过HTTP的。我曾经在服务器上的防DDOS程序出现问题。RTMPT将在彼此之后建立许多连接,默认情况下,这些TCP连接保持活动状态约4分钟。您很容易同时获得数百个连接,被视为DDOS攻击,因此客户端的IP地址将被禁止。

我刚刚发现,问题在于闪存本身。如果它跳到RTMPT,它会无限期地放大请求中的头,这会在某个时候导致代理或任何拒绝请求的行为。这就是为什么我们实际上在red5日志中没有看到任何内容,因为没有进一步的通信。现在的问题是,如何解决这个问题,因为他们似乎没有对此采取行动,如果它涉及到Mac平台,他们为什么要这么做:。@Filip你真的用Wireshark之类的东西监控原始数据包并发现了这个结果吗?我在OSX下使用RTMPT,多年来从未出现过这个问题。此外,您提到的Jira问题自2011年7月14日凌晨02:30起得到解决。我不认为这是你问题的根源。