本发明属于安防,具体涉及一种基于hls直播流的用户研判方法、装置、系统及电子设备。
背景技术:
1、随着网络摄像机的大面积应用,尤其是在安防等领域,随之而来的是视频汇聚平台的大量应用,视频汇聚平台通常是采用按需拉流方式,有用户需要观看时才拉取设备直播流,没有用户观看时停止拉流,从而降低资源占用;视频直播流常采用rtsp、rtmp、http-flv、hls、web-rtc等协议;而hls是无连接的,因而服务器难以判断当前设备视频流是否存在用户正在观看,导致难以实现服务端直播视频流的动态拉取和停止。
技术实现思路
1、为了解决上述问题,本发明提供一种基于hls直播流的用户研判方法、装置、系统及电子设备,其有效地解决了服务器难以判断当前设备视频流是否存在用户正在观看的问题,进而实现了服务端直播视频流的动态拉取和停止。
2、本发明所采用的技术方案为:
3、在第一个方面,本申请公开了一种基于hls直播流的用户研判方法,从服务侧出发,该方法包括以下步骤:
4、接收设备id,并根据所述设备id拉取设备视频流;
5、判断所述视频流是否拉取成功,若是,进入下一步,否则,结束;
6、创建定时器,并利用所述定时器定时检测对m3u8索引文件的请求时间;
7、判断所述请求时间是否超过阈值,若是,则判定用户端无用户观看并进入下一步,否则,继续利用所述定时器定时检测所述请求时间并判断是否超过阈值;
8、停止拉取当前设备视频流,结束;
9、其中,所述m3u8索引文件用于对存储于内存中的ts切片文件进行定位,所述ts切片文件是对拉取的所述视频流进行解析并打包组装而获得,所述请求时间是用户端对所述m3u8索引文件的请求时间。
10、作为一种可选的技术方案,在所述视频流被拉取成功后,所述方法还包括:
11、解析被成功拉取的视频流,并将解析后的视频流按指定时长打包组装成ts切片文件;
12、将所述ts切片文件存储于内存的目的地址中,并删除内存中过期的ts切片文件,其中,所述目的地址是根据所述m3u8索引文件进行定位;
13、接收对m3u8索引文件的请求,并记录该请求时间;
14、响应所述请求,并将m3u8索引文件和对应的ts切片文件返回给用户端;
15、继续接收并响应对下一m3u8索引文件的请求,并将下一m3u8索引文件和对应的ts切片文件返回给用户端。
16、作为一种可选的技术方案,在所述判定用户端无用户观看后,打断所述响应,停止返回m3u8索引文件和对应的ts切片文件给用户端。
17、作为一种可选的技术方案,所述阈值为10s-20s,所述指定时长2s-6s。
18、在第二个方面,本申请公开了一种基于hls直播流的用户研判装置,该装置包括:
19、拉流模块,用于接收设备id,并根据所述设备id拉取设备视频流;
20、第一判定模块,用于判断所述视频流是否拉取成功,若是,调用定时器模块,否则,结束;
21、定时器模块,用于创建定时器,并利用所述定时器定时检测对m3u8索引文件的请求时间;
22、第二判定模块,用于判断所述请求时间是否超过阈值,若是,则判定用户端无用户观看并停止拉取当前设备视频流,否则,继续利用所述定时器定时检测所述请求时间并判断是否超过阈值;
23、其中,所述m3u8索引文件用于对存储于内存中的ts切片文件进行定位,所述ts切片文件是对拉取的所述视频流进行解析并打包组装而获得,所述请求时间是用户端对所述m3u8索引文件的请求时间。
24、作为一种可选的技术方案,所述装置还包括:
25、解析模块,用于在所述视频流被拉取成功后,解析被成功拉取的视频流,并将解析后的视频流按指定时长打包组装成ts切片文件;
26、存储模块,用于将所述ts切片文件存储于内存的目的地址中,并删除内存中过期的ts切片文件,其中,所述目的地址是根据所述m3u8索引文件进行定位;
27、接收模块,用于接收对m3u8索引文件的请求,并记录该请求时间;
28、响应模块,用于响应所述请求,并将m3u8索引文件和对应的ts切片文件返回给用户端;
29、其中,所述接收模块还用于接收对下一m3u8索引文件的请求;所述响应模块还用于响应所述下一请求,并将下一m3u8索引文件和对应的ts切片文件返回给用户端。
30、作为一种可选的技术方案,在所述第二判定模块判定用户端无用户观看后,打断所述响应,停止返回m3u8索引文件和对应的ts切片文件给用户端。
31、在第三个方面,本申请还公开了一种基于hls直播流的用户研判系统,该系统包括:用户端和服务器,所述服务器包括如上述公开的装置;所述用户端用于向所述装置发送直播设备id以及请求设备直播流,并根据所述装置返回的m3u8索引文件和对应的ts切片文件播放视频。
32、在第四个方面,本申请还公开了一种电子设备,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如上述公开的方法。
33、在第五个方面,本申请还公开了一种计算机可读介质,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如上述公开的方法。
34、本发明的有益效果为:本发明有效地解决了服务器难以判断当前设备视频流是否存在用户正在观看的问题,进而实现了服务端直播视频流的动态拉取和停止;并能有效简化直播按需拉流前后端交互流程,以便更好的管理直播流,同时用户使用第三方播放器也能实现按需拉流;ts切片和m3u8索引文件存放于内存中也可以避免直播hls流对磁盘的频繁读写,提高磁盘使用寿命。
1.基于hls直播流的用户研判方法,其特征在于,从服务侧出发,包括以下步骤:
2.根据权利要求1所述的基于hls直播流的用户研判方法,其特征在于,在所述视频流被拉取成功后,还包括:
3.根据权利要求2所述的基于hls直播流的用户研判方法,其特征在于:在所述判定用户端无用户观看后,打断所述响应,停止返回m3u8索引文件和对应的ts切片文件给用户端。
4.根据权利要求2或3所述的基于hls直播流的用户研判方法,其特征在于:所述阈值为10s-20s,所述指定时长2s-6s。
5.基于hls直播流的用户研判装置,其特征在于,包括:
6.根据权利要求5所述的基于hls直播流的用户研判装置,其特征在于,还包括:
7.根据权利要求6所述的基于hls直播流的用户研判装置,其特征在于:在所述第二判定模块判定用户端无用户观看后,打断所述响应,停止返回m3u8索引文件和对应的ts切片文件给用户端。
8.基于hls直播流的用户研判系统,其特征在于,包括:用户端和服务器,所述服务器包括如权利要求5-7中任一项目所述的装置;所述用户端用于向所述装置发送直播设备id以及请求设备直播流,并根据所述装置返回的m3u8索引文件和对应的ts切片文件播放视频。
9.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-4中任一项所述的方法。
10.一种计算机可读介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-4中任一项所述的方法。