System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种rtsp流在web浏览器端的播放方法及装置制造方法及图纸_技高网

一种rtsp流在web浏览器端的播放方法及装置制造方法及图纸

技术编号:41855900 阅读:3 留言:0更新日期:2024-06-27 18:31
本发明专利技术涉及web浏览器领域,具体提供了一种rtsp流在web浏览器端的播放方法及装置,具有如下步骤:S1、浏览器端检测是否安装本地代理小程序;S2、启动本地代理小程序;S3、web浏览器和RtspProxy进行握手建立连接;S4、浏览器向代理小程序RtspProxy发起rtsp预览请求;S5、本地代理小程序拉取和封装rtsp视频流;S6、本地代理小程序将转封装之后的mp4文件推送给浏览器端,浏览器通过mse技术将mp4文件喂给video标签解码显示;S7、浏览器和RtspProxy的维持定时心跳;S8、播放结束。与现有技术相比,本发明专利技术能够使后端服务无需做任何修改,前端浏览器也无需安装插件,具备易用性和通用性。

【技术实现步骤摘要】

本专利技术涉及web浏览器领域,具体提供一种rtsp流在web浏览器端的播放方法及装置


技术介绍

1、目前在web浏览器端播放rtsp流的方案有:

2、(1)使用active插件或者npapi插件,出于安全性考虑,基本上主流浏览器不再考虑;

3、(2)服务器转封装成浏览器可以识别的格式,例如http-flv,然后采用flv.js进行播放。此方案不足在于转封装格式需要后端服务器进行开发支持。无法直接进行rtsp播放,使用场景会受到限制。

4、(3)wasm方式。虽然wasm方式可以通过解码的方式来实现浏览器端播放,但是由于是js的汇编格式,开发和维护成本较高,浏览器解码播放压力较大无法充分利用自身的硬解码能力。

5、如何在rtsp数据源无需任何适配的情况下,web浏览器端可以实现无延迟实时播放rtsp视频流是本领域亟待解决的问题。


技术实现思路

1、本专利技术是针对上述现有技术的不足,提供一种实用性强的rtsp流在web浏览器端的播放方法。

2、本专利技术进一步的技术任务是提供一种设计合理,安全适用的rtsp流在web浏览器端的播放装置。

3、本专利技术解决其技术问题所采用的技术方案是:

4、一种rtsp流在web浏览器端的播放方法,具有如下步骤:

5、s1、浏览器端检测是否安装本地代理小程序;

6、s2、启动本地代理小程序;

7、s3、web浏览器和rtspproxy进行握手建立连接;

8、s4、浏览器向代理小程序rtspproxy发起rtsp预览请求;

9、s5、本地代理小程序拉取和封装rtsp视频流;

10、s6、本地代理小程序将转封装之后的mp4文件推送给浏览器端,浏览器通过mse技术将mp4文件喂给video标签解码显示;

11、s7、浏览器和rtspproxy的维持定时心跳;

12、s8、播放结束。

13、进一步地,在步骤s1中,用户启动播放rtsp视频前,加载播放器时,先监测本地是否启动代理小程序rtspproxy,如果本地没有安装,提供下载地址给用户并提示安装;

14、如果监测到本地已经安装了代理小程序,获取用户许可以后,启动代理小程序进入到后台程序运行。

15、进一步地,在步骤s2中,本地代理小程序rtspproxy启动之后,监听在本地端口;

16、如遇到端口冲突,设定好端口段的选定范围,约定若干个备选端口,从起始端口开始往后选定进行监听的端口,直到监听成功。

17、进一步地,在步骤s3中,web浏览器开始播放时,首先和本地代理小程序建立连接,从端口开始,尝试建立连接,如果不成功,则从端口段中依次进行尝试创建websocket连接;

18、websocket层面的连接建立以后,双方需要建立应用层面的握手连接;

19、交互流程为:浏览器先发送一个身份标识以及播放器所支持的版本号信息,rtspproxy返回响应,并携带自身身份标识信息、版本号、支持的协议类型以及版本;

20、交互握手过程需要携带签名,验证通过之后,应用层面的握手连接建立完成,准备进入播放阶段交互信息。

21、进一步地,在步骤s4中,浏览器握手建立成功以后,向代理小程序发起直播请求,携带rtsp地址信息,请求唯一标识信息;

22、请求唯一标识和当前请求的rtsp地址进行一一绑定,rtspproxy根据rtsp地址和唯一标识进行流分发时的优化,同一个地址只拉取一份原始数据。

23、进一步地,在步骤s5中,本地代理小程序根据浏览器请求的rtsp地址,发起拉流请求,默认优先采用tcp模式拉流;

24、本地代理小程序rtspproxy将接收到的rtsp协议中的rtp流解封装成裸码流以及其他常见的原始裸码流帧,然后将裸码流再次进行封装成浏览器video标签所识别的mp4格式。

