CN114745361A - 一种用于html5浏览器的音视频播放方法及系统 - Google Patents

一种用于html5浏览器的音视频播放方法及系统 Download PDF

Info

Publication number
CN114745361A
CN114745361A CN202210307719.4A CN202210307719A CN114745361A CN 114745361 A CN114745361 A CN 114745361A CN 202210307719 A CN202210307719 A CN 202210307719A CN 114745361 A CN114745361 A CN 114745361A
Authority
CN
China
Prior art keywords
audio
video
video stream
fmp4
html5
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210307719.4A
Other languages
English (en)
Other versions
CN114745361B (zh
Inventor
丁建瑞
邹伟
汪飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Langxin Data Technology Co ltd
Original Assignee
Langxin Data Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Langxin Data Technology Co ltd filed Critical Langxin Data Technology Co ltd
Priority to CN202210307719.4A priority Critical patent/CN114745361B/zh
Publication of CN114745361A publication Critical patent/CN114745361A/zh
Application granted granted Critical
Publication of CN114745361B publication Critical patent/CN114745361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供一种用于HTML5浏览器的音视频播放方法及系统,包括:接收HTML5客户端的连接请求,建立与HTML5客户端的WebSocket连接;将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送分片fMP4音视频流至HTML5客户端,以供HTML5客户端采用MSE协议调用分片fMP4音视频流,并基于预设视频标签展示分片fMP4音视频流。本发明提出转码服务器和支持HTML5技术的浏览器构建的媒体流播放架构,解决了主流浏览器不支持RTSP协议播放视频流的问题,弥补当前主流SRS流媒体直播延时较大的不足,实现音视频播放的延时小和实时性高的特点。

Description

一种用于HTML5浏览器的音视频播放方法及系统
技术领域
本发明涉及流媒体技术领域,尤其涉及一种用于HTML5浏览器的音视频播放方法及系统。
背景技术
在监控视频领域,应用比较广泛的是实时流协议(Real-Time StreamingProtocol,RTSP),RTSP在监控设备或者平台进行音视频传输中占有重要的地位。
随着视频技术应用的发展,各行业对BS模式(Browser/Server Architecture)在视频技术中的应用要求也越来越高。传统视频技术应用是以ActiveX控件作为中间件,在IE浏览器进行开发实现。但是,随着HTML5技术的迅猛发展,各厂家的浏览器出现百家争鸣的局面,这就使得视频技术在浏览器上的应用面临兼容性的问题。IE浏览器在市面上的份额也越来越少、终将退出历史的舞台、这也意味着ActiveX技术也将被淘汰。目前,在HTML5浏览器中用于进行音视频播放的技术有实时消息传输协议(Real-Time Message Protocol,RTMP)、基于HTTP的自适应码率流媒体传输协议(HTTP Live Stream,HLS)技术以及客户端实时通信(Web Real-Time Communication,Web RTC)技术,但这些技术并不能直接支持RTSP协议,即使通过其他辅助技术,能够实现对音视频流的直播,仍然存在一些无法回避的问题。最知名的开源流媒体服务器(Simple RTMP Server,SRS)系统,能同时支持RTMP、HLS等技术,最新版本的SRS系统已经能支持RTSP转mp4、m3u8、ts、FLV等文件,但不能以流的形式传输给Web前端。这种以文件的方式在Web前端进行显示,普遍存在音视频延时大的缺点,而如果对监控设备再有云台控制的需求,SRS系统中RTMP、HLS直播技术也无法满足应用的需求,WebRTC技术除了不能直接支持RTSP协议外,还存在浏览器兼容性的问题,因为其只支持Chrome所用到的浏览器内核规范标准,但微软的浏览器内核使用的是另外一套内核标准,并且目前在浏览器市场上还占有比较大的份额。
根据上述浏览器不兼容导致RTSP协议无法实现对接,使得音视频流无法能在各厂家的HTML5浏览器进行实时播放的问题,需要提出一种新的方法来解决上述问题。
发明内容
本发明提供一种用于HTML5浏览器的音视频播放方法及系统,用以解决现有技术中HTML5浏览器兼容导致音视频流无法实时播放的缺陷。
第一方面,本发明提供一种用于HTML5浏览器的音视频播放方法,包括:
接收HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;
将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
根据本发明提供的一种用于HTML5浏览器的音视频播放方法,所述接收HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接,包括:
接收所述HTML5客户端通过JavaScript API发起的连接请求,完成WebSocket连接;
接收所述HTML5客户端发送携带RTSP地址的文本消息,基于RTSP获取音视频流,向所述HTML5客户端发送音视频流播放文本消息,所述音视频流播放文本消息包括多功能因特网邮件扩展MIME字符串、编码器信息和视频大小信息。
根据本发明提供的一种用于HTML5浏览器的音视频播放方法,所述基于RTSP获取音视频流,包括:
向RTSP服务端发送RTSP描述命令,接收所述RTSP服务端响应携带会话描述协议SDP的描述信息;
基于所述描述信息确定媒体流接收端口,向所述媒体流接收端口发送RTSP建立命令,并向所述RTSP服务端反馈所述媒体流接收端口;
向所述RTSP服务端发送播放命令,接收所述RTSP服务端发送的所述音视频流;
向所述RTSP服务端发送结束命令,关闭所述WebSocket连接。
根据本发明提供的一种用于HTML5浏览器的音视频播放方法,所述基于所述描述信息确定媒体流接收端口,向所述媒体流接收端口发送RTSP建立命令,并向所述反馈所述媒体流接收端口,之后还包括:
向所述RTSP服务端发送预设操作命令,基于所述预设操作命令对所述音视频流进行预设操作。
根据本发明提供的一种用于HTML5浏览器的音视频播放方法,所述将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,包括:
接收所述HTML5客户端发送携带RTSP地址的文本消息,向所述HTML5客户端返回携带多功能因特网邮件扩展MIME字符串的文本消息,以供所述HTML5客户端进行MSE调用,保持所述WebSocket连接;
将所述音视频流进行格式转换,获得所述分片fMP4音视频流,基于fMP4封装格式发送所述分片fMP4音视频流至所述HTML5客户端;
接收所述HTML5客户端的WebSocket连接关闭请求,向所述RTSP服务端发送RTSP关闭请求,结束所述WebSocket连接。
第二方面,本发明还提供一种用于HTML5浏览器的音视频播放方法,包括:
向转码服务器发送连接请求,接收所述转码服务器建立的WebSocket连接;
接收所述转码服务器将获取的音视频流转化获得的分片fMP4音视频流,基于MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
根据本发明提供的一种用于HTML5浏览器的音视频播放方法,所述基于MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流,包括:
通过前端兼容性自查工具确定当前浏览器支持状况;
解析通过WebSocket事件回调函数接收的文本消息,获取MIME字符串,确定MSE是否支持所述MIME字符串对应的编码格式类型;
若判断所述MSE不支持所述编码格式类型,则关闭所述WebSocket连接,停止接收所述分片fMP4音视频流对应的二进制数据,否则,采用创建对象地址函数将所述分片fMP4音视频流和所述预设视频标签建立关联;
通过所述预设视频标签展示所述音视频流。
第三方面,本发明还提供一种用于HTML5浏览器的音视频播放系统,包括:
第一连接模块,用于接收超文本标记语言HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;
第一播放模块,用于将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用媒体资源扩展MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
第四方面,本发明还提供一种用于HTML5浏览器的音视频播放系统,包括:
第二连接模块,用于向转码服务器发送连接请求,接收所述转码服务器建立的WebSocket连接;
第二播放模块,用于接收所述转码服务器将获取的音视频流转化获得的分片fMP4音视频流,基于MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
第五方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述用于HTML5浏览器的音视频播放方法。
第六方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述用于HTML5浏览器的音视频播放方法。
第七方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述用于HTML5浏览器的音视频播放方法。
本发明提供的用于HTML5浏览器的音视频播放方法及系统,通过提出转码服务器和支持HTML5技术的浏览器构建的媒体流播放架构,解决了主流浏览器不支持RTSP协议播放视频流的问题,弥补当前主流SRS流媒体直播延时较大的不足,实现音视频播放的延时小和实时性高的特点。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的用于HTML5浏览器的音视频播放方法的流程示意图之一;
图2是本发明提供的HTML5前端媒体流处理流程图;
图3是本发明提供的WebSocket交互及处理流程图;
图4是本发明提供的转码服务器拉流流程图;
图5是本发明提供的用于HTML5浏览器的音视频播放方法的流程示意图之二;
图6是本发明提供的用于HTML5浏览器的音视频播放系统的结构示意图之一;
图7是本发明提供的用于HTML5浏览器的音视频播放系统的结构示意图之二;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中当前浏览器不支持RTSP协议播放视频流的问题,为弥补当前主流SRS流媒体直播延时较大的不足,本发明提出一种高实时性、低时延的视频播放方法,专门针对HTML5浏览器进行开发,包括两个部分:转码服务器和支持HTML5技术的浏览器,属于典型的BS架构。
图1是本发明提供的用于HTML5浏览器的音视频播放方法的流程示意图之一,对应的执行主体是转码服务器,如图1所示,包括:
步骤101,接收HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;
步骤102,将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
具体地,如图2所示的处理流程图,HTML5客户端向转码服务器发送连接请求,由转码服务器响应连接请求后建立与HTML5客户端的WebSocket连接,WebSocket是一种在单个TCP连接上进行全双工通信的协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,通过WebSocket API,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
待连接建立后,转码服务器从RTSP服务端获得的音视频流转化为分片fMP4(fragment MP4)音视频流,以WebSocket协议将转换后的码流发送给Web前端,即HTML5客户端,最后Web端以媒体资源扩展(Media Source Extension,MSE)协议对音视频流进行控制,通过HTML5客户端支持的预设视频标签<video>来显示视频。此处采用流的方式在Web前端展示音视频的方法,避免了<video>标签只能显示标准的视频文件的不足,同时发挥了以流方式显示音视频的高实时性、低延时性、以及高度兼容各HTML5浏览器的优点。
本发明由转码服务器实现了RTSP协议客户端功能,通过RTSP协议从支持RTSP协议的平台或者摄像头拉取标准的视频(H264/H265)流或语音(AAC/G711A/G711U等)流,将其转换成分片fMP4码流,以流的方式,通过WebSocket协议传输给HTML5浏览器,浏览器端以MSE技术为基础,实现视频流播放,能兼容当前所有支持HTML5标准的浏览器,有效避免了ActiveX控件的局限性。
基于上述实施例,步骤101包括:
接收所述HTML5客户端通过JavaScript API发起的连接请求,完成WebSocket连接;
接收所述HTML5客户端发送携带RTSP地址的文本消息,基于RTSP获取音视频流,向所述HTML5客户端发送音视频流播放文本消息,所述音视频流播放文本消息包括多功能因特网邮件扩展MIME字符串、编码器信息和视频大小信息。
具体地,在HTML5客户端与转码服务器建立连接时,涉及到将RTSP协议转换成WebSocket协议。
将HTML5客户端作为WebSocket客户端,作为消息请求的发起方;转码服务器作为WebSocket服务端,作为消息响应方,负责处理前端发送的各类控制消息。HTML5客户端和转码服务器端定义了一系列的控制消息,以JSON格式进行请求和响应。这些消息由两端定义的WebSocket回调事件函数on_message来接收和响应,其过程如图3所示:
首先,HTML5客户端通过JavaScript API向转码服务器发起连接请求,完成WebSocket连接;
其次,HTML5客户端通过WebSocket向转码器发送文本消息,此消息中包含需要拉流的RTSP地址,告知转码器需要从哪个摄像头去取流;
然后,转码服务器通过RTSP协议从指定的摄像头或者平台上拉取媒体流,即标准的AAC/G711A/G711U/G726、H264/H265音视频流,当接收到视频编码SPS帧(SequenceParamater Set)、PPS帧(Picture Paramater Set)、以及第一个关键帧(I帧,即IntraFrame)时,通过WebSocket向HTML5客户端页面发送文本消息,此消息包含有前端页面播放需要的多功能因特网邮件扩展(Multipurpose Internet Mail Extensions,MIME)、编码器信息、视频宽、高、帧率信息,通知HTML5页面音视频流可以进行播放;
最后,当HTML5客户端发出异常关闭WebSocket连接时,转码服务器将后续接收到的音视频帧转换成标准的fMP4文件流格式,以二进制消息的方式发送给HTML5客户端,经过一些列的处理后,在HTML5客户端页面上展示音视频。
本发明通过利用WebSocket的长连接特性,提高媒体流传输的实时性,减少了连接的频繁请求,降低了网络传输时延。
基于上述任一实施例,所述基于RTSP获取音视频流,包括:
向RTSP服务端发送RTSP描述命令,接收所述RTSP服务端响应携带会话描述协议SDP的描述信息;
基于所述描述信息确定媒体流接收端口,向所述媒体流接收端口发送RTSP建立命令,并向所述RTSP服务端反馈所述媒体流接收端口;
向所述RTSP服务端发送播放命令,接收所述RTSP服务端发送的所述音视频流;
向所述RTSP服务端发送结束命令,关闭所述WebSocket连接。
其中,所述基于所述描述信息确定媒体流接收端口,向所述媒体流接收端口发送RTSP建立命令,并向所述反馈所述媒体流接收端口,之后还包括:
向所述RTSP服务端发送预设操作命令,基于所述预设操作命令对所述音视频流进行预设操作。
具体地,由于RTSP是一个基于文本的多媒体播放控制协议,分为客户端和服务端。本实施例是以RTSP客户端方式工作,为流媒体提供实时放、历史播放、以及播放、暂停、快放和慢放等回放控制操作。RTSP本身并不用于传输流媒体数据,而是依赖下层传输协议(RTP/RTCP)来完成流媒体数据的传输,它只负责具体的信息控制、方法操作、状态码相应,以及描述与RTP/RTCP、TCP间的交互操作。
相应地,作为RTSP客户端,对应的拉流及转码流程如图4所示,包括:
首先,RTSP客户端连接到流服务器并发送RTSP描述命令,即DESCRIBE,RTSP服务端通过会话描述协议(Session Description Protocol,SDP)的描述消息来进行响应,响应消息包括流数量、媒体类型等信息;
其次,RTSP客户端对接收到的SDP描述进行分析,为每一路媒体流建立本地的网络接收端口,并为会话中的每一路媒体流发送一个RTSP建立命令,即SETUP,通知服务端本客户端用于接收媒体数据的端口,完成媒体流连接建立;
然后,RTSP客户端送一个播放命令(PLAY),服务器开始在已建立的网络通道上向客户端发送媒体流。如果是历史回放,在播放过程中客户端还可以向服务器发送命令(PLAY)来控制快放、慢放、拖动等操作,也可以发送暂停命令PAUSE来暂停播放;当RTSP客户端接收到标准的AAC/G711A/G711U、H264/H265标准音视频流时,转码服务器将这些标准的音视频码流转化成标准的fMP4文件流,再通过WebSocket协议发送到HTML5客户端页面进行展示;
最后,RTSP客户端通过发送一个终止命令TERADOWN来结束流媒体会话。
本发明通过RTSP客户端与服务端进行拉流与转码,既能支持实时流媒体的播放,又能对历史回放的视频进行灵活操作,实现了音视频流的高实时和低时延播放。
基于上述任一实施例,步骤102包括:
接收所述HTML5客户端发送携带RTSP地址的文本消息,向所述HTML5客户端返回携带多功能因特网邮件扩展MIME字符串的文本消息,以供所述HTML5客户端进行MSE调用,保持所述WebSocket连接;
将所述音视频流进行格式转换,获得所述分片fMP4音视频流,基于fMP4封装格式发送所述分片fMP4音视频流至所述HTML5客户端;
接收所述HTML5客户端的WebSocket连接关闭请求,向所述RTSP服务端发送RTSP关闭请求,结束所述WebSocket连接。
需要说明的是,本发明涉及的RTSP在HTML5浏览器播放音视频转码的方法,包括两个关键技术的转换,一个是协议的转化,即RTSP协议转换成WebSocket协议,在前述实施例已详细说明,另一个是媒体格式的转化,将标准的音视频流转换成分片fMP4码流。
具体地,本发明涉及的媒体流编码格式分两类:视频编码格式,主要是H264和H265编码器格式;音频编码格式,主要是AAC、G711A、G711U和G726编码器格式。将标准的音视频编码数据按规则添加一系列的Boxes,能生成普通的MP4文件,但HTML5的<video>标签存在一定的限制,不支持流的播放,只支持文件类型。如果直接将标准编码格式的媒体流生成MP4文件,然后以HTTP方式播放,就必须从头加载一个完成的MP4文件,不能从中间一段开始播放,这种方式最大的缺陷是延时大,且各段的MP4文件在播放时连贯性无法保障,也不好控制。
分片fMP4音视频流由一系列片段组成,如果服务器支持byte-range请求,这些片段可以独立的进行请求到客户端进行播放,而不需要加载整个文件。如果fMP4文件以流的方式给到HTML5浏览器,并能得到展示,将能很好的解决上述缺陷。
由于MSE技术能解决HTML5播放流的问题,而MSE技术能支持fMP4文件流的媒体格式流。
可以理解的是,MP4是MPEG-4Part 14规范来定义的,是MPEG标准中的14部分;而fMP4是基于MPEG-4Part 12的流媒体格式。MP4和fMP4最基本的单元都是Box,它们内部是由各个Box拼接而成的,存在很多相似之处,但也有一些区别:fMP4不需要一个moov Box进行Initialization片段,fMP4的moov Box只包含一些track信息;fMP4的音视频metadata信息与数据都存在一个一个的moof、mdat中,这是一种流式的封装格式。
如图2所示,待HTML5客户端与转码服务器建立WebSocket连接后,HTML5客户端向转码服务器发送带有RTSP地址的文本消息,此时,转码服务器已向RTSP服务端发送RTSP播放请求,待拉流成功后,转码服务器向HTML5客户端返回带有MIME、视频的宽、高和帧率等文本消息;
待HTML5客户端内部确认保持WebSocket连接后,转码服务器将音视频流进行格式转换后得到分片fMP4音视频流,对该分片fMP4音视频流进行格式封装,将封装后的分片fMP4音视频流发送至HTML5客户端进行播放;
待播放完毕,HTML5客户端向转码服务器发送WebSocket连接关闭请求,转码服务器接到该关闭请求后,进一步向RTSP服务端发送RTSP关闭请求命令TEARDOWN,结束WebSocket连接。
针对fMP4的封装要求,对音视频流封装过程如下:
首先,封装MSE能支持ftyp的Box,包含major_brand,本发明设置为isom协议;compatible_brands,本发明设置为isom、iso2、avc1、iso6、mp41协议;
然后,封装媒体流相关moov的Box及子类Box,包含视频相关的编码器、视频宽、高,以及VPS、SPS、PPS等数据;音频相关的编码器和编码器相关参数等,将这些信息提供给MSE来决定选用具体的解码器;
最后,对媒体流数据进行moof的Box及子类Box和mdat的Box封装,包括音视频的编码时间戳、Track Id、Sequence Number、媒体流数长度、媒体流数据等信息,将这些信息提供给MSE解码音视频流数据。
本发明通过对音视频媒体格式进行统一转化,形成分片fMP4码流,并进行格式封装,通过MSE支持传输媒体流。
图5是本发明提供的用于HTML5浏览器的音视频播放方法的流程示意图之二,对应的执行主体是HTML5客户端,如图5所示,包括:
步骤201,向转码服务器发送连接请求,接收所述转码服务器建立的WebSocket连接;
步骤202,接收所述转码服务器将获取的音视频流转化获得的分片fMP4音视频流,基于MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
具体地,HTML5客户端向转码服务器发送连接请求,由转码服务器响应连接请求后建立与HTML5客户端的WebSocket连接,WebSocket是一种在单个TCP连接上进行全双工通信的协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,通过WebSocket API,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
待连接建立后,转码服务器从RTSP服务端获得的音视频流转化为分片fMP4音视频流,以WebSocket协议将转换后的码流发送给Web前端,即HTML5客户端,最后Web端以媒体资源扩展(Media Source Extension,MSE)协议对音视频流进行控制,通过HTML5客户端支持的预设视频标签<video>来显示视频,整体流程图2所示。
本发明通过提出转码服务器和支持HTML5技术的浏览器构建的媒体流播放架构,解决了主流浏览器不支持RTSP协议播放视频流的问题,弥补当前主流SRS流媒体直播延时较大的不足,实现音视频播放的延时小和实时性高的特点。
基于上述实施例,步骤202包括:
通过前端兼容性自查工具确定当前浏览器支持状况;
解析通过WebSocket事件回调函数接收的文本消息,获取MIME字符串,确定MSE是否支持所述MIME字符串对应的编码格式类型;
若判断所述MSE不支持所述编码格式类型,则关闭所述WebSocket连接,停止接收所述分片fMP4音视频流对应的二进制数据,否则,采用创建对象地址函数将所述分片fMP4音视频流和所述预设视频标签建立关联;
通过所述预设视频标签展示所述音视频流。
具体地,本发明在HTML5浏览器应用MSE技术,实现音视频流在前端的播放。
MSE是W3C标准,是能被主流浏览器支持的新的Web API,允许JavaScript动态的构建<video>和<audio>的媒体流,定义了对象,允许JavaScript传输媒体流片段到一个HTMLMediaElement。通过使用MSE,可以动态地修改媒体流而不需要任何的插件,这让前端JavaScript可以做更多的事情,可以在JavaScript进行转封装、处理、甚至转码。虽然MSE不能让流直接传输到media tags上,但它提供了构建跨浏览器播放器的核心技术,让浏览器通过JavaScript API来推音视频到media tags上,fMP4是比较常用的视频封装格式。
通常,MSE支持三个具体的事件:
(1)sourceopen:绑定到媒体元素后开始触发;
(2)sourceclosed:未绑定到媒体元素后开始触发;
(3)sourceended:所有数据接收完成后触发。
MSE本身是不依赖任务特定的编解码和容器格式的,但是不同的浏览器支持程度是不一样的,可以通过传递MIME类型的字符串到静态方法:MediaSource.isTypeSupported来进行检查。
在本发明中,MSE调用流程包括:
首先,通过前端兼容性自查工具caniuse来检查浏览器是否支持的情况;
然后,对WebSocket回调事件函数on_message接收到的文本消息进行分析,解析接收到的MIME类型,通过MediaSource.isTypeSupported()检查MSE是否支持此编码格式类型;
进一步地,如果MSE不支持此编码格式,那么HTML5前端关闭WebSocket连接,不再接收后续的媒体流二进制数据;如果MSE支持此编码格式,那么就使用createObjectURL将MediaSource和video标签建立关联:先创建一个MediaSource对象mediaSource和<video>标签对象vid,然后将vid的属性src指向URL.createObjectURL()即vid.src=URL.createObjectURL(mediaSource)。
对mediaSourc添加监听事件:mediaSource.addEventListener('sourceopen',onMediaSourceOpen);对vid对象添加一个监听事件:vid.addEventListener("canplay",onCanPlay);在回调事件onMediaSourceOpen响应时,依据接收到MIME编码器信息创建一个sourceBuffer对象,设MIME为strMime,即:sourceBuffer=mediaSource.addSourceBuffer(strMime),并对sourceBuffer存储的媒体流片段的模式(segments:乱序排放;sequence:按序排放)强制设置为按序排放模式,即:sourceBuffer.mode=’sequence’,同时对sourceBuffer添加updateend事件,用来通知上层应用的媒体数据更新完成,可以显示音视频,即:
sourceBuffer.addEventListener('updateend',onUpdateEnd)。通过WebSocket接收到的媒体流数据,缓存到一个队列queue中,当mediaSource没有更新,且队列中有媒体数据(即mediaSource.updating为false,queue.length大于0)时,将队列中的媒体数据添加到sourceBuffer中,即:sourceBuffer.appendBuffer(queue.shift())。
最后,媒体流数据通过MSE关联的<video>展示音视频,当关闭WebSocket连接时,释放内存数据。
本发明的HTML5浏览器通过对MSE进行调用,实现视频流的播放,能兼容当前所有支持HTML5标准的浏览器,避免了ActiveX控件的局限性。
下面对本发明提供的用于HTML5浏览器的音视频播放系统进行描述,下文描述的用于HTML5浏览器的音视频播放系统与上文描述的用于HTML5浏览器的音视频播放方法可相互对应参照。
图6是本发明提供的用于HTML5浏览器的音视频播放系统的结构示意图之一,如图6所示,包括:第一连接模块61和第一播放模块62,其中:
第一连接模块61用于接收超文本标记语言HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;第一播放模块62用于将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用媒体资源扩展MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
本发明由转码服务器实现了RTSP协议客户端功能,通过RTSP协议从支持RTSP协议的平台或者摄像头拉取标准的视频(H264/H265)流或语音(AAC/G711A/G711U等)流,将其转换成分片fMP4码流,以流的方式,通过WebSocket协议传输给HTML5浏览器,浏览器端以MSE技术为基础,实现视频流播放,能兼容当前所有支持HTML5标准的浏览器,有效避免了ActiveX控件的局限性。
图7是本发明提供的用于HTML5浏览器的音视频播放系统的结构示意图之二,如图7所示,包括:第二连接模块71和第二播放模块72,其中:
第二连接模块71用于向转码服务器发送连接请求,接收所述转码服务器建立的WebSocket连接;第二播放模块72用于接收所述转码服务器将获取的音视频流转化获得的分片fMP4音视频流,基于MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
本发明通过提出转码服务器和支持HTML5技术的浏览器构建的媒体流播放架构,解决了主流浏览器不支持RTSP协议播放视频流的问题,弥补当前主流SRS流媒体直播延时较大的不足,实现音视频播放的延时小和实时性高的特点。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行用于HTML5浏览器的音视频播放方法,该方法包括:接收HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的用于HTML5浏览器的音视频播放方法,该方法包括:接收HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的用于HTML5浏览器的音视频播放方法,该方法包括:接收HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种用于HTML5浏览器的音视频播放方法,其特征在于,包括:
接收超文本标记语言HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;
将依据实时流协议RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用媒体资源扩展MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
2.根据权利要求1所述的用于HTML5浏览器的音视频播放方法,其特征在于,所述接收HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接,包括:
接收所述HTML5客户端通过JavaScript API发起的连接请求,完成WebSocket连接;
接收所述HTML5客户端发送携带RTSP地址的文本消息,基于RTSP获取音视频流,向所述HTML5客户端发送音视频流播放文本消息,所述音视频流播放文本消息包括多功能因特网邮件扩展MIME字符串、编码器信息和视频大小信息。
3.根据权利要求2所述的用于HTML5浏览器的音视频播放方法,其特征在于,所述基于RTSP获取音视频流,包括:
向RTSP服务端发送RTSP描述命令,接收所述RTSP服务端响应携带会话描述协议SDP的描述信息;
基于所述描述信息确定媒体流接收端口,向所述媒体流接收端口发送RTSP建立命令,并向所述RTSP服务端反馈所述媒体流接收端口;
向所述RTSP服务端发送播放命令,接收所述RTSP服务端发送的所述音视频流;
向所述RTSP服务端发送结束命令,关闭所述WebSocket连接。
4.根据权利要求3所述的用于HTML5浏览器的音视频播放方法,其特征在于,所述基于所述描述信息确定媒体流接收端口,向所述媒体流接收端口发送RTSP建立命令,并向所述反馈所述媒体流接收端口,之后还包括:
向所述RTSP服务端发送预设操作命令,基于所述预设操作命令对所述音视频流进行预设操作。
5.根据权利要求1所述的用于HTML5浏览器的音视频播放方法,其特征在于,所述将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,包括:
接收所述HTML5客户端发送携带RTSP地址的文本消息,向所述HTML5客户端返回携带多功能因特网邮件扩展MIME字符串的文本消息,以供所述HTML5客户端进行MSE调用,保持所述WebSocket连接;
将所述音视频流进行格式转换,获得所述分片fMP4音视频流,基于fMP4封装格式发送所述分片fMP4音视频流至所述HTML5客户端;
接收所述HTML5客户端的WebSocket连接关闭请求,向所述RTSP服务端发送RTSP关闭请求,结束所述WebSocket连接。
6.一种用于HTML5浏览器的音视频播放方法,其特征在于,包括:
向转码服务器发送连接请求,接收所述转码服务器建立的WebSocket连接;
接收所述转码服务器将获取的音视频流转化获得的分片fMP4音视频流,基于MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
7.根据权利要求6所述的用于HTML5浏览器的音视频播放方法,其特征在于,所述基于MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流,包括:
通过前端兼容性自查工具确定当前浏览器支持状况;
解析通过WebSocket事件回调函数接收的文本消息,获取MIME字符串,确定MSE是否支持所述MIME字符串对应的编码格式类型;
若判断所述MSE不支持所述编码格式类型,则关闭所述WebSocket连接,停止接收所述分片fMP4音视频流对应的二进制数据,否则,采用创建对象地址函数将所述分片fMP4音视频流和所述预设视频标签建立关联;
通过所述预设视频标签展示所述音视频流。
8.一种用于HTML5浏览器的音视频播放系统,其特征在于,包括:
第一连接模块,用于接收超文本标记语言HTML5客户端的连接请求,建立与所述HTML5客户端的WebSocket连接;
第一播放模块,用于将依据RTSP协议获取的音视频流转化为分片fMP4音视频流,基于WebSocket协议发送所述分片fMP4音视频流至所述HTML5客户端,以供所述HTML5客户端采用媒体资源扩展MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
9.一种用于HTML5浏览器的音视频播放系统,其特征在于,包括:
第二连接模块,用于向转码服务器发送连接请求,接收所述转码服务器建立的WebSocket连接;
第二播放模块,用于接收所述转码服务器将获取的音视频流转化获得的分片fMP4音视频流,基于MSE协议调用所述分片fMP4音视频流,并基于预设视频标签展示所述分片fMP4音视频流。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述用于HTML5浏览器的音视频播放方法。
CN202210307719.4A 2022-03-25 2022-03-25 一种用于html5浏览器的音视频播放方法及系统 Active CN114745361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210307719.4A CN114745361B (zh) 2022-03-25 2022-03-25 一种用于html5浏览器的音视频播放方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210307719.4A CN114745361B (zh) 2022-03-25 2022-03-25 一种用于html5浏览器的音视频播放方法及系统

Publications (2)

Publication Number Publication Date
CN114745361A true CN114745361A (zh) 2022-07-12
CN114745361B CN114745361B (zh) 2024-05-14

Family

ID=82277320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210307719.4A Active CN114745361B (zh) 2022-03-25 2022-03-25 一种用于html5浏览器的音视频播放方法及系统

Country Status (1)

Country Link
CN (1) CN114745361B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115589399A (zh) * 2022-10-11 2023-01-10 北京太格时代自动化系统设备有限公司 变电所辅助监控视频远程播放方法和装置
CN115942001A (zh) * 2022-12-01 2023-04-07 青岛民航凯亚系统集成有限公司 空港监管跨平台的视频转码推流方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176087A (zh) * 2005-03-23 2008-05-07 阿尔卡特朗讯公司 从网络节点实现对数字多媒体内容的播放列表搜索的系统和方法
US20090144438A1 (en) * 2007-11-30 2009-06-04 General Instrument Corporation Standards enabled media streaming
KR20170114218A (ko) * 2016-04-04 2017-10-13 한화테크윈 주식회사 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
US20180131741A1 (en) * 2016-11-07 2018-05-10 Hanwha Techwin Co., Ltd. Adaptive media streaming method and apparatus according to decoding performance
CN108337528A (zh) * 2018-01-17 2018-07-27 浙江大华技术股份有限公司 一种预览视频的方法及设备
CN108718416A (zh) * 2018-06-15 2018-10-30 深圳市安佳威视信息技术有限公司 Html5直播嵌入式摄像机音视频系统及其方法
KR20190030039A (ko) * 2017-09-13 2019-03-21 한화테크윈 주식회사 웹소켓을 이용하여 중간 서버를 경유하는 미디어 스트리밍 방법
WO2020097857A1 (zh) * 2018-11-15 2020-05-22 北京比特大陆科技有限公司 一种媒体流处理方法及装置、存储介质及程序产品
CN111683293A (zh) * 2020-05-31 2020-09-18 杭州视在数科信息技术有限公司 一种基于http-flv协议的跨浏览器播放h.265视频的方法
CN112653700A (zh) * 2020-12-23 2021-04-13 武汉烽火众智数字技术有限责任公司 一种基于webrtc网页视频通信的方法
CN113556579A (zh) * 2021-06-07 2021-10-26 武汉众智数字技术有限公司 一种基于HTML5的web无插件播放安防实时视频的方法
CN113938470A (zh) * 2021-10-18 2022-01-14 成都小步创想慧联科技有限公司 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器
CN114095485A (zh) * 2021-11-17 2022-02-25 广西栩天信息技术有限公司 一种前端解码的Web浏览器流媒体播放技术

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176087A (zh) * 2005-03-23 2008-05-07 阿尔卡特朗讯公司 从网络节点实现对数字多媒体内容的播放列表搜索的系统和方法
US20090144438A1 (en) * 2007-11-30 2009-06-04 General Instrument Corporation Standards enabled media streaming
KR20170114218A (ko) * 2016-04-04 2017-10-13 한화테크윈 주식회사 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
US20180131741A1 (en) * 2016-11-07 2018-05-10 Hanwha Techwin Co., Ltd. Adaptive media streaming method and apparatus according to decoding performance
KR20190030039A (ko) * 2017-09-13 2019-03-21 한화테크윈 주식회사 웹소켓을 이용하여 중간 서버를 경유하는 미디어 스트리밍 방법
CN108337528A (zh) * 2018-01-17 2018-07-27 浙江大华技术股份有限公司 一种预览视频的方法及设备
CN108718416A (zh) * 2018-06-15 2018-10-30 深圳市安佳威视信息技术有限公司 Html5直播嵌入式摄像机音视频系统及其方法
WO2020097857A1 (zh) * 2018-11-15 2020-05-22 北京比特大陆科技有限公司 一种媒体流处理方法及装置、存储介质及程序产品
CN111683293A (zh) * 2020-05-31 2020-09-18 杭州视在数科信息技术有限公司 一种基于http-flv协议的跨浏览器播放h.265视频的方法
CN112653700A (zh) * 2020-12-23 2021-04-13 武汉烽火众智数字技术有限责任公司 一种基于webrtc网页视频通信的方法
CN113556579A (zh) * 2021-06-07 2021-10-26 武汉众智数字技术有限公司 一种基于HTML5的web无插件播放安防实时视频的方法
CN113938470A (zh) * 2021-10-18 2022-01-14 成都小步创想慧联科技有限公司 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器
CN114095485A (zh) * 2021-11-17 2022-02-25 广西栩天信息技术有限公司 一种前端解码的Web浏览器流媒体播放技术

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115589399A (zh) * 2022-10-11 2023-01-10 北京太格时代自动化系统设备有限公司 变电所辅助监控视频远程播放方法和装置
CN115589399B (zh) * 2022-10-11 2023-06-27 北京太格时代电气股份有限公司 变电所辅助监控视频远程播放方法和装置
CN115942001A (zh) * 2022-12-01 2023-04-07 青岛民航凯亚系统集成有限公司 空港监管跨平台的视频转码推流方法

Also Published As

Publication number Publication date
CN114745361B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
US10187668B2 (en) Method, system and server for live streaming audio-video file
US20220263885A1 (en) Adaptive media streaming method and apparatus according to decoding performance
CN108337528B (zh) 一种预览视频的方法及设备
US20160119399A1 (en) Extending browser support of real time media to any available codec
US10567809B2 (en) Selective media playing method and apparatus according to live streaming and recorded streaming
US20150256600A1 (en) Systems and methods for media format substitution
US10862940B1 (en) Low latency live video on a communication session
US10979785B2 (en) Media playback apparatus and method for synchronously reproducing video and audio on a web browser
CN110661752A (zh) 一种无插件实时视频播放系统及方法
CN114745361B (zh) 一种用于html5浏览器的音视频播放方法及系统
US20160029002A1 (en) Platform-agnostic Video Player For Mobile Computing Devices And Desktop Computers
US11968431B2 (en) Multimedia content delivery with reduced delay
US20130198342A1 (en) Media format negotiation mechanism delivering client device media capabilities to a server
US11259096B2 (en) HTML5-based audio/video playing method and apparatus, and live audio/video streaming method and system
CN101600092A (zh) 网络视频录像的生成和播放方法及系统
WO2021143360A1 (zh) 资源传输方法及计算机设备
CN107197386A (zh) 一种无客户端的跨平台视频播放实现方法
KR20180086113A (ko) 웹 브라우저 상에서 비디오와 오디오를 동기화하여 재생하는 미디어 재생 장치 및 방법
CN113938470A (zh) 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器
WO2016205768A1 (en) Media-timed web interactions
KR20150092928A (ko) 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
KR101164746B1 (ko) 실시간 스트리밍 프로토콜을 기반으로 한 동영상 재생 서비스에서 동영상 재생 지연 보상 시스템 및 방법
US11706275B2 (en) Media streaming
US11716503B2 (en) Method for managing multimedia content, and device for carrying out said method
US20210021659A1 (en) Delivery apparatus, delivery method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant