Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

采用DevChannel注入H264,如何确定rtsp或者hls客户端长时间无观看? #55

Closed
cleverdouble opened this issue Jul 25, 2019 · 4 comments

Comments

@cleverdouble
Copy link

我想在客户端无观看时,手动关闭设备的链路,但不知道如何获取到客户端的连接状态,请问这部分接口或者回调在哪里呀

@xia-chu
Copy link
Member

xia-chu commented Jul 26, 2019

你可以参考这个代码 控制无人观看时停止产生流:
image

还有参考这个代码,在有人观看时开始产生流:
image

需要指出的是,播放rtmp、rtsp、http-flv时才会触发这两个事件,播放hls不能触发这两个事件。
由于hls产生时间较长,不是一时半会就能生成的,而且实现按需产生流的机制也很复杂,所以目前hls不能触发这两个事件。

@cleverdouble cleverdouble changed the title 采用deviceChannel注入的H264,如果确定rtsp或者hls客户端长时间无观看 采用deviceChannel注入的H264,如何确定rtsp或者hls客户端长时间无观看 Jul 26, 2019
@cleverdouble
Copy link
Author

我这边就想定时获取一下客户端连接的状态,如果flv的话是不是直接走readerCount就可以了?hls就暂时没有办法获取客户端访问状态了吗?

@xia-chu
Copy link
Member

xia-chu commented Jul 28, 2019

是的 目前ZLMediaKit内部的实时内存流是通过MediaSource对象管理的,http-flv和rtmp共用的RtmpMediaSource。你可以根据app、流id 找到相应的RtmpMediaSource,然后根据readerCount方法就能知道总共有多少个播放器。

hls的播放机制是文件式,根http-flv、rtmp、rtsp完全不一样,目前还未实现链接数统计功能

@cleverdouble
Copy link
Author

好的,你的回答解决了我的疑问,多谢啦~~~

@xia-chu xia-chu changed the title 采用deviceChannel注入的H264,如何确定rtsp或者hls客户端长时间无观看 采用DevChannel注入H264,如何确定rtsp或者hls客户端长时间无观看? Sep 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants