一种RTSP协议视频无插件播放方法、系统、装置及存储介质与流程

文档序号:26239373发布日期:2021-08-10 16:42阅读:248来源:国知局
一种RTSP协议视频无插件播放方法、系统、装置及存储介质与流程

本发明涉及视频流处理技术领域,尤其是一种rtsp协议视频无插件播放方法、系统、装置及存储介质。



背景技术:

现有技术的很多视频直播解决方案中,采用rtmp协议(realtimemessagingprotocol,实时消息传输协议,是一种设计用来进行实时数据通信的网络协议,主要用来在flash/air平台和支持rtmp协议的流媒体/交互服务器之间进行音视频和数据通信,是adobesystems公司为flash播放器和服务器之间音频、视频和数据传输开发的开放协议)推流的方式,中间搭建fms(adobeflashmediaserver)媒体服务器进行转发,再通过rtmp协议或者hls协议(httplivestreaming,是苹果公司的动态码率自适应技术,主要用于pc和apple终端的音视频服务,包括一个m3u(8)的索引文件,ts媒体分片文件和key加密串文件)下发到客户端,前者必须安装adobeflashplayer播放器才能实时预览,而hls协议下发的视频流虽然不用安装插件,但是实时性较差,视频画面有延迟,无法满足视频监控及安防行业低延迟的使用场景。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种rtsp协议视频无插件播放方法、系统、装置及存储介质。

本发明所采取的技术方案是:

一方面,本发明实施例包括一种rtsp协议视频无插件播放方法,包括:

构建视频采集任务,所述视频采集任务为定时批量采集所述rtsp协议视频;

根据所述rtsp协议视频,生成相应的视频格式文件;

实时监控所述定时批量采集所述rtsp协议视频的过程,并判断所述视频格式文件是否生成;

定期检测所述视频格式文件是否生成,检测到所述视频格式文件生成后,传输至浏览器进行播放。

进一步地,所述构建视频采集任务之前,所述方法还包括:

接收浏览器前端发送的视频播放请求;

响应于所述视频播放请求,在后台接口查询是否已构建所述视频采集任务。

进一步地,所述构建视频采集任务之后,所述方法还包括:

定期检测相应的视频格式文件是否生成;

若相应的视频格式文件没有生成,且在预设时间内没有重启第一任务,则判定为采集任务中断,所述第一任务为当前的视频采集任务;

发送任务中断指令,并检测是否接收到所述任务中断指令;

若接收到所述任务中断指令,则中断并删除所述第一任务,并构建第二任务,所述第二任务为新的视频采集任务;

若没有接收到所述任务中断指令,则当等待时间大于第一阈值时终止并删除所述第一任务,并构建所述第二任务。

进一步地,所述根据所述rtsp协议视频,生成相应的视频格式文件这一步骤,具体包括:

使用javacv拉取所述rtsp协议视频中的rtsp视频流;

将所述rtsp视频流推送到流媒体服务器;

所述流媒体服务器获取所述rtsp视频流并生成相应的视频格式文件。

进一步地,所述视频格文件包括m3u8文件和ts视频切片文件。

进一步地,所述实时监控所述定时批量采集所述rtsp协议视频的过程,并判断所述视频格式文件是否生成这一步骤,具体包括:

实时监控所述定时批量采集所述rtsp协议视频的过程;

读取采集到的所述rtsp协议视频的配置信息;

根据所述配置信息,判断所述视频格式文件是否生成。

进一步地,当根据所述配置信息,判断所述视频格式文件没有生成时,所述方法还包括:

生成告警信息并展示,以提醒运维人员进行相应处理。

另一方面,本发明实施例还包括一种rtsp协议视频无插件播放系统,包括:

构建模块,用于构建视频采集任务,所述视频采集任务为定时批量采集所述rtsp协议视频;

生成模块,用于根据所述rtsp协议视频,生成相应的视频格式文件;

监控及判断模块,用于实时监控所述定时批量采集所述rtsp协议视频的过程,并判断所述视频格式文件是否生成;

播放模块,用于定期检测所述视频格式文件是否生成,检测到所述视频格式文件生成后,传输至浏览器进行播放。

另一方面,本发明实施例还包括一种rtsp协议视频无插件播放装置,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的rtsp协议视频无插件播放方法。

另一方面,本发明实施例还包括计算机可读存储介质,其上存储有处理器可执行的程序,所述处理器可执行的程序在被处理器执行时用于实现所述的rtsp协议视频无插件播放方法。

本发明的有益效果是:

本发明通过定时批量采集rtsp协议视频,并根据采集到的rtsp协议视频,生成相应的视频格式文件,同时通过定期检测所述视频格式文件是否生成,能够实现高并发、低延时、无卡顿的视频播放,使得用户查看视频的延时低于1秒,能够适应于网络比较复杂的情况,大大提升用户的体验;通过实时监控所述定时批量采集所述rtsp协议视频的过程,并判断所述视频格式文件是否生成,能够实时掌握采集到的视频状态,并在出现采集异常时及时告知运维人员进行相应处理,保证了视频播放的实时性、低延时性,保证用户观看视频有更好的体验。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例所述相关技术播放rtsp协议视频的流程图;

图2为本发明实施例所述nginxrtmp及hls服务配置的示意图;

图3为本发明实施例所述rtsp协议视频无插件播放方法的步骤流程图;

图4为本发明实施例所述rtsp协议视频无插件播放的流程图;

图5为本发明实施例所述实时监控所述定时批量采集所述rtsp协议视频的过程的流程图;

图6为本发明实施例所述rtsp协议视频无插件播放装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

下面结合附图,对本申请实施例作进一步阐述。

相关技术中,视频无插件播放解决方案中,采用rtmp协议(realtimemessagingprotocol,实时消息传输协议,是一种设计用来进行实时数据通信的网络协议,主要用来在flash/air平台和支持rtmp协议的流媒体/交互服务器之间进行音视频和数据通信,是adobesystems公司为flash播放器和服务器之间音频、视频和数据传输开发的开放协议)推流的方式,中间搭建fms(adobeflashmediaserver)媒体服务器进行转发,再通过rtmp协议或者hls协议(httplivestreaming,是苹果公司的动态码率自适应技术,主要用于pc和apple终端的音视频服务,包括一个m3u(8)的索引文件,ts媒体分片文件和key加密串文件)下发到客户端,前者必须安装adobeflashplayer播放器才能实时预览,而hls协议下发的视频流虽然不用安装插件,但是实时性较差,视频画面有延迟,无法满足视频监控及安防行业低延迟的使用场景。

参照图1,相关技术中视频无插件播放流程如下:

(1)用户通过浏览器播放摄像头的视频,先接收视频播放请求;

(2)响应于所述视频播放请求,在后台接口查询是否有对于摄像头的视频采集任务,没有则新建摄像头的视频采集任务;

(3)新建任务后,使用javacv拉取摄像头rtsp流,将rtsp流推送到nginx-rtmp,由nginx-rtmp生产m3u8文件及ts视频切片文件;具体地,该步骤的实现过程可参考图2;

(4)后台定期检测视频文件是否生成,如果已生成则返回给浏览器播放。

本过程中,查看视频是持续的过程,如果用户关闭对应摄像头的页面,采集任务如果检测没有用户的请求,会在一段时间内关闭对应摄像头的采集。

虽然,相关技术中视频无插件播放可以节省采集视频的服务器资源,无需用户安装插件,一台小型服务器(内存8g,cpu4核,存储20g)就可以实现上百台rtsp协议的视频浏览器无插件播放;但其只适用于用户查看视频频率比较低,且对于延时要求不高的情况。如果用户查看视频频率比较高,且对延时要求高,则该播放方法将无法满足。

基于此,参照图3,本发明实施例提出一种rtsp协议视频无插件播放方法,包括但不限于以下步骤:

s1.构建视频采集任务,所述视频采集任务为定时批量采集所述rtsp协议视频;

s2.根据所述rtsp协议视频,生成相应的视频格式文件;

s3.实时监控所述定时批量采集所述rtsp协议视频的过程,并判断所述视频格式文件是否生成;

s4.定期检测所述视频格式文件是否生成,检测到所述视频格式文件生成后,传输至浏览器进行播放。

关于步骤s1,本实施例中,通过定时批量采集rtsp协议视频,可满足某些摄像头需要经常查看且要求低延时的场景,该视频采集任务在进程启动时即执行,在步骤s1之前,需先进行以下操作:

s001.接收浏览器前端发送的视频播放请求;

s002.响应于所述视频播放请求,在后台接口查询是否已构建所述视频采集任务。

本实施例中,如果查询结果为没有构建视频采集任务,则执行步骤s1,如果查询结果为已构建视频采集任务,则直接对摄像头的rtsp协议视频进行定时批量采集。

在步骤s1之后,也就是构建视频采集任务之后,还将进行以下操作:

s101.定期检测相应的视频格式文件是否生成;

s102.若相应的视频格式文件没有生成,且在预设时间内没有重启第一任务,则判定为采集任务中断,所述第一任务为当前的视频采集任务;

s103.发送任务中断指令,并检测是否接收到所述任务中断指令;

s104.若接收到所述任务中断指令,则中断并删除所述第一任务,并构建第二任务,所述第二任务为新的视频采集任务;

s105.若没有接收到所述任务中断指令,则当等待时间大于第一阈值时终止并删除所述第一任务,并构建所述第二任务。

本实施例中,定期检测视频格式文件是否正常生成,如果文件没有正常生成,且近1分钟内没有重启过采集任务,则判定为采集中断,需重启采集任务,首先需要发送中断指令给视频采集定时任务,由定时任务正常中断采集,如果超时则强制终止任务,任务终止后,删除对应的任务,并创建新的定时任务,保证采集断开后能及时恢复,避免长期采集中断而影响用户观看视频。具体地,该过程可进一步参照图4。本实施例中,所述第一阈值可预先设置,以通过预先设置的第一阈值来判断是否超时。

