CN114390313B - 一种浏览器HTML5 Video标签音视频重定向的方法及系统 - Google Patents
一种浏览器HTML5 Video标签音视频重定向的方法及系统 Download PDFInfo
- Publication number
- CN114390313B CN114390313B CN202111458687.XA CN202111458687A CN114390313B CN 114390313 B CN114390313 B CN 114390313B CN 202111458687 A CN202111458687 A CN 202111458687A CN 114390313 B CN114390313 B CN 114390313B
- Authority
- CN
- China
- Prior art keywords
- video
- browser
- audio
- cloud
- player
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 abstract description 6
- 230000006835 compression Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 229910052804 chromium Inorganic materials 0.000 description 1
- 239000011651 chromium Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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/233—Processing of audio elementary streams
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种浏览器HTML5 Video标签音视频重定向的方法及系统,本发明浏览器HTML5 Video标签音视频重定向的方法包括在云虚拟机中的浏览器播放需重定向的目标视频的过程中,拦截浏览器中针对目标视频的音视频解码类输入的音视频数据,并将截获的音视频数据发送给云终端以用于通过云终端中的播放器进行解码播放输出。本发明能够有效降低云虚拟机浏览器播放视频的CPU占用率,也降低了云服务器压缩编码的CPU消耗,同时还解决了云桌面在浏览器播放视频时清晰度和流畅度降低的问题。
Description
技术领域
本发明涉及云桌面的音视频重定向技术,具体涉及一种浏览器HTML5 Video标签音视频重定向的方法及系统。
背景技术
随着云桌面产品的普及和应用场景的多样化,以及视频资源越来越丰富,在云桌面内使用浏览器在线观看视频的需求也将越来越大。而当前的云桌面显示流程基本为:采集云虚拟机桌面为图像,对这些图像进行压缩,传输到云终端,最后由终端解码显示。这个过程不可避免的要对云桌面进行压缩编码和解码,这也不可避免的降低了原始视频的清晰度和帧率,甚至可能引起音视频不同步的问题,从而降低了浏览器视频播放的观感。而且,视频的压缩编码需要占用大量的CPU和GPU资源,给云服务器造成沉重的负担。云桌面的视频标签音视频重定向技术则是解决上述问题的一个有效手段。
目前云桌面的音视频重定向技术是将云虚拟机中的URL发送给云终端,通过云终端直接播放云虚拟机中的URL,但是这种方式存在下述问题:(1)这种方式对于云终端有互联网访问能力的要求,而对于不能访问互联网的云终端,则该方案不能够实施;(2)云终端直接播放云虚拟机中的视频标签的URL,如果云虚拟机VEIDO标签的URL被加密,则终端获取不到URL对应的音视频数据。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种浏览器HTML5Video标签音视频重定向的方法及系统,本发明能够有效降低云虚拟机浏览器播放视频的CPU占用率,也降低了云服务器压缩编码的CPU消耗,同时还解决了云桌面在浏览器播放视频时清晰度和流畅度降低的问题。
为了解决上述技术问题,本发明采用的技术方案为:
一种浏览器HTML5 Video标签音视频重定向的方法,包括在云虚拟机中的浏览器播放需重定向的目标视频的过程中,拦截浏览器中针对目标视频的音视频解码类输入的音视频数据,并将截获的音视频数据发送给云终端以用于通过云终端中的播放器进行解码播放输出。
可选地,所述将截获的音视频数据发送给云终端时,还包括发送目标视频对应的ID标识符,所述目标视频对应的ID标识符在云虚拟机中的浏览器打开目标视频的网页时动态生成,且不同目标视频对应的ID标识符不同。
可选地,所述浏览器中针对目标视频的音视频解码类包括用于解码音频流的音频流解码类AudioDecoderStream和用于解码视频流的视频流解码类VideoDecoderStream。
可选地,所述拦截浏览器中针对目标视频的音视频解码类输入的音视频数据之后,还包括控制浏览器的播放器停止进行音频数据解码、渲染以及视频数据解码、渲染的步骤。
可选地,所述将截获的音视频数据发送给云终端包括:浏览器创建mojo通信机制,将拦截得到的音视频数据从目标视频所在的渲染进程Render通过mojo通信机制发送到浏览器的主进程Browser,再由主进程Browser发送给中转代理服务,并通过中转代理服务发送给云终端。
可选地,所述在云虚拟机中的浏览器播放需重定向的目标视频的过程中还包括:在将目标视频的音视频数据发送给云终端的初始时刻检测浏览器中播放器的初始布局参数、云虚拟机中遮盖区域,并将初始布局参数、云虚拟机中遮盖区域发送给云终端以用于控制云终端中的播放器实现相同的布局、窗口遮盖;且在云虚拟机中的浏览器播放需重定向的目标视频的过程中,若检测到云虚拟机中遮盖区域发生变化,则将云虚拟机中遮盖区域发送给云终端以用于控制云终端中的播放器实现窗口遮盖更新。
可选地,所述在云虚拟机中的浏览器播放需重定向的目标视频的过程中还包括:
1)监测鼠标移动,若监测到鼠标移动到视频标签区域中,则跳转下一步;否则,继续监测鼠标移动直至监测到鼠标移动视频标签区域中;
2)鼠标移动到视频标签区域中使得浏览器显示播放器的播放控制面板,通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()捕获鼠标移动事件kMousemove,并响应鼠标移动事件kMousemove,通过遍历目标视频的网页的DOM树,获取播放控制面板的尺寸和坐标,并将播放控制面板的尺寸和坐标发送给云终端以用于实现对云终端中该播放控制面板对应的区域的透明处理,使得云终端中播放器、云虚拟机中的播放控制面板两者相互贴合形成一个完整的目标视频的播放器界面。
可选地,所述通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()捕获鼠标移动事件kMousemove时,还包括通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()以及HTMLMediaElement类的设置静音函数setMuted()、设置音量函数setVolume()和拖动函数Seek()捕获视频标签的播放器控制命令,所述播放器控制命令包括暂停、播放、拖动、重播、停止、切分辨率和设置音量中的至少一种,若捕获到视频标签的播放命令,则将视频标签的播放命令发送给云终端以用于实现对云终端中播放器的同步控制。
此外,本发明还提供一种浏览器HTML5 Video标签音视频重定向的系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述的浏览器HTML5 Video标签音视频重定向的方法的步骤。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,该计算机程序用于被计算机设备执行以实施所述的浏览器HTML5 Video标签音视频重定向的方法的步骤。
和现有技术相比,本发明包括在云虚拟机中的浏览器播放需重定向的目标视频的过程中,拦截浏览器中针对目标视频的音视频解码类输入的音视频数据,并将截获的音视频数据发送给云终端以用于通过云终端中的播放器进行解码播放输出,具有下述优点:
1、在云虚拟机桌面内通过定制浏览器浏览视频,将截获的音视频数据发送给云终端以用于通过云终端中的播放器进行解码播放输出,可达到观看视频一样的效果。
2、通过拦截浏览器中针对目标视频的音视频解码类输入的音视频数据,使得云虚拟机不需要进行针对目标视频的音视频数据进行渲染,减少云桌面的数据压缩的资源消耗,降低了云虚拟机浏览器播放视频的CPU占用率,也降低了云服务器压缩编码的CPU消耗,降低了云服务器的性能消耗。
3、本发明将截获的音视频数据发送给云终端以用于通过云终端中的播放器进行解码播放输出,在云终端不能连接外网、而云虚拟机可连接外网的条件下,也能通过浏览器浏览网页上的视频,对于云终端无互联网访问能力的要求,适用于不能访问互联网的云终端。
4、本发明通过拦截浏览器中针对目标视频的音视频解码类输入的音视频数据,对视频标签的兼容性好,能重定向全部视频标签的音视频。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例云虚拟机的目标视频的网页和云终端的播放器的映射关系示意图。
图3为本发明实施例中音频流解码类的工作原理示意图。
图4为本发明实施例中浏览器事件监测的流程图。
图5为本发明实施例中播放命令的截获及转发流程示意图。
图6为本发明实施例中云终端的工作流程示意图。
图7为本发明实施例中浏览器打开网页后的执行流程示意图。
具体实施方式
如图1所示,本实施例浏览器HTML5 Video标签音视频重定向的方法包括在云虚拟机中的浏览器播放需重定向的目标视频的过程中,拦截浏览器中针对目标视频的音视频解码类输入的音视频数据,并将截获的音视频数据发送给云终端以用于通过云终端中的播放器进行解码播放输出。本实施例中,云虚拟机中的浏览器为基于开源的Chromium浏览器的定制浏览器,其中定制增加了监视并拦截浏览器中针对目标视频的音视频解码类输入的音视频数据的功能。
为支持多张网页同时进行视频标签视频重定向,如图2所示,本实施例中将截获的音视频数据发送给云终端时,还包括发送目标视频对应的ID标识符,所述目标视频对应的ID标识符在云虚拟机中的浏览器打开目标视频的网页时动态生成,且不同目标视频对应的ID标识符不同,云终端通过这个ID标识符,区分各个网页的音视频流,分别做解码和渲染。参见图2可知,由于不同目标视频对应的ID标识符不同,因此可使得云虚拟机、云终端之间正常区分不同目标视频的音视频数据,使得云虚拟机中的目标视频的网页、云终端中目标视频的网页的播放器一一对应,例如“浏览器进程A网页1”和“浏览器进程A网页1的播放器”为基于目标视频对应的ID标识符一一对应。
作为一种可选的实施方式,如图2所示,本实施例中在云虚拟机、云终端之间设置有中转代理服务,虚线框中的浏览器(云虚拟机中的浏览器)和中转代理服务运行于云虚拟机内,播放器运行于云终端,可实现云虚拟机、云终端之间的通信中转,减少云虚拟机的资源消耗。本实施例浏览器HTML5 Video标签音视频重定向的方法中涉及的主体包括定制浏览器(云虚拟机中的浏览器)、中转代理服务和云终端的播放器。定制浏览器负责提取视频标签内的音视频数据,视频标签的坐标与尺寸,视频标签内播放器的播放命令,以及视频标签上的播放器控制面板。并将这些数据发送给中转代理服务。中转代理服务将这些数据转发给云终端播放器。云终端播放器则解码音视频数据,并将其渲染。
如图3所示,本实施例中浏览器中针对目标视频的音视频解码类包括用于解码音频流的音频流解码类AudioDecoderStream和用于解码视频流的视频流解码类VideoDecoderStream。
本实施例中,拦截浏览器中针对目标视频的音视频解码类输入的音视频数据之后,还包括控制浏览器的播放器停止进行音频数据解码、渲染以及视频数据解码、渲染的步骤,使得云虚拟机不需要进行针对目标视频的音视频数据进行渲染,减少云桌面的数据压缩的资源消耗,降低了云虚拟机浏览器播放视频的CPU占用率,也降低了云服务器压缩编码的CPU消耗,降低了云服务器的性能消耗。
本实施例中,将截获的音视频数据发送给云终端包括:浏览器创建mojo通信机制,将拦截得到的音视频数据从目标视频所在的渲染进程Render通过mojo通信机制发送到浏览器的主进程Browser,再由主进程Browser发送给中转代理服务,并通过中转代理服务发送给云终端,既可以实现与云终端的数据交互,又可以保持浏览器的Sandbox安全机制不变。在浏览器中监听用于解码音频流的音频流解码类AudioDecoderStream和用于解码视频流的视频流解码类VideoDecoderStream,当这个两个类的Decode()函数解码音视频流时,监听代码将截取这些音视频数据,并发送给主进程Browser,再由主进程Browser发送给中转代理服务,与此同时,监听代码将关闭解码流程和视频渲染流程,使视频标签处于黑屏状态,声音处于静音状态。
定制浏览器运行在虚拟机中,所以视频标签可能会被其它应用程序的窗口或操作系统的窗口遮盖。为处理播放器的定位问题,以及虚拟机操作系统内其它窗口对定制浏览器视频区域的遮盖问题,本实施例中在云虚拟机中的浏览器播放需重定向的目标视频的过程中还包括:在将目标视频的音视频数据发送给云终端的初始时刻检测浏览器中播放器的初始布局参数、云虚拟机中遮盖区域(遮盖在云虚拟机中浏览器的播放器上侧的窗口区域),并将初始布局参数、云虚拟机中遮盖区域发送给云终端以用于控制云终端中的播放器实现相同的布局、窗口遮盖;且在云虚拟机中的浏览器播放需重定向的目标视频的过程中,若检测到云虚拟机中遮盖区域发生变化,则将云虚拟机中遮盖区域发送给云终端以用于控制云终端中的播放器实现窗口遮盖更新。作为一种可选的实施方式,本实施例中通过中转代理服务定时获取云虚拟机中遮盖区域,具体为虚拟机中所有覆盖在浏览器之上的窗口坐标和尺寸,并发送给云终端播放器以做遮盖处理。云终端的播放器根据这些坐标和尺寸,对视频区域做透明处理以实现窗口遮盖更新。
如图4所示,在云虚拟机中的浏览器播放需重定向的目标视频的过程中还包括:
1)监测鼠标移动,若监测到鼠标移动到视频标签区域中,则跳转下一步;否则,继续监测鼠标移动直至监测到鼠标移动视频标签区域中;
2)鼠标移动到视频标签区域中使得浏览器显示播放器的播放控制面板,通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()捕获鼠标移动事件kMousemove,并响应鼠标移动事件kMousemove,通过遍历目标视频的网页的DOM树,获取播放控制面板的尺寸和坐标,并将播放控制面板的尺寸和坐标发送给云终端以用于实现对云终端中该播放控制面板对应的区域的透明处理,使得云终端中播放器、云虚拟机中的播放控制面板两者相互贴合形成一个完整的目标视频的播放器界面。
以暂停kPause为例,如图4所示,通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()捕获鼠标移动事件kMousemove时,还包括通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()以及HTMLMediaElement类的设置静音函数setMuted()、设置音量函数setVolume()和拖动函数Seek()捕获视频标签的播放器控制命令,所述播放器控制命令包括暂停、播放、拖动、重播、停止、切分辨率和设置音量中的至少一种,若捕获到视频标签的播放命令,则将视频标签的播放命令发送给云终端以用于实现对云终端中播放器的同步控制。如图5所示,本实施例中的播放命令包括暂停(kPause)、播放(kPlay)、拖动(kSeek)、重播、停止、切分辨率和设置音量(可根据需要只采用其中的部分),若捕获到视频标签的播放命令,则将视频标签的播放命令发送给云终端以用于实现对云终端中播放器的同步控制,图5中上侧虚线框部分为云虚拟机对播放命令的检测,下侧虚线框部分为云终端中播放器对播放命令的响应。因为定制的浏览器只修改视频内容,不修改其它网页内容。所以这些播放命令,定制浏览器将会正常处理。只是定制的浏览器在处理的时候,将这些播放命令提取出来,发送给中转代理服务,最终由中转代理服务发送给云终端的播放器。如图6所示,云终端的播放器在收到播放命令时,则会对云终端中播放器的同步控制;同时,若收到遮盖区域,则会根据这些坐标和尺寸,对视频区域做透明处理以实现窗口遮盖更新。
参见图4可知,当鼠标移动到视频标签范围内时,播放器控制面板会自动显示,同时定制浏览器Element类的DefaultEventHandler()函数会捕获到kMousemove事件。DefaultEventHandler()函数的kMousemove事件监听代码则调用播放器控制面板模块代码。播放器控制面板模块代码,通过遍历DOM树得到控制面板包含的所有标签。然后提取这些标签的坐标和尺寸,发送给中转代理服务。最终,云终端播放器根据这些坐标和尺寸,在自身的视频区域做透明化处理。这样,播放控制面板得以被用户所见。此外,定制浏览器在Element类的DefaultEventHandler()函数中,也监听了kPause、kPlay和kSeek等事件。这些事件将对应了视频标签的暂停、播放和拖动等操作。DefaultEventHandler()函数中的监听代码捕获到这些事件后,依次发送到云终端播放器中,最终由云终端播放器做相应的处理。在此以kPause事件为例,默认事件处理函数DefaultEventHandler()的步骤步骤流程包括:(1)、鼠标移动到Video区域,定制浏览器响应kMousemove事件,遍历网页的DOM树,获取到播放控制面板的坐标和尺寸,并将数据发送给中转服务。(2)、中转服务将播放器控制面板的坐标和尺寸发送给云终端播放器,播放器根据这些坐标和尺寸对视频区域做透明化。(3)、由于云终端的播放器的透明化处理,用户得以见到虚拟机内定制浏览器的播放控制面板。这个播放控制面板因此也能接收鼠标和键盘事件。(4)、当用户点击播放控制面板的功能按钮时,如暂停按钮,则触发kPause事件。定制浏览器Element类的DefaultEventHandler()函数捕获到此kPause事件,同时也就触发了在DefaultEventHandler()函数内的kPause事件监听代码。kPause事件监听代码则调用“视频标签播放命令处理模块”,将kPause命令发送给中转代理服务。“视频标签播放命令处理模块”并不销毁这个kPause事件,所以定制浏览器内部也会响应这个kPause事件,即停止从网站服务器中下载数据。(5)、中转代理服务将kPause事件发送给云终端播放器。云终端播放器则对kPause做响应。
此外,本实施例中在云虚拟机中的浏览器打开网页时,还包括对网页判断是否包含需重定向的目标视频进行判断的步骤,网页包含需重定向的目标视频需要满足的条件包括:条件一,该网页的网址或域名应当是在白名单内。为控制某个网站的视频重定向功能,即对某个含视频标签的视频网站,通过云服务器管理界面配置打开或关闭其视频重定向功能,定制浏览器实现了白名单机制。当视频网站在白名单内,则对其打开视频标签视频重定向功能。否则,关闭其重定向功能。网页的网址或域名与白名单的匹配既可以直接匹配,也可以根据需要采用通配符的方式进行匹配,或采用正则表达式的方式进行匹配。条件二,该网页的应当包含视频标签,且视频标签尺寸需要满足要求。为禁止一张网页内,小分辨率的音视频重定向,以降低定制浏览器发送数据给云终端播放器所占用的带宽,定制浏览器在重定向前,首先判断视频标签的尺寸,当尺寸小于给定的值时,则关闭重定向功能。
图7为本实施例中浏览器HTML5 Video标签音视频重定向的方法中在云虚拟机中的浏览器打开网页后的完整步骤,具体包括:(1)浏览器判断所新建的网页地址是否在白名单内。若在,则进行重定向的下一步。否则,结束重定向流程,浏览器在云虚拟机内正常解码播放音视频。(2)浏览器判断当前网页是否含有视频标签。若有,则进行重定向的下一步。否则,结束重定向,浏览器正常播放。(3)浏览器给视频重定向网页创建一个ID标识符,用来标识这个网页。(4)从浏览器的视频标签中,读取音视频数据,捕获播放器命令。(5)从浏览器解析获取视频标签的坐标和尺寸,以及播放控制面板的坐标和尺寸。(6)浏览器创建socket,将音视频数据、播放命令和所有坐标数据发给中转代理服务。(7)中转代理服务获取虚拟机内其它所有覆盖在浏览器之上的窗口坐标和尺寸。(8)中转代理服务将接收到浏览器的数据和第(7)步中获取到的窗口数据转发给云终端播放器。(9)云终端接收到中转代理服务转发过来的音视频数据,则做解码和渲染。接收到视频标签的坐标和尺寸,则对播放器做移动和缩放处理。接收到遮盖窗口的坐标和尺寸,则视频渲染区域做相应的透明化处理。
此外,本实施例还提供一种浏览器HTML5 Video标签音视频重定向的系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述的浏览器HTML5 Video标签音视频重定向的方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,该计算机程序用于被计算机设备执行以实施前述的浏览器HTML5 Video标签音视频重定向的方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1. 一种浏览器HTML5 Video标签音视频重定向的方法,其特征在于,包括在云虚拟机中的浏览器播放需重定向的目标视频的过程中,拦截浏览器中针对目标视频的音视频解码类输入的音视频数据,并将截获的音视频数据发送给云终端以用于通过云终端中的播放器进行解码播放输出;所述浏览器中针对目标视频的音视频解码类包括用于解码音频流的音频流解码类AudioDecoderStream和用于解码视频流的视频流解码类VideoDecoderStream;所述将截获的音视频数据发送给云终端包括:浏览器创建mojo通信机制,将拦截得到的音视频数据从目标视频所在的渲染进程Render通过mojo通信机制发送到浏览器的主进程Browser,再由主进程Browser发送给中转代理服务,并通过中转代理服务发送给云终端。
2. 根据权利要求1所述的浏览器HTML5 Video标签音视频重定向的方法,其特征在于,所述将截获的音视频数据发送给云终端时,还包括发送目标视频对应的ID标识符,所述目标视频对应的ID标识符在云虚拟机中的浏览器打开目标视频的网页时动态生成,且不同目标视频对应的ID标识符不同。
3. 根据权利要求1所述的浏览器HTML5 Video标签音视频重定向的方法,其特征在于,所述拦截浏览器中针对目标视频的音视频解码类输入的音视频数据之后,还包括控制浏览器的播放器停止进行音频数据解码、渲染以及视频数据解码、渲染的步骤。
4. 根据权利要求1所述的浏览器HTML5 Video标签音视频重定向的方法,其特征在于,所述在云虚拟机中的浏览器播放需重定向的目标视频的过程中还包括:在将目标视频的音视频数据发送给云终端的初始时刻检测浏览器中播放器的初始布局参数、云虚拟机中遮盖区域,并将初始布局参数、云虚拟机中遮盖区域发送给云终端以用于控制云终端中的播放器实现相同的布局、窗口遮盖;且在云虚拟机中的浏览器播放需重定向的目标视频的过程中,若检测到云虚拟机中遮盖区域发生变化,则将云虚拟机中遮盖区域发送给云终端以用于控制云终端中的播放器实现窗口遮盖更新。
5. 根据权利要求1所述的浏览器HTML5 Video标签音视频重定向的方法,其特征在于,所述在云虚拟机中的浏览器播放需重定向的目标视频的过程中还包括:
1)监测鼠标移动,若监测到鼠标移动到视频标签区域中,则跳转下一步;否则,继续监测鼠标移动直至监测到鼠标移动视频标签区域中;
2)鼠标移动到视频标签区域中使得浏览器显示播放器的播放控制面板,通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()捕获鼠标移动事件kMousemove,并响应鼠标移动事件kMousemove,通过遍历目标视频的网页的DOM树,获取播放控制面板的尺寸和坐标,并将播放控制面板的尺寸和坐标发送给云终端以用于实现对云终端中该播放控制面板对应的区域的透明处理,使得云终端中播放器、云虚拟机中的播放控制面板两者相互贴合形成一个完整的目标视频的播放器界面。
6. 根据权利要求5所述的浏览器HTML5 Video标签音视频重定向的方法,其特征在于,所述通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()捕获鼠标移动事件kMousemove时,还包括通过浏览器中的元素类Element中的默认事件处理函数DefaultEventHandler()以及HTMLMediaElement类的设置静音函数setMuted()、设置音量函数setVolume()和拖动函数Seek()捕获视频标签的播放器控制命令,所述播放器控制命令包括暂停、播放、拖动、重播、停止、切分辨率和设置音量中的至少一种,若捕获到视频标签的播放命令,则将视频标签的播放命令发送给云终端以用于实现对云终端中播放器的同步控制。
7. 一种浏览器HTML5 Video标签音视频重定向的系统,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~6中任意一项所述的浏览器HTML5 Video标签音视频重定向的方法的步骤。
8. 一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其特征在于,该计算机程序用于被计算机设备执行以实施权利要求1~6中任意一项所述的浏览器HTML5 Video标签音视频重定向的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111458687.XA CN114390313B (zh) | 2021-12-01 | 2021-12-01 | 一种浏览器HTML5 Video标签音视频重定向的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111458687.XA CN114390313B (zh) | 2021-12-01 | 2021-12-01 | 一种浏览器HTML5 Video标签音视频重定向的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114390313A CN114390313A (zh) | 2022-04-22 |
CN114390313B true CN114390313B (zh) | 2024-02-13 |
Family
ID=81195729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111458687.XA Active CN114390313B (zh) | 2021-12-01 | 2021-12-01 | 一种浏览器HTML5 Video标签音视频重定向的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114390313B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864384A (zh) * | 2017-11-20 | 2018-03-30 | 顶联信息产业股份公司 | 重定向云桌面上互联网视频播放的方法及装置 |
CN109446460A (zh) * | 2018-10-24 | 2019-03-08 | 国云科技股份有限公司 | 一种html5在线视频重定向系统及其实现方法 |
WO2019184572A1 (zh) * | 2018-03-30 | 2019-10-03 | 中兴通讯股份有限公司 | 网页视频播放方法及装置、电子设备及存储介质 |
CN110381363A (zh) * | 2019-07-17 | 2019-10-25 | 深信服科技股份有限公司 | 视频解码方法、装置、服务器及存储介质 |
CN111526428A (zh) * | 2020-04-26 | 2020-08-11 | 湖南麒麟信安科技有限公司 | 一种在云桌面中实现html5视频播放的方法、系统及介质 |
CN112399257A (zh) * | 2019-08-16 | 2021-02-23 | 中兴通讯股份有限公司 | 云桌面视频播放方法、服务器、终端及存储介质 |
US11012498B1 (en) * | 2020-01-02 | 2021-05-18 | Microsoft Technology Licensing, Llc | Web browser multi-media redirection |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101720654B1 (ko) * | 2012-09-14 | 2017-03-28 | 한국전자통신연구원 | 가상화 시스템 및 가상화 서비스 제공방법 |
US10592417B2 (en) * | 2017-06-03 | 2020-03-17 | Vmware, Inc. | Video redirection in virtual desktop environments |
-
2021
- 2021-12-01 CN CN202111458687.XA patent/CN114390313B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864384A (zh) * | 2017-11-20 | 2018-03-30 | 顶联信息产业股份公司 | 重定向云桌面上互联网视频播放的方法及装置 |
WO2019184572A1 (zh) * | 2018-03-30 | 2019-10-03 | 中兴通讯股份有限公司 | 网页视频播放方法及装置、电子设备及存储介质 |
CN109446460A (zh) * | 2018-10-24 | 2019-03-08 | 国云科技股份有限公司 | 一种html5在线视频重定向系统及其实现方法 |
CN110381363A (zh) * | 2019-07-17 | 2019-10-25 | 深信服科技股份有限公司 | 视频解码方法、装置、服务器及存储介质 |
CN112399257A (zh) * | 2019-08-16 | 2021-02-23 | 中兴通讯股份有限公司 | 云桌面视频播放方法、服务器、终端及存储介质 |
US11012498B1 (en) * | 2020-01-02 | 2021-05-18 | Microsoft Technology Licensing, Llc | Web browser multi-media redirection |
CN111526428A (zh) * | 2020-04-26 | 2020-08-11 | 湖南麒麟信安科技有限公司 | 一种在云桌面中实现html5视频播放的方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114390313A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11875140B2 (en) | Application support for network devices | |
CN110324671B (zh) | 网页视频播放方法及装置、电子设备及存储介质 | |
CN111541930B (zh) | 直播画面的显示方法、装置、终端及存储介质 | |
CN106547417B (zh) | 显示后台任务消息的方法和装置 | |
CN109040792B (zh) | 一种视频重定向的处理方法、云终端和云桌面服务器 | |
CN109325145B (zh) | 视频缩略图的获取方法、终端及计算机可读存储介质 | |
US10147115B1 (en) | Displaying supplemental messages including advertisements or security notifications in a virtual desktop environment | |
CN113032080B (zh) | 页面实现方法、应用程序、电子设备及存储介质 | |
CN107257510B (zh) | 视频统一播放方法、终端及计算机可读存储介质 | |
WO2009101624A2 (en) | Apparatus and method for manipulating an object inserted to video content | |
CN110166810A (zh) | 视频渲染引擎切换方法、装置、设备及可读存储介质 | |
JP2005057771A (ja) | シンクライアント方式を改善したホームメディアゲートウェイのマルチメディアデータ処理装置及びその方法 | |
CN107592551A (zh) | 用于云流服务的方法和设备 | |
CN113301413A (zh) | 信息显示方法及装置 | |
WO2024139129A1 (zh) | 一种多媒体播放方法、浏览器及电子设备 | |
CN107241651B (zh) | 一种媒体数据播放方法和装置、智能终端 | |
US20140259083A1 (en) | System and method for use in enhancing the display of multimedia content | |
CN114390313B (zh) | 一种浏览器HTML5 Video标签音视频重定向的方法及系统 | |
CN117370696A (zh) | 小程序页面的加载方法、装置、电子设备及存储介质 | |
CN108664498A (zh) | 一种网页内容的显示方法及终端 | |
KR20140133096A (ko) | 가상화 웹 iptv 및 이를 이용한 동영상 스트리밍 방법 | |
CN117215442A (zh) | 显示处理方法、装置、电子设备、存储介质及程序产品 | |
KR102480372B1 (ko) | 전자장치 및 그 제어방법 | |
CN113542765A (zh) | 一种媒体数据跳变续播方法及显示设备 | |
CN117499736B (zh) | 基于windows操作系统的web浏览器插件播放前端摄像机视频的方法 |
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 |