我通过RTSP流式传输到wowza,并且-在我完成流式传输后-我在wowza日志中得到:
stream unpublish <stream>
stream destroy
rtsp session destroy
但有时我得到
stream unpublish <stream>
我有开发人员许可证,所以在第三个相同的流中,我得到消息:
*** Hit license limit for publishing streams. Publishing stream is stopped. ***
谁能告诉我在哪种情况下流没有被破坏?
destroy
由客户端断开连接触发,而unpublish
是服务器端。
您很可能使用<StreamType>rtp-live</StreamType>
作为Application.xml
的类型。在这种情况下,当客户端需要流时,Wowza会自动发布你的流,并在断开连接时关闭它。
有两种方法可以尝试:
- 把你的RTSP流放在
StartupStreams.xml
,所以它在启动时由服务器启动。 - 将
<StreamType>
更改为live
,并使用MediaCaster
API编写自定义模块来手动发布您的流。在这种情况下,流不会在断开连接时自动取消发布,尽管您需要查看如果源流死亡会发生什么。
我解决了这个问题。在发布期间,我创建了另一个ILiveStreamRecorder,当片段完成时,我停止录制。也许,wowza没有关闭或者没有销毁这个记录器等等,所以rtsp会话没有被销毁。