我正在使用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 :(得分:1)
有同样的问题,但有0.001%的情况。
最常见的问题是因为麦克风。 需要在发布流之前检查麦克风。
另一个可能的问题:
NetStream.Record.Stop
onDisconnect
如果在服务器上调用onUnpublish
事件,则可以发出警告。
我也在客户端使用publish ()
方法之后使用计时器,如果在没有调用3-5秒NetStream.Record.Start
事件后,客户端出现问题并且应该被阻止。< / p>