步骤s2,也就是根据所述rtsp协议视频,生成相应的视频格式文件这一步骤,具体包括:

s201.使用javacv拉取所述rtsp协议视频中的rtsp视频流;

s202.将所述rtsp视频流推送到流媒体服务器;

s203.所述流媒体服务器获取所述rtsp视频流并生成相应的视频格式文件。

本实施例中,生成的视频格式文件包括m3u8文件和ts视频切片文件;其中,m3u8文件是unicode版本的m3u,用utf-8编码。“m3u”和“m3u8”文件都是苹果公司使用的httplivestreaming(hls)协议格式的基础,这种协议格式可以在iphone和macbook等设备播放。m3u8文件其实是httplivestreaming(缩写为hls)协议的部分内容,而hls是一个由苹果公司提出的基于http的流媒体网络传输协议。hls的工作原理是把整个流分成一个个小的基于http的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extendedm3u(m3u8)playlist文件,用于寻找可用的媒体流。hls只请求基本的http报文,与实时传输协议(rtp)不同,hls可以穿过任何允许http数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络cdn来传输媒体流。m3u8文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(mediaplaylist),或者是一个主列表(masterplaylist)。但无论是哪种播放列表,其内部文字使用的都是utf-8编码。当m3u8文件作为媒体播放列表(meidaplaylist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源,由此可知,整个视频的总时长就是各个.ts切片资源的时长之和。既然.ts文件只是一种视频切片文件,那么它应该是可以播放的,把它下载到本地后,可以单独播放。

步骤s3,也就是实时监控所述定时批量采集所述rtsp协议视频的过程,并判断所述视频格式文件是否生成这一步骤,具体包括:

s301.实时监控所述定时批量采集所述rtsp协议视频的过程;

s302.读取采集到的所述rtsp协议视频的配置信息;

s303.根据所述配置信息,判断所述视频格式文件是否生成。

本实施例中,由于摄像头可能存在网络中断、离线、重启等导致视频采集异常,可通过实时监控所述定时批量采集rtsp协议视频的过程,实时监测视频的状态,并在发现采集异常时生成告警通知并发送至后台,以提醒运维人员作相应处理。

参照图5,该过程中,通过读取采集到的所述rtsp协议视频的配置信息,判断对应的视频m3u8文件和ts视频切片文件是否生成,如果没有生成,可生成告警信息,并将告警信息推送到钉钉或者其他应用程序或者以短信的方式等通知运维人员,以提醒运维人员处理作相应处理。

本发明实施例所述rtsp协议视频无插件播放方法具有以下技术效果:

本发明实施例通过定时批量采集rtsp协议视频,并根据采集到的rtsp协议视频,生成相应的视频格式文件,同时通过定期检测所述视频格式文件是否生成,能够实现高并发、低延时、无卡顿的视频播放,使得用户查看视频的延时低于1秒,能够适应于网络比较复杂的情况,大大提升用户的体验;通过实时监控所述定时批量采集所述rtsp协议视频的过程,并判断所述视频格式文件是否生成,能够实时掌握采集到的视频状态,并在出现采集异常时及时告知运维人员进行相应处理,保证了视频播放的实时性、低延时性,保证用户观看视频有更好的体验。

本发明实施例好提供一种rtsp协议视频无插件播放系统,包括:

构建模块,用于构建视频采集任务,所述视频采集任务为定时批量采集所述rtsp协议视频;

生成模块,用于根据所述rtsp协议视频,生成相应的视频格式文件;

监控及判断模块,用于实时监控所述定时批量采集所述rtsp协议视频的过程,并判断所述视频格式文件是否生成;

播放模块,用于定期检测所述视频格式文件是否生成,检测到所述视频格式文件生成后,传输至浏览器进行播放。

图3所示的方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与图3所示的方法实施例相同,并且达到的有益效果与图3所示的方法实施例所达到的有益效果也相同。

参照图6,本发明实施例还提供了一种rtsp协议视频无插件播放装置200,具体包括:

至少一个处理器210;

至少一个存储器220,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器210执行,使得所述至少一个处理器210实现如图3所示的方法。

其中,存储器220作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。存储器220可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器220可选包括相对于处理器210远程设置的远程存储器,这些远程存储器可以通过网络连接至处理器210。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

可以理解到,图6中示出的装置结构并不构成对装置200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图6所示的装置200中,处理器210可以调取存储器220中储存的程序,并执行但不限于图3所示实施例的步骤。

以上所描述的装置200实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现实施例的目的。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有处理器可执行的程序,所述处理器可执行的程序在被处理器执行时用于实现如图3所示的方法。

本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图3所示的方法。

可以理解的是,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1