CN112738637A - web页面实时视频播放方法、装置和计算机设备 - Google Patents
web页面实时视频播放方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN112738637A CN112738637A CN202011590187.7A CN202011590187A CN112738637A CN 112738637 A CN112738637 A CN 112738637A CN 202011590187 A CN202011590187 A CN 202011590187A CN 112738637 A CN112738637 A CN 112738637A
- Authority
- CN
- China
- Prior art keywords
- code stream
- video
- video code
- proxy server
- format
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000006243 chemical reaction Methods 0.000 claims abstract description 16
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种web页面实时视频播放方法、装置、计算机设备和存储介质。该方法包括:实时获取视频拍摄设备拍摄的视频码流;对视频码流的编码格式进行分析,确定视频码流的编码格式;当视频码流的编码格式不是H264编码格式时,将视频码流发送至转码服务器,使转码服务器对视频码流进行格式转换;获取转码服务器返回的转换后的视频码流;根据转换后的视频码流的视频标识,将转换后的视频码流存储于存储区中;当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据视频获取请求中携带的视频标识,从存储区中获取对应的视频码流向代理服务器发送,使代理服务器对视频码流进行封装后发送至终端的web页面播放。提高web页面播放视频的兼容性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种web页面实时视频播放方法、装置、计算机设备和存储介质。
背景技术
现阶段浏览相机的实时视频还主要体现在各厂家提供的传统的CS端(客户端/服务端)、带控件的BS端(浏览器端/服务端)这种方式。传统的CS端方式延迟小、视频画面清晰,能满足绝大多数用户浏览相机实时视频的要求;传统的BS端对浏览器要求高,除特定厂家及特定版本的浏览器支持之外,其他厂家浏览器或其他设备浏览器现阶段还无法观看相机实时视频。
随着用户对视频的实时性、易用性、兼容性、多平台性等多方面的要求越来越高,传统的CS端、BS端都满足不了要求,而BS端天生具有易开发、多平台及兼容性优势,越来越多的企业转向BS架构开发,但BS端视频播放的实时性及性能达不到CS端水平,尤其实时性。在这种情况下,许多厂家开发出自己的BS实时视频播放技术,主流的Web实时视频播放技术主要有RTMP、HLS、HTTP-FLV等。
而目前Web实时视频播放技术的兼容性差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决Web实时视频播放技术的兼容性差的web页面实时视频播放方法、装置、计算机设备和存储介质。
一种web页面实时视频播放方法,所述方法包括:
实时获取视频拍摄设备拍摄的视频码流;
对所述视频码流的编码格式进行分析,确定所述视频码流的编码格式;
当所述视频码流的编码格式不是H264编码格式时,将所述视频码流发送至转码服务器,使所述转码服务器对所述视频码流进行格式转换;
获取所述转码服务器返回的转换后的视频码流;
根据所述转换后的视频码流的视频标识,将所述转换后的视频码流存储于存储区中;
当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据所述视频获取请求中携带的视频标识,从所述存储区中获取对应的视频码流向所述代理服务器发送,使所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放。
在其中一个实施例中,所述方法还包括:
当所述视频码流的编码格式是H264编码格式时,将所述视频码流存储于存储区中。
在其中一个实施例中,所述转码服务器对所述视频码流进行格式转换的方式包括:
所述转码服务器对接收到的视频码流进行解码,获得YUV格式的数据;
采用H264视频编码格式对所述YUV格式的数据进行编码,获得转换后的视频码流。
在其中一个实施例中,所述对所述视频码流的编码格式进行分析,确定所述视频码流的编码格式的步骤,包括:
提取所述视频码流的类型数据;
根据所述类型数据进行分析,确定所述视频码流的编码格式。
在其中一个实施例中,所述当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据所述视频获取请求中携带的视频标识,从所述存储区中获取对应的视频码流向所述代理服务器发送,使所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放的步骤,包括:
当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,与所述代理服务器建立数据传输连接,并获取所述视频获取请求中携带的视频标识;
在与所述代理服务器建立数据传输连接的当前保活周期内,根据所述视频标识从所述存储区中实时获取对应的视频码流;
实时向所述代理服务器发送所述视频码流,使所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放。
在其中一个实施例中,当超过与所述代理服务器建立数据传输连接的当前保活周期时,停止从所述存储区中实时获取对应的视频码流,并停止向所述代理服务器发送视频码流。
在其中一个实施例中,所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放的方式,包括:
所述代理服务器对所述视频码流进行封装,获得FMP4格式码流;
所述代理服务器基于与所述终端建立的websocket连接,向所述终端实时发送所述FMP4格式码流,使所述终端通过MSE实时在web页面播放所述FMP4格式码流。
一种web页面实时视频播放装置,所述装置包括:
第一获取模块,用于实时获取视频拍摄设备拍摄的视频码流;
格式分析模块,用于对所述视频码流的编码格式进行分析,确定所述视频码流的编码格式;
格式转换模块,用于当所述视频码流的编码格式不是H264编码格式时,将所述视频码流发送至转码服务器,使所述转码服务器对所述视频码流进行格式转换;
第二获取模块,用于获取所述转码服务器返回的转换后的视频码流;
存储模块,用于根据所述转换后的视频码流的视频标识,将所述转换后的视频码流存储于存储区中;
发送模块,用于当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据所述视频获取请求中携带的视频标识,从所述存储区中获取对应的视频码流向所述代理服务器发送,使所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。
上述web页面实时视频播放方法、装置、计算机设备和存储介质,通过实时获取视频拍摄设备拍摄的视频码流;对视频码流的编码格式进行分析,确定视频码流的编码格式;当视频码流的编码格式不是H264编码格式时,将视频码流发送至转码服务器,使转码服务器对视频码流进行格式转换;获取转码服务器返回的转换后的视频码流;根据转换后的视频码流的视频标识,将转换后的视频码流存储于存储区中;当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据视频获取请求中携带的视频标识,从存储区中获取对应的视频码流向代理服务器发送,使代理服务器对视频码流进行封装后发送至终端的web页面播放。提高了web页面上实时播放视频的兼容性。
附图说明
图1为一个实施例中web页面实时视频播放方法的流程示意图;
图2为一个实施例中web页面实时视频播放装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种web页面实时视频播放方法,以应用于媒流体服务器为例,包括以下步骤:
步骤S220,实时获取视频拍摄设备拍摄的视频码流。
其中,视频拍摄设备是拍摄视频的设备,可以是摄像机、监控摄像头等。视频码流是视频拍摄设备拍摄的视频数据,可以是H264编码格式的视频码流,也可以是H265编码格式的视频码流,也可以是其他各种编码格式的视频码流。
步骤S240,对视频码流的编码格式进行分析,确定视频码流的编码格式。
在一个实施例中,对视频码流的编码格式进行分析,确定视频码流的编码格式的步骤,包括:提取视频码流的类型数据;根据类型数据进行分析,确定视频码流的编码格式。
其中,类型数据是指用于标识视频码流编码格式的数据,类型数据可以是I帧、P帧和NALU类型帧等。
步骤S260,当视频码流的编码格式不是H264编码格式时,将视频码流发送至转码服务器,使转码服务器对视频码流进行格式转换。
其中,转码服务器接收到视频码流时,对不是H264编码格式的视频码流进行格式转换,将对不是H264编码格式的视频码流转换为H264编码格式的视频码流。当视频码流的编码格式是H264编码格式时,将是H264编码格式的视频码流存储于存储区中。
在一个实施例中,转码服务器对视频码流进行格式转换的方式包括:转码服务器对接收到的视频码流进行解码,获得YUV格式的数据;采用H264视频编码格式对YUV格式的数据进行编码,获得转换后的视频码流。
其中,YUV格式的数据相当于一张一张的图片。转换后的视频码流为H264编码格式的视频码流。
步骤S280,获取转码服务器返回的转换后的视频码流。
其中,转码服务器对不是H264编码格式的视频码流转换为H264编码格式的视频码流后,发送回媒流体服务器。
步骤S300,根据转换后的视频码流的视频标识,将转换后的视频码流存储于存储区中。
其中,存储区用于存储各视频拍摄设备拍摄的视频码流,每个视频拍摄设备拍摄的视频码流通过视频标识区分,视频标识出来区分各视频拍摄设备拍摄的视频码流以外,还可以区分同一视频拍摄设备中不同时间拍摄的视频码流。
步骤S320,当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据视频获取请求中携带的视频标识,从存储区中获取对应的视频码流向代理服务器发送,使代理服务器对视频码流进行封装后发送至终端的web页面播放。
其中,代理服务器用于接收终端发送的播放请求,根据播放请求向流媒体服务器获取视频码流进行封装后发送至终端的web页面播放。终端是用户用于观看视频的终端,用户通过终端打开播放视频的web页面,检测打开web页面的浏览器是否支持MSE媒体源扩展,支持MSE媒体源扩展时,向代理服务器发送连接请求,与代理服务器建立WebSocket连接,WebSocket连接建立好后,基于web页面向代理服务器发送的播放请求,在获取到代理服务器发送的视频码流时,通过MSE在web页面上播放该视频码流。通过终端与代理服务器建立的WebSocket连接,可以使终端获取到的连续流,不需要分片写盘,减少磁盘碎片的产生,降低了视频播放延迟时长;通过MSE在web页面上播放视频码流无需依赖插件和Flash,提高了播放实时视频的成功率。
在一个实施例中,当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据视频获取请求中携带的视频标识,从存储区中获取对应的视频码流向代理服务器发送,使代理服务器对视频码流进行封装后发送至终端的web页面播放的步骤,包括:当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,与代理服务器建立数据传输连接,并获取视频获取请求中携带的视频标识;在与代理服务器建立数据传输连接的当前保活周期内,根据视频标识从存储区中实时获取对应的视频码流;实时向代理服务器发送视频码流,使代理服务器对视频码流进行封装后发送至终端的web页面播放。
其中,代理服务器在向流媒体服务器视频获取请求时,与代理服务器建立数据传输连接,建立好连接后,定期发送保活消息,确定连接可用(即在当前保活周期内),在确定连接可用的情况下,流媒体服务器就会持续推送视频码流给代理服务器。当超过与代理服务器建立数据传输连接的当前保活周期时(即连接不可用时),停止从存储区中实时获取对应的视频码流,并停止向代理服务器发送视频码流,如:终端停止播放时,代理服务器会收到终端的发送的停止播放指令,从而停止从流媒体服务器获取视频码流,从而不再发送保活消息,连接则不可用,流媒体服务器则不推送视频码流给代理服务器。
在一个实施例中,代理服务器对视频码流进行封装后发送至终端播放的方式,包括:
代理服务器对视频码流进行封装,获得FMP4格式码流;代理服务器基于与终端建立的websocket连接,向终端实时发送FMP4格式码流,使终端通过MSE实时在web页面播放FMP4格式码流。
其中,代理服务器接收终端的播放请求,代表终端向实际流媒体服务器请求视频码流,具有内网穿越功能;封装视频码流成FMP4格式,FMP4格式实际是多个MP4码流格式片段,返回给终端。
代理服务器的创建步骤:
1、使用python socket模块创建套接字,绑定端口并监听,然后等待连接。代码如下:
/*
socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None)方法使用给定的地址族、套接字类型、协议编号(默认为0)来创建套接字
参数解释
AF_INET:IPV4网络协议的套接字类型
SOCK_STREAM:TCP流式socket
*/
self.socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
/*
setsockopt(level,optname,value:int)方法用于设置套接字关联选项
参数解释
level:设置选项级别,SOL_SOCKET用于在套接字上设置选项optname:指定准备设置的选项名称,SO_REUSEADDR打开或关闭地址复用功能,值不等于0时为打开,否则为关闭
value:要设置参数名称的值
*/
self.socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUS EADDR,1)
/*
bind((host,port))方法用于设置套接字绑定的地址和端口
参数解释
host:绑定的地址
port:绑定的端口
*/
self.socket.bind(("0.0.0.0",self.port))
/*
listen(backlog)方法用于开始监听TCP传入连接
参数解释:
backlog:指定在拒绝连接之前,操作系统可以挂起的最大连接数量
*/
self.socket.listen(50)
while True:
/*
accept()方法接受TCP连接并返回(connection,address),其中connection是新的套接字对象,可以用来接收和发送数据。address是连接客户端的地址。
*/
connection,address=self.socket.accept()
……
2、创建代理服务器。代码如下:
/*
自定义的WebSocket类的实例化
参数解释
connection:传入的套接字对象
address:建立套接字连接的远端ip地址
self.log:是否开启日志
self.timeout:超时时间,单位秒
self.rtspPrefix:rtsp Url的前缀
*/
newSocket=WebSocket(connection,address,self.log,self.timeout,self.rtspPrefix)
/*
开启自定义WebSocket线程方法
*/
newSocket.start()
其中,当有终端请求连接时将会开启一个单独线程处理请求,这个线程功能:⑴与终端建立WebSocket连接;⑵处理终端的视频播放请求的打开、关闭,打开:创建一个发送视频码流的线程,开始从流媒体服务器拉去视频码流通过WebSocket连接推流给终端的Web页面播放,关闭:结束拉流视频码流并关闭发送视频码流的线程。
终端HTML5视频播放器的创建,用HTML5<video>标签创建HTML5播放器,用于实时播放从代理服务器接收的视频码流。<video>标签中src属性不是具体的视频文件,而是URL.createObjectURL()创建的对象,如“blob:http://localhost:8080/43b3a00b-9b0d-45da-996a-3d2a7496acd0”。
MSE(Media Source Extentions,媒体源扩展技术)提供了实现无插件且基于Web的流媒体的功能,使用MSE,视频码流能够通过JavaScript创建,并且能通过HTML5<video>元素将流媒体服务器实时转发过来的视频码流按MSE技术标准串流实现视频播放。
其中,终端通过MSE实时在web页面播放FMP4格式码流的方式为:接收的代理服务器发送的视频码流存放在缓冲区中,通过MSE实时从所述缓冲区中读取视频片段(即视频码流)导入video标签中;通过所述video标签播放视频片段(即视频码流)。
上述web页面实时视频播放方法,通过实时获取视频拍摄设备拍摄的视频码流;对视频码流的编码格式进行分析,确定视频码流的编码格式;当视频码流的编码格式不是H264编码格式时,将视频码流发送至转码服务器,使转码服务器对视频码流进行格式转换;获取转码服务器返回的转换后的视频码流;根据转换后的视频码流的视频标识,将转换后的视频码流存储于存储区中;当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据视频获取请求中携带的视频标识,从存储区中获取对应的视频码流向代理服务器发送,使代理服务器对视频码流进行封装后发送至终端的web页面播放。提高了的web页面上实时播放视频的兼容性,且通过代理服务器对视频码流进行封装,降低了终端的性能要求。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种web页面实时视频播放装置,包括:第一获取模块310、格式分析模块320、格式转换模块330、第二获取模块340、存储模块350和发送模块360,其中:
第一获取模块310,用于实时获取视频拍摄设备拍摄的视频码流;
格式分析模块320,用于对视频码流的编码格式进行分析,确定视频码流的编码格式;
格式转换模块330,用于当视频码流的编码格式不是H264编码格式时,将视频码流发送至转码服务器,使转码服务器对视频码流进行格式转换;
第二获取模块340,用于获取转码服务器返回的转换后的视频码流;
存储模块350,用于根据转换后的视频码流的视频标识,将转换后的视频码流存储于存储区中;
发送模块360,用于当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据视频获取请求中携带的视频标识,从存储区中获取对应的视频码流向代理服务器发送,使代理服务器对视频码流进行封装后发送至终端的web页面播放。
在一个实施例中,存储模块350还用于:当视频码流的编码格式是H264编码格式时,将视频码流存储于存储区中。
在一个实施例中,格式分析模块320还用于:提取视频码流的类型数据;根据类型数据进行分析,确定视频码流的编码格式。
在一个实施例中,发送模块360还用于:当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,与代理服务器建立数据传输连接,并获取视频获取请求中携带的视频标识;在与代理服务器建立数据传输连接的当前保活周期内,根据视频标识从存储区中实时获取对应的视频码流;实时向代理服务器发送视频码流,使代理服务器对视频码流进行封装后发送至终端的web页面播放。
在一个实施例中,发送模块360还用于:当超过与代理服务器建立数据传输连接的当前保活周期时,停止从存储区中实时获取对应的视频码流,并停止向代理服务器发送视频码流。
关于web页面实时视频播放装置的具体限定可以参见上文中对于web页面实时视频播放方法的限定,在此不再赘述。上述web页面实时视频播放装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,处理器执行计算机程序时实现上述web页面实时视频播放方法的步骤。
在一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的web页面实时视频播放方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种web页面实时视频播放方法,其特征在于,所述方法包括:
实时获取视频拍摄设备拍摄的视频码流;
对所述视频码流的编码格式进行分析,确定所述视频码流的编码格式;
当所述视频码流的编码格式不是H264编码格式时,将所述视频码流发送至转码服务器,使所述转码服务器对所述视频码流进行格式转换;
获取所述转码服务器返回的转换后的视频码流;
根据所述转换后的视频码流的视频标识,将所述转换后的视频码流存储于存储区中;
当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据所述视频获取请求中携带的视频标识,从所述存储区中获取对应的视频码流向所述代理服务器发送,使所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述视频码流的编码格式是H264编码格式时,将所述视频码流存储于存储区中。
3.根据权利要求1所述的方法,其特征在于,所述转码服务器对所述视频码流进行格式转换的方式包括:
所述转码服务器对接收到的视频码流进行解码,获得YUV格式的数据;
采用H264视频编码格式对所述YUV格式的数据进行编码,获得转换后的视频码流。
4.根据权利要求1所述的方法,其特征在于,所述对所述视频码流的编码格式进行分析,确定所述视频码流的编码格式的步骤,包括:
提取所述视频码流的类型数据;
根据所述类型数据进行分析,确定所述视频码流的编码格式。
5.根据权利要求1所述的方法,其特征在于,所述当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据所述视频获取请求中携带的视频标识,从所述存储区中获取对应的视频码流向所述代理服务器发送,使所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放的步骤,包括:
当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,与所述代理服务器建立数据传输连接,并获取所述视频获取请求中携带的视频标识;
在与所述代理服务器建立数据传输连接的当前保活周期内,根据所述视频标识从所述存储区中实时获取对应的视频码流;
实时向所述代理服务器发送所述视频码流,使所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放。
6.根据权利要求5所述的方法,其特征在于,当超过与所述代理服务器建立数据传输连接的当前保活周期时,停止从所述存储区中实时获取对应的视频码流,并停止向所述代理服务器发送视频码流。
7.根据权利要求1或5所述的方法,其特征在于,所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放的方式,包括:
所述代理服务器对所述视频码流进行封装,获得FMP4格式码流;
所述代理服务器基于与所述终端建立的websocket连接,向所述终端实时发送所述FMP4格式码流,使所述终端通过MSE实时在web页面播放所述FMP4格式码流。
8.一种web页面实时视频播放装置,其特征在于,所述装置包括:
第一获取模块,用于实时获取视频拍摄设备拍摄的视频码流;
格式分析模块,用于对所述视频码流的编码格式进行分析,确定所述视频码流的编码格式;
格式转换模块,用于当所述视频码流的编码格式不是H264编码格式时,将所述视频码流发送至转码服务器,使所述转码服务器对所述视频码流进行格式转换;
第二获取模块,用于获取所述转码服务器返回的转换后的视频码流;
存储模块,用于根据所述转换后的视频码流的视频标识,将所述转换后的视频码流存储于存储区中;
发送模块,用于当接收到代理服务器根据终端发送的播放请求发送的视频获取请求时,根据所述视频获取请求中携带的视频标识,从所述存储区中获取对应的视频码流向所述代理服务器发送,使所述代理服务器对所述视频码流进行封装后发送至终端的web页面播放。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011590187.7A CN112738637A (zh) | 2020-12-29 | 2020-12-29 | web页面实时视频播放方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011590187.7A CN112738637A (zh) | 2020-12-29 | 2020-12-29 | web页面实时视频播放方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112738637A true CN112738637A (zh) | 2021-04-30 |
Family
ID=75607801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011590187.7A Pending CN112738637A (zh) | 2020-12-29 | 2020-12-29 | web页面实时视频播放方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738637A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113938470A (zh) * | 2021-10-18 | 2022-01-14 | 成都小步创想慧联科技有限公司 | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 |
CN114020678A (zh) * | 2021-11-10 | 2022-02-08 | 网易(杭州)网络有限公司 | 服务器串行控制台重定向方法、装置、系统以及电子设备 |
CN115002543A (zh) * | 2021-12-23 | 2022-09-02 | 荣耀终端有限公司 | 视频分享方法、电子设备、存储介质及程序产品 |
CN115243102A (zh) * | 2022-09-21 | 2022-10-25 | 天讯瑞达通信技术有限公司 | 基于Web技术的视频播放方法、装置、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108092995A (zh) * | 2018-01-12 | 2018-05-29 | 珠海市杰理科技股份有限公司 | 流媒体数据处理方法、装置、计算机设备和存储介质 |
CN108881944A (zh) * | 2018-06-14 | 2018-11-23 | 贵州大学 | 一种流媒体加速发布方法与系统 |
CN110933482A (zh) * | 2019-12-06 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 视频加载方法、装置、计算机可读存储介质和计算机设备 |
CN111107391A (zh) * | 2020-01-16 | 2020-05-05 | 深圳市信义科技有限公司 | 一种基于分布式的web无插件视频直播方法 |
CN111372128A (zh) * | 2020-03-11 | 2020-07-03 | 北京旷视科技有限公司 | 视频播放的方法、装置、计算机设备及可读存储介质 |
CN111901630A (zh) * | 2020-06-17 | 2020-11-06 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
-
2020
- 2020-12-29 CN CN202011590187.7A patent/CN112738637A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108092995A (zh) * | 2018-01-12 | 2018-05-29 | 珠海市杰理科技股份有限公司 | 流媒体数据处理方法、装置、计算机设备和存储介质 |
CN108881944A (zh) * | 2018-06-14 | 2018-11-23 | 贵州大学 | 一种流媒体加速发布方法与系统 |
CN110933482A (zh) * | 2019-12-06 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 视频加载方法、装置、计算机可读存储介质和计算机设备 |
CN111107391A (zh) * | 2020-01-16 | 2020-05-05 | 深圳市信义科技有限公司 | 一种基于分布式的web无插件视频直播方法 |
CN111372128A (zh) * | 2020-03-11 | 2020-07-03 | 北京旷视科技有限公司 | 视频播放的方法、装置、计算机设备及可读存储介质 |
CN111901630A (zh) * | 2020-06-17 | 2020-11-06 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、终端设备和存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113938470A (zh) * | 2021-10-18 | 2022-01-14 | 成都小步创想慧联科技有限公司 | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 |
CN113938470B (zh) * | 2021-10-18 | 2023-09-12 | 成都小步创想慧联科技有限公司 | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 |
CN114020678A (zh) * | 2021-11-10 | 2022-02-08 | 网易(杭州)网络有限公司 | 服务器串行控制台重定向方法、装置、系统以及电子设备 |
CN114020678B (zh) * | 2021-11-10 | 2024-05-28 | 网易(杭州)网络有限公司 | 服务器串行控制台重定向方法、装置、系统以及电子设备 |
CN115002543A (zh) * | 2021-12-23 | 2022-09-02 | 荣耀终端有限公司 | 视频分享方法、电子设备、存储介质及程序产品 |
CN115243102A (zh) * | 2022-09-21 | 2022-10-25 | 天讯瑞达通信技术有限公司 | 基于Web技术的视频播放方法、装置、设备以及存储介质 |
CN115243102B (zh) * | 2022-09-21 | 2023-02-28 | 天讯瑞达通信技术有限公司 | 基于Web技术的视频播放方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112738637A (zh) | web页面实时视频播放方法、装置和计算机设备 | |
CN107222484B (zh) | 支持多协议输入和输出的流媒体服务器系统 | |
RU2487484C2 (ru) | Потоковый медиа-сервер, клиентский терминал, способ и система для загрузки потоковых мультимедийных данных | |
US10972519B2 (en) | Real-time video streaming to client video element | |
US10021318B2 (en) | Method and apparatus in a motion video capturing system | |
CN102761456B (zh) | 一种获得移动终端浏览器性能参数的方法、装置及系统 | |
CN106791931B (zh) | 一种数据流转码的方法及设备 | |
US10554773B2 (en) | Adaptive persistent push | |
CN108200447B (zh) | 直播数据传输方法、装置、电子设备、服务器及存储介质 | |
CN111147947B (zh) | 一种基于websocket的flv视频传输及网页播放的方法 | |
CN111770067B (zh) | 一种基于物联网的安防视频采集方法、设备及系统 | |
US8375143B2 (en) | Method of transcoding content, transcoder unit, and UPnP network system | |
JP2015518325A (ja) | ストリーミング・メディア・コンテンツのリアルタイム・トランスマックス変換の方法およびシステム | |
CN111372128A (zh) | 视频播放的方法、装置、计算机设备及可读存储介质 | |
US20160248884A1 (en) | Redirection in a Content Delivery Network | |
CN107534793B (zh) | 接收装置、传输装置以及数据处理方法 | |
US9641908B2 (en) | Method and system for transferring real-time audio/video stream | |
KR20220115956A (ko) | 사용자에 의해 액세스하기 쉬운 보안 방법, 장치, 및 시스템 | |
CN115865884A (zh) | 一种网络摄像头数据访问装置、方法、网络摄像头和介质 | |
CN114827670A (zh) | 一种视频播放方法、装置及电子设备 | |
CN109729318B (zh) | 视频数据回放处理方法、装置、计算机设备和存储介质 | |
US11706275B2 (en) | Media streaming | |
CN116261021B (zh) | 一种视频流播放方法、装置、电子设备及存储介质 | |
JP2015230731A (ja) | クライアント端末と少なくとも1つのサーバとの間の伝送路に配置されたキャッシュを操作する方法、および対応するキャッシュ | |
CN108063713B (zh) | 一种网络请求的处理方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210430 |
|
RJ01 | Rejection of invention patent application after publication |