25、进一步地,在步骤s6中,代理小程序rtspproxy将封装好的mp4文件通过websocket协议推送给浏览器端播放器,相同rtsp地址的视频流,数据源端只拉取一份,然后复制分发给不同的播放端,不同的播放端通过唯一身份标识来进行区分;

26、浏览器接收到rstpproxy代理小程序推送的mp4文件,通过mse技术,将mp4文件放到video标签中进行播放,实现实时播放效果。

27、进一步地,在步骤s7中,播放器需要和rtspproxy维持定时心跳避免超时造成连接断开,建立应用层面的心跳连接。

28、进一步地,在步骤s8中,播放结束以后,播放器直接断开链接,或者,播放器发送goodbye的断开信号,rtspproxy接收到断开请求之后,断开数据源端连接拉流请求,同时关闭和播放器的链路,清理和本路预览相关的资源。

29、一种rtsp流在web浏览器端的播放装置,包括:至少一个存储器和至少一个处理器;

30、所述至少一个存储器,用于存储机器可读程序;

31、所述至少一个处理器,用于调用所述机器可读程序,执行一种rtsp流在web浏览器端的播放方法。

32、本专利技术的一种rtsp流在web浏览器端的播放方法及装置和现有技术相比,具有以下突出的有益效果:

33、本专利技术通过本地代理进行转换封装格式的方式,服务器无需做任何适配和修改,就可以做到实时播放,延迟在200ms以内。对接播放适配较为容易,只需要提供rtsp地址即可实现无缝对接播放。

34、浏览器端无插件播放,提高安全性,通过websocket协议进行通信。且通信协议经过合理设计,可以在安全性和实时性上得到保证。

35、播放器和rtspproxy的通信协议可以根据需要开启ssl加密通信,保证信息安全。

36、基于mse的video标签播放方式,充分利用浏览器的硬件解码能力,资源占用较少。同样机器性能下,此种播放方式可支持更多播放路数。

本文档来自技高网...

【技术保护点】

1.一种rtsp流在web浏览器端的播放方法,其特征在于,具有如下步骤:

2.根据权利要求1所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤S1中,用户启动播放rtsp视频前,加载播放器时,先监测本地是否启动代理小程序RtspProxy,如果本地没有安装,提供下载地址给用户并提示安装;

3.根据权利要求2所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤S2中,本地代理小程序RtspProxy启动之后,监听在本地端口;

4.根据权利要求3所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤S3中,web浏览器开始播放时,首先和本地代理小程序建立连接,从端口开始,尝试建立连接,如果不成功,则从端口段中依次进行尝试创建websocket连接;

5.根据权利要求4所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤S4中,浏览器握手建立成功以后,向代理小程序发起直播请求,携带rtsp地址信息,请求唯一标识信息;

6.根据权利要求5所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤S5中,本地代理小程序根据浏览器请求的rtsp地址,发起拉流请求,默认优先采用tcp模式拉流;

7.根据权利要求6所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤S6中,代理小程序RtspProxy将封装好的mp4文件通过websocket协议推送给浏览器端播放器,相同rtsp地址的视频流,数据源端只拉取一份,然后复制分发给不同的播放端,不同的播放端通过唯一身份标识来进行区分;

8.根据权利要求7所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤S7中,播放器需要和RtspProxy维持定时心跳避免超时造成连接断开,建立应用层面的心跳连接。

9.根据权利要求7所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤S8中,播放结束以后,播放器直接断开链接,或者,播放器发送GoodBye的断开信号,RtspProxy接收到断开请求之后,断开数据源端连接拉流请求,同时关闭和播放器的链路,清理和本路预览相关的资源。

10.一种rtsp流在web浏览器端的播放装置,其特征在于,包括:至少一个存储器和至少一个处理器;

...

【技术特征摘要】

1.一种rtsp流在web浏览器端的播放方法,其特征在于,具有如下步骤:

2.根据权利要求1所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤s1中,用户启动播放rtsp视频前,加载播放器时,先监测本地是否启动代理小程序rtspproxy,如果本地没有安装,提供下载地址给用户并提示安装;

3.根据权利要求2所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤s2中,本地代理小程序rtspproxy启动之后,监听在本地端口;

4.根据权利要求3所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤s3中,web浏览器开始播放时,首先和本地代理小程序建立连接,从端口开始,尝试建立连接,如果不成功,则从端口段中依次进行尝试创建websocket连接;

5.根据权利要求4所述的一种rtsp流在web浏览器端的播放方法,其特征在于,在步骤s4中,浏览器握手建立成功以后,向代理小程序发起直播请求,携带rtsp地址信息,请求唯一标识信息;

6.根据权利要求5所述的一种rtsp流在web浏览器端的播放方法,其特征在于,...

【专利技术属性】
技术研发人员:杨凯田昌英李建伟苗亚囡田广
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1