Actionscript 3 到AMS的NetStream.publish()将以1kb文件结束

Actionscript 3 到AMS的NetStream.publish()将以1kb文件结束,actionscript-3,rtmp,corruption,netstream,adobe-media-server,Actionscript 3,Rtmp,Corruption,Netstream,Adobe Media Server,我正在使用Adobe Media Server 4.5和FLEX 4.6.0 sdk 我有一个.swf应用程序,它通过RMTP连接到Adobe Media Server,从用户的网络摄像头和麦克风获取音频和视频输入,并将文件流式传输到服务器。当用户录制视频时,文件的大小会增加。有时,生成的文件最终的大小为1kb 这是什么原因造成的?我如何防止它,或者以其他方式结束会话并通知用户出了问题 编辑: 可能有助于确定问题的其他一些问题/评论/意见: 这种情况只发生1%的时间,我不确定我可以用什么来解决这

我正在使用Adobe Media Server 4.5和FLEX 4.6.0 sdk

我有一个.swf应用程序,它通过RMTP连接到Adobe Media Server,从用户的网络摄像头和麦克风获取音频和视频输入,并将文件流式传输到服务器。当用户录制视频时,文件的大小会增加。有时,生成的文件最终的大小为1kb

这是什么原因造成的?我如何防止它,或者以其他方式结束会话并通知用户出了问题

编辑: 可能有助于确定问题的其他一些问题/评论/意见:

这种情况只发生1%的时间,我不确定我可以用什么来解决这个问题。在AMS生成的日志文件过期之前,我一直无法捕获何时发生这种情况

我的理论是,当客户在某个地方失去联系时,就会发生这种情况

只要NetStream发布正确,文件大小就会增加。 如果文件没有增长,就意味着NetStream失去了连接。由于文件为1kb,流必须在开始发布后立即失去连接

我还用Notepad++打开了该文件,得到了以下信息:

FLV[SOH][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL]


另一种理论是,某些东西有可能覆盖我的文件,但这不太可能有相同的问题,但有0.001%的情况

最常见的问题是麦克风。 发布流之前需要检查麦克风

另一个可能的问题:

  • 客户端中断流-
    NetStream.Record.Stop
  • 退出应用程序-
    onDisconnect
  • С客户端禁用麦克风/摄像头
  • “FLV段缓存已满”
如果在服务器上调用
onUnpublish
事件,则可以发出警告


我还在客户端的
publish()
方法之后使用计时器,如果在3-5秒之后
NetStream.Record.Start
事件未被调用,则客户端出现问题,应该加以阻止。

我将尝试计时器方法