NetStream.publish()向AMS输出1kb的文件



我使用的是Adobe Media Server 4.5和FLEX 4.6.0 sdk。

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

是什么导致了这个问题,我该如何防止它,或者结束会话并通知用户出了问题?

编辑:

一些可能有助于识别问题的其他问题/评论/意见:

这只发生1%的时间,我不确定我可以用什么来解决这个问题。在AMS生成的日志文件过期之前,我从来没有能够捕捉到这种情况何时发生。

我的理论是,当客户端在某处失去连接时,会发生这种情况。

只要NetStream正确发布,文件的大小就会增长。如果文件不增长,这应该意味着NetStream失去了连接。鉴于文件大小为1kb,流在开始发布后一定立即失去了连接。

我也在notepad++中打开了这个文件,得到了这个:

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

另一种理论是,某些东西有机会覆盖我的文件,但这不太可能

有同样的问题,但只有0.001%的情况。

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

另一个可能的问题:

  • 客户端中断流- NetStream.Record.Stop
  • 退出应用程序- onDisconnect
  • Сlient禁用麦克风/摄像头
  • " FLV段缓存已满"

可以在服务器上调用onUnpublish事件时发出警告。

我也使用定时器后的publish ()方法在客户端,如果3-5秒后NetStream.Record.Start事件没有被调用,那么客户端有问题,它应该被阻止。

相关内容

  • 没有找到相关文章

最新更新