CN114727152B - 一种跨平台多浏览器兼容的监控视频实时预览方法 - Google Patents
一种跨平台多浏览器兼容的监控视频实时预览方法 Download PDFInfo
- Publication number
- CN114727152B CN114727152B CN202210276139.3A CN202210276139A CN114727152B CN 114727152 B CN114727152 B CN 114727152B CN 202210276139 A CN202210276139 A CN 202210276139A CN 114727152 B CN114727152 B CN 114727152B
- Authority
- CN
- China
- Prior art keywords
- real
- time
- played
- video
- browser page
- 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.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000009877 rendering Methods 0.000 claims abstract description 3
- 238000005096 rolling process Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- FAPWRFPIFSIZLT-UHFFFAOYSA-M Sodium chloride Chemical compound [Na+].[Cl-] FAPWRFPIFSIZLT-UHFFFAOYSA-M 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000011780 sodium chloride Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明的实施例公开一种跨平台多浏览器兼容的监控视频实时预览方法,涉及视频播放技术领域。所述方法,用于浏览器平台,包括:接收监控视频实时预览请求;所述监控视频实时预览请求至少包括待播放的实时监控视频采集设备标识;根据浏览器页面的实时显示状态,确定是否播放所述待播放的实时监控视频;若确定播放所述待播放的实时监控视频,则将所述待播放的实时监控视频发送至用户端,以使所述用户端通过预设的本地视频转码程序将所述待播放的实时监控视频流转码为所述浏览器页面可以直接渲染播放的目标视频流;接收所述用户端返回的目标视频流;播放所述目标视频流。本发明具有跨平台优点,程序更新效率也比较高。
Description
技术领域
本发明属于视频播放技术领域,尤其涉及一种跨平台多浏览器兼容的监控视频实时预览方法。
背景技术
随着宽带的普及,计算机技术的发展,图像处理技术的提高,视频监控正越来越广泛地渗透到教育、政府、娱乐、医疗、酒店、运动等各种领域。目前,播放监控视频的方法主要包括:本地用户端,插件(IE ActiveX插件和NaCl/PNaCl/PPAPI插件),或者后端转码浏览器等方式播放监控视频码流,来查看监控视频画面(如RTSP协议的视频流)。
但是本地用户端无法跨平台使用,不同的平台***需要进行特殊的适配才能让本地用户端正常运行,并且更新也比较慢,一旦发现问题或有新特性发布,用户都需要花费大量时间来更新,从而严重影响了用户的体验;使用插件方式来播放实时监控视频的方法,虽然能在一定程度上解决了本地用户端兼容性差和更新麻烦问题,但是IE(IE ActiveX插件运行载体)已经被淘汰,NaCl/PNaCl/PPAPI插件也因多种因素不被浏览器厂家支持,给用户带来了使用不便的问题。另外使用后端转码浏览器的方法存在消耗服务器资源高,使得成本剧增。
发明内容
有鉴于此,本发明实施例提供一种跨平台多浏览器兼容的监控视频实时预览方法,不仅用于解决本地用户端跨平台兼容性差,更新繁琐的问题,还用于解决插件播放方式支持性差,后端转码浏览器资源耗费高等问题。本发明将视频转码模块独立拆分,以本地软件/插件中间件的形式运行在用户的主机上,对浏览器平台待播放的实时监控视频进行转码,最后由游览器平台播放转码后的实时监控视频,具有跨平台兼容性好,同时更新的效率也比较高。
本发明实施例提供一种跨平台多浏览器兼容的监控视频实时预览方法,用于浏览器平台,所述方法,包括:
接收监控视频实时预览请求;所述监控视频实时预览请求至少包括待播放的实时监控视频采集设备标识;
根据浏览器页面的实时显示状态,确定是否播放所述待播放的实时监控视频;
若确定播放所述待播放的实时监控视频,则将所述待播放的实时监控视频发送至用户端,以使所述用户端通过预设的本地视频转码程序将所述待播放的实时监控视频流转码为所述浏览器页面可以直接渲染播放的目标视频流;
接收所述用户端返回的目标视频流;
播放所述目标视频流。
在一可选实施例中,所述根据浏览器页面的实时显示状态,确定是否播放所述待播放的实时监控视频,包括:
根据浏览器页面的实时显示状态,判断所述浏览器页面中是否存在完整的视频播放区域;
若所述浏览器页面中存在完整的视频播放区域,则确定播放所述待播放的实时监控视频。
在一可选实施例中,在确定所述浏览器页面中存在完整的视频播放区域之后,确定播放所述待播放的实时监控视频之前,还包括:
若所述浏览器页面中存在完整的视频播放区域,则向用户提供所述浏览器页面中当前存在的至少一个完整的视频播放区域的标识;
接收用户对所述完整的视频播放区域的标识的选定;
将当前被选定的视频播放区域的标识对应的视频播放区域确定为目标视频播放区域;
其中,所述通过所述浏览器页面播放所述目标视频流,包括:通过所述浏览器页面中的所述目标视频播放区域播放所述目标视频流。
在一可选实施例中,所述根据浏览器页面的实时显示状态,判断所述浏览器页面中是否存在完整的视频播放区域,包括:
根据第一公式计算浏览器页面中出现的每个视频播放区域全部显示在所述浏览器页面中的判定值;
判断每个视频播放区域全部显示在所述浏览器页面中的判定值是否等于第一预设值;
若有至少一个视频播放区域全部显示在所述浏览器页面中的判定值等于第一预设值,则确定所述浏览器页面中存在完整的视频播放区域,否则,确定所述浏览器页面中不存在完整的视频播放区域;
其中,所述第一公式为:
在第一公式中,F(t_a)表示当前时刻t浏览器页面中出现的第a个视频播放区域全部显示在所述浏览器页面中的判定值;i表示所述浏览器页面中的第i个像素点;G(t_a)表示当前时刻所述浏览器页面中出现的第a个视频播放区域对应的像素集合;i=1,2,…,D(t);D(t)表示当前时刻所述浏览器页面中的像素点总数;表示求取所述浏览器页面中属于第a个视频播放区域的像素点个数;S表示预设的单个完整的视频播放区域所需要的像素点总数;
在所述将当前被选定的视频播放区域的标识对应的视频播放区域确定为目标视频播放区域之后,确定播放所述待播放的实时监控视频之前,还包括:
接收用户对所述目标视频播放区域中播放进度条的滚动操作;
判断当前时刻与所述滚动操作结束时刻之间的时间间距是否等于预设时长;
若当前时刻与所述滚动操作结束时刻之间的间隔时间等于预设时长,则根据第二公式计算所述目标视频播放区域播放RTSP视频流的控制值;
判断所述目标视频播放区域播放RTSP视频流的控制值是否等于第二预设值;
若所述目标视频播放区域播放RTSP视频流的控制值等于第二预设值,则执行所述确定播放所述待播放的实时监控视频的步骤;
其中,所述第二公式为:
在第二公式中,W(t)表示当前时刻t所述目标视频播放区域播放RTSP视频流的控制值,n(t)表示当前时刻所述浏览器页面中存在的视频播放区域总数;u[]表示非零函数,若括号内的数为非零数则函数值为1,反之函数值为0;Δt为预设时长;H(t-Δt)和H(t)分别表示t-Δt时刻和t时刻所述浏览器页面的像素值集合;R[H(t-Δt)→H(t)]表示在t-Δt时刻到t时刻的间隔时间内所述浏览器页面的像素值保持静止的输出值,若在t-Δt时刻到t时刻的间隔时间内所述浏览器平台页面的像素值保持静止,则R[H(t-Δt)→H(t)]=1,反之R[H(t-Δt)→H(t)]=0;Δt为预设时长。
在一可选实施例中,所述预设时长Δt为2s。
在一可选实施例中,在确定播放所述待播放的实时监控视频之后,将所述待播放的实时监控视频发送至用户端之前,还包括:
根据第三公式计算所述待播放的实时监控视频流的转码使能控制值;
判断所述待播放的实时监控视频流的转码使能控制值是否等于第三预设值;
若所述待播放的实时监控视频流的转码使能控制值等于第三预设值,则执行所述待播放的实时监控视频发送至用户端的步骤;
若所述待播放的实时监控视频流的转码使能控制值不等于第三预设值,则将所述待播放的实时监控视频流作为目标视频流,随后执行所述播放所述目标视频流的步骤;
其中,所述第三公式为:
E(t)=W(t)×{(J)2>>{len[(J)2]-len[B(RTSP)]}-B(RTSP)}
所述第三公式中,E(t)表示当前时刻t待播放的实时监控视频流的转码使能控制值;(J)2表示待播放的实时监控视频流的二进制形式的数据;>>表示右移符号;len[]表示求取括号内的数据位数;B(RTSP)表示代表RTSP协议的数据帧头。
在一可选实施例中,所述第一预设值为1,所述第二预设值为1,所述第三预设值为1。
在一可选实施例中,所述接收所述用户端返回的目标视频流,包括:
接收所述用户端通过WebSocket协议返回的目标视频流。
本发明提供的一种跨平台多浏览器兼容的监控视频实时预览方法,浏览器平台首先将待播放的实时监控视频发送至用户端,由用户端通过本地视频转码程序将待播放的实时监控视频流转码为浏览器页面可以直接渲染播放的目标视频流;接着浏览器平台将用户端返回的目标视频流进行播放。本发明将视频转码模块独立拆分,并运行在用户端本地,视频播放模块仍然在浏览器页面,设置比较灵活;同时所述视频转码模块并不需要频繁更新,新特性的更新只在服务端(即浏览器平台)完成即可;另外用户不需要安装臃肿的用户端,仅需安装迷你的视频转码模块程序。并且该视频转码模块程序不受浏览器种类或者浏览器策略更新的限制,在各种新版本浏览器中也可以正常使用,具有跨平台特性,同时更新的效率也很高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种跨平台多浏览器兼容的监控视频实时预览方法实施例一流程图;
图2为本发明实施例提供的一种跨平台多浏览器兼容的监控视频实时预览方法实施例二流程图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种跨平台多浏览器兼容的监控视频实时预览方法实施例一流程图。参见图1,该方法用于浏览器平台,包括如下步骤S101-S105:
S101:接收监控视频实时预览请求。
其中,所述监控视频实时预览请求至少包括待播放的实时监控视频采集设备标识。
S102:根据浏览器页面的实时显示状态,确定是否播放所述待播放的实时监控视频,是则执行S103。
作为一可选实施例,本步骤S102,包括:
S1021:根据浏览器页面的实时显示状态,判断所述浏览器页面中是否存在完整的视频播放区域,是则执行S1022。
本实施例中,为了给用户更好的观看监控视频效果,则需要有完整的视频播放区域,使得实时监控视频播放时,不会出现只有半边的情况;另外,用户在操作浏览器页面,如滑动页面过程中,针对不完整的视频播放区域,往往都不是用户期望看到的监控视频,所以***也不需要对监控视频进行后续处理,有效地节约了***的资源。
S1022:确定播放所述待播放的实时监控视频。
S103:将所述待播放的实时监控视频发送至用户端,以使所述用户端通过预设的本地视频转码程序将所述待播放的实时监控视频流转码为所述浏览器页面可以直接渲染播放的目标视频流。
本实施例中,将视频转码模块独立拆分,并以本地软件/插件中间件的形式运行在用户的主机上。在浏览器平台页面需要播放RTSP视频流时,视频转码中间件在用户端本地将收到的视频流转码为浏览器所支持的视频协议格式,获得目标视频流,接着用户端将目标视频流发送给浏览器平台,就可以直接进行视频的播放。监控视频播放模块与转码模块分离,转码模块部署在用户端,监控视频播放模块部署在浏览器平台,设置比较灵活,同时更新频繁的监控视频播放模块更新时,用户并不用更新用户端,有效地提高了用户的体验。
S104:接收所述用户端返回的目标视频流。
本实施例中,用户端会通过WebSocket协议将目标视频流发送给浏览器平台,其中,WebSocket使得用户端和浏览器平台之间的数据交换变得更加简单,允许服务端主动向用户端推送数据。在WebSocket API中,浏览器平台和用户端只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,有效地提高了视频流传输效率。
S105:播放所述目标视频流。
本实施例提供的一种跨平台多浏览器兼容的监控视频实时预览方法,浏览器平台首先将待播放的实时监控视频发送至用户端,由用户端通过本地视频转码程序将待播放的实时监控视频流转码为浏览器页面可以直接渲染播放的目标视频流;接着浏览器平台将用户端返回的目标视频流进行播放。本发明将视频转码模块独立拆分,并运行在用户端本地,视频播放模块仍然在浏览器页面,设置比较灵活;同时所述视频转码模块并不需要频繁更新,新特性的更新只在服务端(即浏览器平台)完成即可;另外用户不需要安装臃肿的用户端,仅需安装迷你的视频转码模块程序。并且该视频转码模块程序不受浏览器种类或者浏览器策略更新的限制,在各种新版本浏览器中也可以正常使用,具有跨平台特性,同时更新的效率也很高。
图2为本发明实施例提供的一种跨平台多浏览器兼容的监控视频实时预览方法实施例二流程图。参见图2,该方法包括如下步骤S201-S209:
S201:接收监控视频实时预览请求。
所述监控视频实时预览请求至少包括待播放的实时监控视频采集设备标识。
S202:根据浏览器页面的实时显示状态,判断所述浏览器页面中是否存在完整的视频播放区域,是则执行S203。
本实施例中,在所述浏览器页面中存在完整的视频播放区域时,才对视频播放区域对应的监控视频采集设备(例如:监控摄像头)采集到的监控视频进行处理(如转码)和播放,进而保证有完整的视频播放区域全部显示在所述浏览器页面上后再进行播放视频,有效地减少CPU的算力负荷,提升了用户观看监控视频的体验感。
S203:向用户提供所述浏览器页面中当前存在的至少一个完整的视频播放区域的标识。
本实施例中,在浏览器页面中,每个视频播放区域的外观基本都是一样的,为了让用户选择到自己期望查看的某个监控区域的监控视频,可以为视频播放区域设置标识,例如仓库、走廊、办公室等等,或者直接为每个视频播放区域标识其对应的摄像头编号等,便于用户直观的根据标识对视频播放区域进行选定。
S204:接收用户对所述完整的视频播放区域的标识的选定。
本实施例中,用户可以在浏览器页面中选定想要使用的视频播放区域的标识,或者,用户也可以选定浏览器页面中的某个视频播放区域,则浏览器页面默认将当前被选定的视频播放区域对应的标识确定为被选定的标识。
S205:将当前被选定的视频播放区域的标识对应的视频播放区域确定为目标视频播放区域。
本实施例中,将被选定的视频播放区域的标识对应的视频播放区域确定为目标视频播放区域,后续将在目标视频播放区域播放监控视频,可以达到所见即所得的效果,有效地提升用户使用体验感。
S206:确定播放所述待播放的实时监控视频。
S207:将所述待播放的实时监控视频发送至用户端,以使所述用户端通过预设的本地视频转码程序将所述待播放的实时监控视频流转码为所述浏览器页面可以直接渲染播放的目标视频流。
S208:接收所述用户端返回的目标视频流。
S209:通过所述浏览器页面中的所述目标视频播放区域播放所述目标视频流。
作为一可选实施例,步骤S202,包括:
S2021:根据第一公式计算浏览器页面中出现的每个视频播放区域全部显示在所述浏览器页面中的判定值。
优选地,所述第一公式为:
在第一公式中,F(t_a)表示当前时刻t浏览器页面中出现的第a个视频播放区域全部显示在所述浏览器页面中的判定值,所述第a个视频播放区域是由于一个浏览器页面上可能会存在两个或两个以上的视频播放区域情况,所以此处用a来进行分别判断;i表示所述浏览器页面中的第i个像素点;G(t_a)表示当前时刻所述浏览器页面中出现的第a个视频播放区域对应的像素集合;i=1,2,…,D(t);D(t)表示当前时刻所述浏览器页面中的像素点总数;表示求取所述浏览器页面中属于第a个视频播放区域的像素点个数;S表示预设的单个完整的视频播放区域所需要的像素点总数。
本实施例中,利用第一公式,根据浏览器页面的实时显示状态,判断是否存在完整的视频播放区域全部显示在所述浏览器页面上,进而保证有完整的视频播放区域全部显示在所述浏览器页面上后再进行播放视频,达到了减少CPU的算力负荷的目的。
S2022:判断每个视频播放区域全部显示在所述浏览器页面中的判定值是否等于第一预设值;是则执行S2023,否则执行S2024。
本实施例中,第一预设值为1,若F(t_a)=1,表示当前时刻当前浏览器页面上的第a个视频播放区域全部显示在所述浏览器页面上;若F(t_a)=0,表示当前时刻当前浏览器页面上的第a个视频播放区域并未全部显示在所述浏览器页面上,在完整的视频播放区域判定方面,具有效率高,准确等优点。
S2023:确定所述浏览器页面中存在完整的视频播放区域。
S2024:确定所述浏览器页面中不存在完整的视频播放区域。
优选地,步骤S205之后,步骤S206之前,还包括:
S2051:接收用户对所述目标视频播放区域中播放进度条的滚动操作。
S2052:判断当前时刻与所述滚动操作结束时刻之间的时间间距是否等于预设时长,是则执行S2053。
S2053:根据第二公式计算所述目标视频播放区域播放RTSP视频流的控制值。
优选地,所述第二公式为:
在第二公式中,W(t)表示当前时刻t所述目标视频播放区域播放RTSP视频流的控制值,n(t)表示当前时刻所述浏览器页面中存在的视频播放区域总数;u[]表示非零函数,若括号内的数为非零数则函数值为1,反之函数值为0;Δt为预设时长;H(t-Δt)和H(t)分别表示t-Δt时刻和t时刻所述浏览器页面的像素值集合;R[H(t-Δt)→H(t)]表示在t-Δt时刻到t时刻的间隔时间内所述浏览器页面的像素值保持静止的输出值,若在t-Δt时刻到t时刻的间隔时间内所述浏览器平台页面的像素值保持静止,则R[H(t-Δt)→H(t)]=1,反之R[H(t-Δt)→H(t)]=0;Δt为预设时长,取值可以为2秒。
本实施例中,第二公式非常符合用户观看监控视频的习惯,如果浏览器页面的实时显示状态为2秒以上没有滑动过界面,那么用户是比较想看当前页面显示的监控视频,则确定需要播放RTSP视频流(此时W(t)=1);如果浏览器页面的实时显示状态为不停的滑动当前页面,则当前页面中就没有用户关注的监控视频,此时确定没有需要播放RTSP视频流(此时W(t)=0),进而在用户不滑动的情况下播放视频,保证了用户观看视频的舒适性,同时也不用频繁的调用播放视频的功能,有效地节约了***和网络资源。
S2054:判断所述目标视频播放区域播放RTSP视频流的控制值是否等于第二预设值,是则执行S206。
本实施例中,第二预设值为1,若W(t)=1,表示当前时刻所述游览器平台页面需要播放RTSP视频流;若W(t)=0,表示当前时刻所述游览器平台页面不需要播放RTSP视频流。通过判定,***不用频繁的调用播放功能播放用户不想看的监控视频进行,有效地提高了***性能。
作为一可选实施例,步骤S206之后,S207之前,还包括:
S2061:根据第三公式计算所述待播放的实时监控视频流的转码使能控制值。
优选地,第三公式为:
E(t)=W(t)×{(J)2>>{len[(J)2]-len[B(RTSP)]}-B(RTSP)} (3)
所述第三公式中,E(t)表示当前时刻t待播放的实时监控视频流的转码使能控制值;(J)2表示待播放的实时监控视频流的二进制形式的数据;>>表示右移符号;len[]表示求取括号内的数据位数;B(RTSP)表示代表RTSP协议的数据帧头。
本实施例中,根据第三公式,当且仅当有监控视频需要播放且实时监控视频为非RTSP协议时,E(t)的值才为1,此时才进行转码播放,防止进行无用的计算,并且针对RTSP协议的监控视频,可以进行立即播放,无须进行转码工作,从而减少用户等待播放时间,提高了视频的播放速度。
S2062:判断所述待播放的实时监控视频流的转码使能控制值是否等于第三预设值;是则执行S207,否则执行S2063。
本实施例中,第三预设值为1,若E(t)=0,表示当前时刻所述游览器平台页面不需要播放RTSP视频流或需要播放的视频流的协议就是RTSP协议,若E(t)=1,表示需要将监控视频发送给用户端进行转码,然后再通过WebSocket协议返回给浏览器页面进行播放,根据E(t)的值,可以快速的判断出监控视频是否需要转码,从而有效地提高了***性能和节约了网络带宽。
S2063:将所述待播放的实时监控视频流作为目标视频流,并执行S209。
本实施例中,E(t)=0时,代表当前时刻所述游览器平台页面不需要播放RTSP视频流或需要播放的视频流的协议就是RTSP协议,根本不用进行转码工作,直接进行播放就行,有效地提高了监控视频播放的效率。
本实施例提供的一种跨平台多浏览器兼容的监控视频实时预览方法,浏览器平台首先确定当前游览器页面有完整的播放区域时,接着判断用户选定播放的实时监控视频是否是RTSP协议,当为RTSP协议的监控视频时,则直接进行播放;当不为RTSP协议的监控视频时,则将此实时监控视频发送至用户端,由用户端通过本地视频转码程序将此实时监控视频流转码为浏览器页面可以直接渲染播放的目标视频流;接着浏览器平台将用户端返回的目标视频流进行播放。本发明不仅能提高***的性能,而且还节约了网络带宽;同时将视频转码模块独立拆分,并运行在用户端本地,视频播放模块仍然在浏览器页面,设置比较灵活,跨平台兼容性强,更新程序工作效率较高。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (5)
1.一种跨平台多浏览器兼容的监控视频实时预览方法,其特征在于,用于浏览器平台,所述方法包括:
接收监控视频实时预览请求;所述监控视频实时预览请求至少包括待播放的实时监控视频采集设备标识;
根据浏览器页面的实时显示状态,确定是否播放所述待播放的实时监控视频;
若确定播放所述待播放的实时监控视频,则将所述待播放的实时监控视频发送至用户端,以使所述用户端通过预设的本地视频转码程序将所述待播放的实时监控视频流转码为所述浏览器页面可以直接渲染播放的目标视频流;
接收所述用户端返回的目标视频流;
播放所述目标视频流;
其中,所述根据浏览器页面的实时显示状态,确定是否播放所述待播放的实时监控视频,包括:
根据浏览器页面的实时显示状态,判断所述浏览器页面中是否存在完整的视频播放区域;
若所述浏览器页面中存在完整的视频播放区域,则确定播放所述待播放的实时监控视频;
其中,在确定所述浏览器页面中存在完整的视频播放区域之后,确定播放所述待播放的实时监控视频之前,还包括:
若所述浏览器页面中存在完整的视频播放区域,则向用户提供所述浏览器页面中当前存在的至少一个完整的视频播放区域的标识;
接收用户对所述完整的视频播放区域的标识的选定;
将当前被选定的视频播放区域的标识对应的视频播放区域确定为目标视频播放区域;
其中,所述通过所述浏览器页面播放所述目标视频流,包括:通过所述浏览器页面中的所述目标视频播放区域播放所述目标视频流;
其中,所述根据浏览器页面的实时显示状态,判断所述浏览器页面中是否存在完整的视频播放区域,包括:
根据第一公式计算浏览器页面中出现的每个视频播放区域全部显示在所述浏览器页面中的判定值;
判断每个视频播放区域全部显示在所述浏览器页面中的判定值是否等于第一预设值;
若有至少一个视频播放区域全部显示在所述浏览器页面中的判定值等于第一预设值,则确定所述浏览器页面中存在完整的视频播放区域,否则,确定所述浏览器页面中不存在完整的视频播放区域;
其中,所述第一公式为:
在第一公式中,F(t_a)表示当前时刻t浏览器页面中出现的第a个视频播放区域全部显示在所述浏览器页面中的判定值;i表示所述浏览器页面中的第i个像素点;G(t_a)表示当前时刻所述浏览器页面中出现的第a个视频播放区域对应的像素集合;i=1,2,…,D(t);D(t)表示当前时刻所述浏览器页面中的像素点总数;表示求取所述浏览器页面中属于第a个视频播放区域的像素点个数;S表示预设的单个完整的视频播放区域所需要的像素点总数;
在所述将当前被选定的视频播放区域的标识对应的视频播放区域确定为目标视频播放区域之后,确定播放所述待播放的实时监控视频之前,还包括:
接收用户对所述目标视频播放区域中播放进度条的滚动操作;
判断当前时刻与所述滚动操作结束时刻之间的时间间距是否等于预设时长;
若当前时刻与所述滚动操作结束时刻之间的间隔时间等于预设时长,则根据第二公式计算所述目标视频播放区域播放RTSP视频流的控制值;
判断所述目标视频播放区域播放实时流传输协议(RTSP)视频流的控制值是否等于第二预设值;
若所述目标视频播放区域播放RTSP视频流的控制值等于第二预设值,则执行所述确定播放所述待播放的实时监控视频的步骤;
其中,所述第二公式为:
在第二公式中,W(t)表示当前时刻t所述目标视频播放区域播放RTSP视频流的控制值,n(t)表示当前时刻所述浏览器页面中存在的视频播放区域总数;u[]表示非零函数,若括号内的数为非零数则函数值为1,反之函数值为0;Δt为预设时长;H(t-Δt)和H(t)分别表示t-Δt时刻和t时刻所述浏览器页面的像素值集合;R[H(t-Δt)→H(t)]表示在t-Δt时刻到t时刻的间隔时间内所述浏览器页面的像素值保持静止的输出值,若在t-Δt时刻到t时刻的间隔时间内所述浏览器页面的像素值保持静止,则R[H(t-Δt)→H(t)]=1,反之R[H(t-Δt)→H(t)]=0。
2.如权利要求1所述的一种跨平台多浏览器兼容的监控视频实时预览方法,其特征在于,所述预设时长Δt为2s。
3.如权利要求1所述的一种跨平台多浏览器兼容的监控视频实时预览方法,其特征在于,在确定播放所述待播放的实时监控视频之后,将所述待播放的实时监控视频发送至用户端之前,还包括:
根据第三公式计算所述待播放的实时监控视频流的转码使能控制值;
判断所述待播放的实时监控视频流的转码使能控制值是否等于第三预设值;
若所述待播放的实时监控视频流的转码使能控制值等于第三预设值,则执行所述待播放的实时监控视频发送至用户端的步骤;
若所述待播放的实时监控视频流的转码使能控制值不等于第三预设值,则将所述待播放的实时监控视频流作为目标视频流,随后执行所述播放所述目标视频流的步骤;
其中,所述第三公式为:
E(t)=W(t)×{(J)2>>{len[(J)2]-len[B(RTSP)]}-B(RTSP)}
所述第三公式中,E(t)表示当前时刻t待播放的实时监控视频流的转码使能控制值;(J)2表示待播放的实时监控视频流的二进制形式的数据;>>表示右移符号;len[]表示求取括号内的数据位数;B(RTSP)表示代表RTSP协议的数据帧头。
4.如权利要求3所述的一种跨平台多浏览器兼容的监控视频实时预览方法,其特征在于,所述第一预设值为1,所述第二预设值为1,所述第三预设值为1。
5.如权利要求1-4任一项所述的一种跨平台多浏览器兼容的监控视频实时预览方法,其特征在于,所述接收所述用户端返回的目标视频流,包括:
接收所述用户端通过WebSocket协议返回的目标视频流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210276139.3A CN114727152B (zh) | 2022-03-21 | 2022-03-21 | 一种跨平台多浏览器兼容的监控视频实时预览方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210276139.3A CN114727152B (zh) | 2022-03-21 | 2022-03-21 | 一种跨平台多浏览器兼容的监控视频实时预览方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114727152A CN114727152A (zh) | 2022-07-08 |
CN114727152B true CN114727152B (zh) | 2023-01-10 |
Family
ID=82237089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210276139.3A Active CN114727152B (zh) | 2022-03-21 | 2022-03-21 | 一种跨平台多浏览器兼容的监控视频实时预览方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114727152B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045540A (zh) * | 2009-10-20 | 2011-05-04 | 华为软件技术有限公司 | 视频监控方法、***及设备 |
CN110769310A (zh) * | 2018-07-26 | 2020-02-07 | 视联动力信息技术股份有限公司 | 一种基于视联网的视频处理方法和装置 |
CN112804592A (zh) * | 2021-01-11 | 2021-05-14 | 福建天泉教育科技有限公司 | 一种基于浏览器的rtsp直播视频转发方法及终端 |
CN113938470A (zh) * | 2021-10-18 | 2022-01-14 | 成都小步创想慧联科技有限公司 | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 |
CN114071242A (zh) * | 2021-11-16 | 2022-02-18 | 重庆赛迪奇智人工智能科技有限公司 | 视频播放方法、视频推送方法、装置和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3800893B1 (en) * | 2013-07-11 | 2023-09-06 | Dejero Labs Inc. | Systems and methods for transmission of data streams |
-
2022
- 2022-03-21 CN CN202210276139.3A patent/CN114727152B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045540A (zh) * | 2009-10-20 | 2011-05-04 | 华为软件技术有限公司 | 视频监控方法、***及设备 |
CN110769310A (zh) * | 2018-07-26 | 2020-02-07 | 视联动力信息技术股份有限公司 | 一种基于视联网的视频处理方法和装置 |
CN112804592A (zh) * | 2021-01-11 | 2021-05-14 | 福建天泉教育科技有限公司 | 一种基于浏览器的rtsp直播视频转发方法及终端 |
CN113938470A (zh) * | 2021-10-18 | 2022-01-14 | 成都小步创想慧联科技有限公司 | 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器 |
CN114071242A (zh) * | 2021-11-16 | 2022-02-18 | 重庆赛迪奇智人工智能科技有限公司 | 视频播放方法、视频推送方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114727152A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104967876B (zh) | 弹幕信息处理方法和装置、弹幕信息展示方法和装置 | |
CN106454407A (zh) | 视频直播方法及装置 | |
CN110933517B (zh) | 码率切换方法、客户端和计算机可读存储介质 | |
US20150126277A1 (en) | Data provision system, provision apparatus, execution apparatus, control method, and recording medium | |
CN111131817A (zh) | 屏幕共享方法、设备、存储介质及屏幕共享*** | |
CN111744174A (zh) | 云游戏的账号管理方法、账号登录方法、装置及电子设备 | |
CN108989845A (zh) | 一种基于spice协议的视频传输方法 | |
CN105409229A (zh) | 信息处理装置、信息处理方法与程序 | |
CN109905629A (zh) | 音视频会议时实现文档共享的方法、装置、介质和设备 | |
EP2643977B1 (en) | Method and apparatus for processing a video signal | |
CN112473131A (zh) | 实现游戏运行的方法和装置、计算机可读存储介质 | |
CN111510790B (zh) | 视频请求方法、***、计算机设备及计算机可读存储介质 | |
CN114727152B (zh) | 一种跨平台多浏览器兼容的监控视频实时预览方法 | |
CN110604921B (zh) | 一种显示内容切换方法、服务器和可存储介质 | |
CN110113298A (zh) | 数据传输方法、装置、信令服务器和计算机可读介质 | |
CN105657451B (zh) | 上传视频文件同时进行转码的方法与*** | |
WO2007123283A1 (en) | Method for the delivery of multimedia file compressed by differential pulse code modulation through p2p data exchange | |
CN116248644A (zh) | 一种基于WebRTC推流技术的优化方法 | |
CN113542890B (zh) | 视频编辑方法、装置、设备及介质 | |
CN114827646A (zh) | 视频流中预加载直播间方法、装置、设备及存储介质 | |
CN114244843A (zh) | 流媒体下载方法、电子设备及存储介质 | |
JP3564076B2 (ja) | 画像通信装置、画像通信方法及びプログラム記録媒体 | |
JP4818534B2 (ja) | 動画像配信システム、動画像配信方法および通信端末装置 | |
CN112019858B (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
US20100121901A1 (en) | Moving-picture processing device and moving-picture processing method |
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 |