视频播放方法、装置和计算机可读存储介质与流程

文档序号:16383739发布日期:2018-12-22 09:42阅读:139来源:国知局
视频播放方法、装置和计算机可读存储介质与流程

本申请涉及计算机技术领域,特别涉及一种视频播放方法、装置和计算机可读存储介质。

背景技术

虚拟桌面可以为用户提供部署在云端的远程计算机桌面服务,其可以使用虚拟化技术将服务器虚拟化为多台虚拟机,并在各台虚拟机中运行用户所需的操作系统和应用软件,用户可以在终端登录虚拟机并访问虚拟机资源。在虚拟桌面下,虚拟机播放视频时大量占用虚拟机资源,此时虚拟机对服务器的资源的占用率也较大,因而导致虚拟机和服务器的性能均有所下降,因此,对视频进行重定向对于提升虚拟桌面的体验有着重要的意义。

目前,在对视频进行重定向时,虚拟机可以获取待加载的超文本标记语言(hypertextmarkuplanguage,html)网页的视频(video)标签的src属性值作为该html网页中存在的视频的视频地址,然后将该视频地址发送给终端。终端接收到该视频地址后,可以根据该视频地址获取该视频并播放,从而完成视频重定向。

然而,html网页的video标签的src属性值一般都是经过加密之后转换为的临时二进制大对象(binarylargeobject,blob)地址,即html网页的video标签的src属性值通常不是视频的真实地址,因而终端根据该video标签的src属性值往往无法获取到视频,从而无法成功对视频进行重定向。



技术实现要素:

本申请提供了一种视频播放方法、装置和计算机可读存储介质,可以解决相关技术中无法成功对视频进行重定向的问题。所述技术方案如下:

第一方面,提供了一种视频播放方法,应用于虚拟桌面服务器中安装的虚拟机,所述方法包括:

当接收到终端发送的目标网页的访问指令时,向网页服务器发送所述目标网页的网页请求;接收所述网页服务器发送的所述目标网页的网页信息;当所述目标网页中存在视频时,从所述网页信息中获取所述视频的视频标识;根据所述视频的视频标识,生成所述视频的页面地址;构建浮动框架(iframe)标签,并将所述页面地址设置为所述iframe标签的src属性值;将所述iframe标签发送给所述终端,由所述终端根据所述iframe标签获取所述视频并播放。

需要说明的是,该视频的页面地址可以指示该视频所在的页面的位置,即根据该视频的页面地址可以获取到该视频所在的页面,该页面中播放有该视频。此外,该页面中还可以包括有目标网页中用于播放该视频的播放器,此时该视频是在该页面中包括的该播放器的窗体中播放。

另外,iframe标签用于创建包含另外一个文档的内联框架。iframe标签具有多个属性,其中iframe标签的src属性值为要显示的文档的文档地址。

在本申请实施例中,由于该虚拟机是根据该视频的视频标识构建的iframe标签并发送给终端的,所以终端根据接收到的该iframe标签的src属性值能够成功获取到播放有该视频的页面,从而可以成功实现对该视频的重定向。

其中,所述当所述目标网页中存在视频时,从所述网页信息中获取所述视频的视频标识,包括:当所述目标网页中存在视频时,从所述网页信息中获取所述视频的视频地址;当所述视频地址不满足预设条件时,从所述网页信息中获取所述视频的视频标识。

进一步地,当所述视频地址满足所述预设条件时,将所述视频地址发送给所述终端,由所述终端根据所述视频地址获取所述视频并播放。

需要说明的是,该视频的视频地址可以指示该视频的位置,即根据该视频的视频地址可以获取该视频。

另外,预设条件可以预先进行设置,且预设条件是用于判断从网页信息中获取的视频地址是否是真实地址的条件,即是用于判断根据从网页信息中获取的视频地址是否能够成功获取到视频的条件。

在本申请实施例中,当该视频地址不满足预设条件时,表明该视频地址不是真实地址,此时该虚拟机可以获取该视频的视频标识,以据此生成该视频的页面地址。而当该视频地址满足预设条件时,表明该视频地址是真实地址,此时该虚拟机可以将该视频地址发送给终端,以供终端根据该视频地址直接获取该视频并播放。

进一步地,所述当所述目标网页中存在视频时,从所述网页信息中获取所述视频的视频地址之前,还包括:当所述网页信息中存在video标签时,确定所述目标网页中存在视频。相应地,所述当所述目标网页中存在视频时,从所述网页信息中获取所述视频的视频地址,包括:当所述网页信息中存在video标签时,获取所述video标签的src属性值作为所述视频的视频地址。

需要说明的是,video标签用于定义视频,如定义电影片段或其他视频流。video标签具有多个属性,其中video标签的src属性值为要播放的视频的视频地址。

在本申请实施例中,该虚拟机可以根据video标签的存在与否快速判断目标网页中是否存在视频,且当目标网页中存在视频时,可以根据video标签快速获取目标网页中的视频,从而可以提高视频重定向的速度。

进一步地,所述当所述视频地址不满足预设条件时,从所述网页信息中获取所述视频的视频标识之前,还包括:当所述视频地址中不包括预设字符串时,确定所述视频地址不满足所述预设条件。当所述视频地址包括预设字符串时,确定所述视频地址满足预设条件。

其中,判断所述视频地址中是否包括预设字符串时,可以判断所述视频地址的后缀是否为预设字符串,当所述视频地址的后缀不为预设字符串时,确定所述视频地址不满足预设条件,当所述视频地址的后缀为预设字符串时,确定所述视频地址满足预设条件。

其中,所述根据所述视频的视频标识,生成所述视频的页面地址,包括:获取所述目标网页对应的构建规则;获取所述构建规则中指示的多个构建元素,所述多个构建元素中的一个构建元素为所述视频的视频标识;按照所述构建规则将所述多个构建元素进行组合,得到所述视频的页面地址。

需要说明的是,目标网页对应的构建规则为构建目标网页中的视频的页面地址的规则。

另外,该构建规则中指示的多个构建元素为构建目标网页中的视频的页面地址所需的多个信息。

值得注意的是,当该虚拟机成功获取到目标网页对应的构建规则时,表明目标网页支持视频的页面地址的分享,此时可以根据该构建规则生成该视频的页面地址。当该虚拟机未获取到目标网页对应的构建规则时,表明目标网页不支持视频的页面地址的分享,此时可以结束操作。

进一步地,所述方法还包括:获取所述视频的窗口参数,所述窗口参数包括窗口位置、窗口大小和遮挡信息;将所述窗口参数发送给所述终端,由所述终端根据所述窗口参数显示视频窗口,所述视频窗口用于播放所述视频。

在本申请实施例中,该虚拟机可以定时或实时获取该视频的窗口参数,一旦发现该视频的窗口参数发生变化,就向终端发送变化后的窗口参数,以便终端可以根据变化后的窗口参数快速调整用于播放该视频的视频窗口。

进一步地,所述方法还包括:接收所述网页服务器发送的登录信息;将所述登录信息发送给所述终端,所述登录信息用于取得所述视频的访问权限。

需要说明的是,登录信息用于取得该视频的访问权限,登录信息是该虚拟机在访问网页服务器时所使用的用于辨别用户身份的信息,一般是该虚拟机在首次访问网页服务器时由网页服务器生成并发送给该虚拟机的。实际应用中,为了保证该登录信息的安全性,可以先对该登录信息进行加密,再将加密后的该登录信息发送给终端。

在本申请实施例中,该虚拟机可以将登录信息发送给终端,此时终端可以使用该登录信息从网页服务器中获取视频,从而可以保证终端具有足够的权限访问网页服务器来获取视频,进而可以提高视频重定向的成功率。

第二方面,提供了一种视频播放方法,应用于终端,所述方法包括:

向虚拟桌面服务器中安装的虚拟机发送目标网页的访问指令;接收所述虚拟机发送的iframe标签,所述iframe标签的src属性值为所述目标网页中存在的视频的页面地址,所述页面地址是根据所述视频的视频标识生成得到,所述视频的视频标识是从所述目标网页的网页信息中获取得到;根据所述iframe标签,获取所述视频并播放。

在本申请实施例中,终端向虚拟桌面服务器中安装的虚拟机发送目标网页的访问指令。然后终端接收该虚拟机发送的iframe标签,该iframe标签的src属性值为目标网页中存在的视频的页面地址,该页面地址是根据该视频的视频标识生成得到,该视频的视频标识是从目标网页的网页信息中获取得到。之后,终端根据该iframe标签获取该视频并播放。由于本申请实施例是根据该视频的视频标识构建的iframe标签,所以终端根据该iframe标签的src属性值能够成功获取到播放有该视频的页面,从而可以成功实现对该视频的重定向。

进一步地,所述向虚拟桌面服务器中安装的虚拟机发送目标网页的访问指令之后,还包括:接收所述虚拟机发送的所述视频的视频地址,所述视频地址是从所述目标网页的网页信息中获取得到;根据所述视频地址,获取所述视频并播放。

在本申请实施例中,终端不仅可以根据接收到的iframe标签来获取视频并播放,还可以根据接收到的视频地址来获取视频并播放,从而提高了视频获取的灵活性,进而提高了视频重定向的成功率。

进一步地,所述向虚拟桌面服务器中安装的虚拟机发送目标网页的访问指令之后,还包括:接收所述虚拟机发送的所述视频的窗口参数,所述窗口参数包括窗口位置、窗口大小和遮挡信息;根据所述窗口参数显示视频窗口。相应地,所述获取所述视频并播放,包括:获取所述视频,并在所述视频窗口中播放所述视频。

其中,终端根据该窗口参数显示视频窗口时,可以将该视频窗口的大小设置为该窗口参数中的窗口大小,将该视频窗口显示在该窗口参数中的窗口位置,并根据该窗口参数中的遮挡信息确定该视频窗口中被遮挡的部分,将该视频窗口中被遮挡的部分设置为透明状态。

进一步地,所述向虚拟桌面服务器中安装的虚拟机发送目标网页的访问指令之后,还包括:接收所述虚拟机发送的登录信息,所述登录信息用于取得所述视频的访问权限;相应地,所述根据所述iframe标签,获取所述视频并播放,包括:生成携带有所述iframe标签的src属性值的页面获取请求,所述页面获取请求用于请求获取所述iframe标签的src属性值指向的页面,所述页面中播放有所述视频;向网页服务器发送所述页面获取请求和所述登录信息;当接收到所述网页服务器发送的所述页面的页面信息时,根据所述页面的页面信息显示所述页面。

在本申请实施例中,终端接收到该虚拟机发送的登录信息时,可以使用该登录信息从网页服务器中获取视频,从而可以保证终端具有足够的权限访问网页服务器来获取视频,进而可以提高视频重定向的成功率。并且,为了保证该登录信息的安全性,该登录信息可以采用加密传输,且在终端使用该登录信息从网页服务器中获取视频后,终端可以删除该登录信息。

第三方面,提供了一种视频播放装置,所述视频播放装置具有实现上述第一方面中视频播放方法行为的功能。所述视频播放装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的视频播放方法。

第四方面,提供了一种视频播放装置,所述视频播放装置具有实现上述第二方面中视频播放方法行为的功能。所述视频播放装置包括至少一个模块,所述至少一个模块用于实现上述第二方面所提供的视频播放方法。

第五方面,提供了一种视频播放装置,所述视频播放装置的结构中包括处理器和存储器,所述存储器用于存储支持视频播放装置执行上述第一方面所提供的视频播放方法的程序,以及存储用于实现上述第一方面所述的视频播放方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述视频播放装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。

第六方面,提供了一种视频播放装置,所述视频播放装置的结构中包括处理器和存储器,所述存储器用于存储支持视频播放装置执行上述第二方面所提供的视频播放方法的程序,以及存储用于实现上述第二方面所述的视频播放方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述视频播放装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。

第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的视频播放方法。

第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面所述的视频播放方法。

第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的视频播放方法。

第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的视频播放方法。

上述第三方面、第五方面、第七方面和第九方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。

上述第四方面、第六方面、第八方面和第十方面所获得的技术效果与上述第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。

本申请提供的技术方案至少可以带来以下有益效果:当虚拟桌面服务器中安装的虚拟机接收到终端发送的目标网页的访问指令时,向网页服务器发送目标网页的网页请求。之后,该虚拟机接收网页服务器发送的目标网页的网页信息,当目标网页中存在视频时,从目标网页的网页信息中获取该视频的视频标识,再根据该视频的视频标识,生成该视频的页面地址,然后构建iframe标签,并将该视频的页面地址设置为该iframe标签的src属性值。之后,该虚拟机将该iframe标签发送给终端,由终端根据该iframe标签获取该视频并播放。由于本申请实施例是根据该视频的视频标识构建的iframe标签,所以终端根据该iframe标签的src属性值能够成功获取到播放有该视频的页面,从而可以成功实现对该视频的重定向。

附图说明

图1是本申请实施例提供的一种虚拟桌面系统的结构示意图;

图2是本申请实施例提供的一种计算机设备的结构示意图;

图3是本申请实施例提供的一种视频播放方法的流程图;

图4是本申请实施例提供的一种视频播放装置的结构示意图;

图5是本申请实施例提供的另一种视频播放装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。

在对本申请实施例进行详细地解释说明之前,对本申请实施例涉及的应用场景和系统架构予以说明。

首先,对本申请实施例的应用场景进行说明。

虚拟桌面是一种典型的云计算应用,可以为用户提供部署在云端的远程计算机桌面服务,具体是使用虚拟化技术将服务器虚拟化为多台虚拟机,并在各台虚拟机中运行用户所需的操作系统和应用软件,用户可以在终端登录虚拟机并访问虚拟机资源。由于虚拟桌面中所有的业务都是在虚拟机中处理的,所以虚拟桌面时时刻刻都在消耗着服务器的资源,尤其是虚拟桌面中的视频播放对服务器的资源消耗相当大,很有可能会影响服务器的性能,因此,对视频进行重定向对于提升虚拟桌面的体验有着重要的意义。本申请实施例就应用于虚拟桌面下的视频重定向场景中。

其次,对本申请实施例的系统架构进行说明。

图1是本申请实施例提供的一种虚拟桌面系统的结构示意图。参见图1,该虚拟桌面系统包括:虚拟桌面服务器110和终端120。虚拟桌面服务器110与终端120之间可以通过桌面协议进行通信,该桌面协议可以为远程桌面协议(remotedesktopprotocol,rdp)等,本申请实施例对此不作限定。

虚拟桌面服务器110可以提供虚拟机的软件运行环境和虚拟机控制平台,虚拟机用于提供虚拟桌面环境,虚拟机中可以安装虚拟桌面服务来处理客户端与虚拟机的操作系统之间的消息交互,并接收该操作系统的消息来呈现桌面。虚拟桌面服务器110可以为一个服务器,也可以为多个服务器组成的服务器集群,本申请实施例对此不作限定。

终端120可以访问虚拟桌面服务器110中的虚拟机提供的虚拟桌面环境,终端120中可以安装客户端来接收和处理桌面协议消息。终端120可以为个人计算机(personalcomputer,pc)、瘦客户机(thinclient,tc)、安卓(android)系统设备、ios系统设备等,本申请实施例对此不作限定。

其中,虚拟桌面服务器110中安装有虚拟机111,虚拟机111中可以安装有浏览器和浏览器插件。浏览器在打开网页时,可以调用浏览器插件来进行视频重定向,具体地,浏览器插件可以先判断该网页中是否存在视频,如果该网页中存在视频,则从该网页的网页信息中获取该视频的视频标识,并根据该视频的视频标识来生成该视频的页面地址,将该页面地址发送给终端120。

其中,终端120中安装有客户端121和浏览器引擎122。客户端121接收到虚拟桌面服务器110中安装的虚拟机111发送的页面地址时,可以调用浏览器引擎122来获取视频,具体地,浏览器引擎122可以根据该页面地址获取页面并显示,该页面显示后其中播放有视频。此外,终端120中还可以包括有输出设备(如显示器等),用以显示桌面内容,以及可以包括输入设备(如鼠标、键盘等),用以进行用户输入。

图2是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以是图1中所示的虚拟桌面服务器110或终端120。参见图2,该计算机设备包括至少一个处理器201、通信总线202、存储器203以及至少一个通信接口204。

处理器201可以是一个通用中央处理器(centralprocessingunit,cpu)、微处理器、特定应用集成电路(application-specificintegratedcircuit,asic),或者可以是一个或多个用于控制本申请方案程序执行的集成电路。

通信总线202可包括一通路,用于在上述组件之间传送信息。

存储器203可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203可以是独立存在,并通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。

通信接口204使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radioaccessnetwork,ran)、无线局域网(wirelesslocalareanetworks,wlan)等。

在具体实现中,作为一种实施例,处理器201可以包括一个或多个cpu,如图2中所示的cpu0和cpu1。

在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,如图2中所示的处理器201和处理器205。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备还可以包括输出设备206和输入设备207。输出设备206和处理器201通信,可以以多种方式来显示信息。例如,输出设备206可以是液晶显示器(liquidcrystaldisplay,lcd)、发光二级管(lightemittingdiode,led)显示设备、阴极射线管(cathoderaytube,crt)显示设备或投影仪(projector)等。输入设备207和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备207可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算机设备可以是一个通用计算机设备或一个专用计算机设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备或嵌入式设备,本申请实施例不限定计算机设备的类型。

其中,存储器203用于存储执行本申请方案的程序代码210,处理器201用于执行存储器203中存储的程序代码210。该计算机设备可以通过处理器201以及存储器203中的程序代码210,来实现下文图3实施例提供的视频播放方法。

值得注意的是,在执行本申请实施例提供的视频播放方法之前,终端可以先使用桌面协议连接到虚拟桌面服务器中的虚拟机,此时该虚拟机可以为终端提供虚拟桌面环境,之后,可以在该虚拟机中安装浏览器和浏览器插件来实现视频重定向技术。并且,终端可以向该虚拟机通知终端的设备信息,该设备信息可以包括终端类型(可以以操作系统来划分)、是否支持视频重定向等。当终端支持视频重定向时,可以通过本申请实施例提供的视频播放方法来实现虚拟桌面下的视频重定向。

图3是本申请实施例提供的一种视频播放方法的流程图,该方法应用于图1所示的虚拟桌面系统中。参见图3,该方法包括:

步骤301:终端向虚拟桌面服务器中安装的虚拟机发送目标网页的访问指令。

需要说明的是,步骤301可以由终端中安装的客户端执行。

另外,目标网页可以为html网页,如可以为html5网页等,本申请实施例对此不作限定。

再者,目标网页的访问指令用于指示对目标网页进行访问,目标网页的访问指令可以由用户触发,用户可以通过鼠标操作、键盘操作等操作触发。

步骤302:当该虚拟机接收到终端发送的目标网页的访问指令时,向网页服务器发送目标网页的网页请求。

需要说明的是,步骤302可以由该虚拟机中安装的浏览器执行。

另外,目标网页的网页请求用于请求获取目标网页,目标网页的网页请求中可以携带目标网页的网页地址,如可以携带目标网页的统一资源定位符(uniformresourcelocator,url)等。

再者,网页服务器接收到目标网页的网页请求后,可以获取目标网页的网页信息并将目标网页的网页信息返回给该虚拟机。

步骤303:该虚拟机接收网页服务器发送的目标网页的网页信息。

需要说明的是,步骤303可以由该虚拟机中安装的浏览器执行。

另外,目标网页的网页信息包括目标网页中的所有内容的相关信息,如可以包括目标网页中的文字、图片、音乐等内容的相关信息。

值得注意的是,该虚拟机中安装的浏览器获取到目标网页的网页信息之后,该浏览器就可以调用该虚拟机中安装的浏览器插件来进行视频重定向,具体可以通过如下步骤304-步骤308实现。

步骤304:该虚拟机判断目标网页中是否存在视频。

需要说明的是,步骤304可以由该虚拟机中安装的浏览器插件执行。

具体地,该虚拟机可以判断目标网页的网页信息中是否存在video标签;当目标网页的网页信息中存在video标签时,确定目标网页中存在视频;当目标网页的网页信息中不存在video标签时,确定目标网页中不存在视频。当然,也可以通过其它方式判断目标网页中是否存在视频,本申请实施例对此不作限定。

需要说明的是,video标签用于定义视频,如定义电影片段或其他视频流。video标签具有多个属性,其中video标签的src属性值为要播放的视频的视频地址,如可以为要播放的视频的url。

步骤305:当目标网页中存在视频时,该虚拟机从目标网页的网页信息中获取该视频的视频标识。

需要说明的是,步骤305可以由该虚拟机中安装的浏览器插件执行。

另外,该视频的视频标识用于唯一标识该视频,该视频的视频标识可以从目标网页的网页地址中获取,也可以从目标网页的网页代码中获取,本申请实施例对此不作限定。

具体地,当目标网页中存在视频时,该虚拟机可以直接从目标网页的网页信息中获取该视频的视频标识;或者,当目标网页中存在视频时,该虚拟机可以先从目标网页的网页信息中获取该视频的视频地址,再判断该视频地址是否满足预设条件,当该视频地址不满足预设条件时,从目标网页的网页信息中获取该视频的视频标识。

进一步地,当该视频地址满足预设条件时,该虚拟机可以将该视频地址发送给终端。

需要说明的是,该视频的视频地址可以指示该视频的位置,即根据该视频的视频地址可以获取该视频。

另外,预设条件可以预先进行设置,且预设条件是用于判断从网页信息中获取的视频地址是否是真实地址的条件,即是用于判断根据从网页信息中获取的视频地址是否能够成功获取到视频的条件。

再者,当该视频地址不满足预设条件时,表明该视频地址不是真实地址,此时可以获取该视频的视频标识,以据此生成该视频的页面地址。而当该视频地址满足预设条件时,表明该视频地址是真实地址,此时可以将该视频地址发送给终端,以供终端根据该视频地址直接获取该视频并播放。

其中,当目标网页中存在视频时,该虚拟机从目标网页的网页信息中获取该视频的视频地址的操作可以为:当目标网页的网页信息中存在video标签时,获取该video标签的src属性值作为该视频的视频地址。

其中,该虚拟机判断该视频地址是否满足预设条件的操作可以为:该虚拟机判断该视频地址中是否包括预设字符串;当该视频地址中不包括预设字符串时,确定该视频地址不满足预设条件;当该视频地址包括预设字符串时,确定该视频地址满足预设条件。

需要说明的是,预设字符串可以预先进行设置,如预设字符串可以为视频类型,视频类型可以包括音频视频交错(audiovideointerleaved,avi)类型、运动图像专家组(motionpictureexpertsgroup,mpeg)4类型等。

另外,判断该视频地址中是否包括预设字符串时,具体可以判断该视频地址的后缀是否为预设字符串,当该视频地址的后缀不为预设字符串时,确定该视频地址不满足预设条件,当该视频地址的后缀为预设字符串时,确定该视频地址满足预设条件。

步骤306:该虚拟机根据该视频的视频标识,生成该视频的页面地址。

需要说明的是,步骤306可以由该虚拟机中安装的浏览器插件执行。

另外,该视频的页面地址可以指示该视频所在的页面的位置,即根据该视频的页面地址可以获取到该视频所在的页面,该页面中播放有该视频。此外,该页面中还可以包括有目标网页中用于播放该视频的播放器,此时该视频是在该页面中包括的该播放器的窗体中播放。

具体地,该虚拟机可以获取目标网页对应的构建规则;获取该构建规则中指示的多个构建元素,该多个构建元素中的一个构建元素为该视频的视频标识;按照该构建规则将该多个构建元素进行组合,得到该视频的页面地址。当然,也可以根据该视频的视频标识,以其它方式生成该视频的页面地址,本申请实施例对此不作限定。

需要说明的是,目标网页对应的构建规则为构建目标网页中的视频的页面地址的规则。例如,目标网页对应的构建规则可以为“所在网站的域名/embed/视频标识”等。

另外,该构建规则中指示的多个构建元素为构建目标网页中的视频的页面地址所需的多个信息。例如,当该构建规则为“所在网站的域名/embed/视频标识”时,该构建规则指示的多个构建元素即为目标网页所在网站的域名、embed和该视频的视频标识。

其中,该虚拟机获取目标网页对应的构建规则时,可以根据目标网页所在网站的网站标识,从存储的网站标识与构建规则之间的对应关系中,获取对应的构建规则作为目标网页对应的构建规则。当然,也可以通过其它方式获取目标网页对应的构建规则,本申请实施例对此不作限定。

需要说明的是,网站的网站标识用于唯一标识该网站,如网站的网站标识可以为该网站的名称、域名等,本申请实施例对此不作限定。

另外,当成功获取到目标网页对应的构建规则时,表明目标网页支持视频的页面地址的分享,此时可以根据该构建规则生成该视频的页面地址。当未获取到目标网页对应的构建规则时,表明目标网页不支持视频的页面地址的分享,此时可以结束操作。

步骤307:该虚拟机构建iframe标签,并将该视频的页面地址设置为该iframe标签的src属性值。

需要说明的是,步骤307可以由该虚拟机中安装的浏览器插件执行。

另外,iframe标签用于创建包含另外一个文档的内联框架。iframe标签具有多个属性,其中iframe标签的src属性值为要显示的文档的文档地址,如可以为要显示的文档的url。

步骤308:该虚拟机将该iframe标签发送给终端。

需要说明的是,步骤308可以由该虚拟机中安装的浏览器插件执行。

值得注意的是,本申请实施例中该虚拟机不仅可以构建iframe标签并发送给终端,还可以获取该视频的窗口参数,将该视频的窗口参数发送给终端。以及,该虚拟机还可以接收网页服务器发送的登录信息,将该登录信息发送给终端。

需要说明的是,该虚拟机获取该视频的窗口参数并发送给终端的操作可以由该虚拟机中安装的浏览器插件执行。该虚拟机接收网页服务器发送的登录信息并发送给终端的操作可以由该虚拟机中安装的浏览器执行。

另外,窗口参数为用于播放该视频的视频窗口的相关参数,窗口参数用于对该视频窗口进行定位,如窗口参数可以包括窗口位置、窗口大小和遮挡信息等。实际应用中,该虚拟机可以定时或实时获取该视频的窗口参数,一旦发现该视频的窗口参数发生变化,就向终端发送变化后的窗口参数。

再者,登录信息用于取得该视频的访问权限,登录信息是该虚拟机在访问网页服务器时所使用的用于辨别用户身份的信息,一般是该虚拟机在首次访问网页服务器时由网页服务器生成并发送给该虚拟机的。该登录信息可以为小型文本文件(cookies)等。实际应用中,为了保证该登录信息的安全性,可以先对该登录信息进行加密,再将加密后的该登录信息发送给终端。

值得注意的是,本发明实施例中该虚拟机在接收到网页服务器发送的目标网页的网页信息,可以不获取目标网页中的视频,仅根据目标网页的网页信息获取目标网页中除视频之外的其它网页内容并显示。

步骤309:终端接收该虚拟机发送的iframe标签。

需要说明的是,步骤309可以由终端中安装的客户端执行。

另外,该iframe标签的src属性值为目标网页中存在的视频的页面地址,该视频的页面地址是根据该视频的视频标识生成得到,该视频的视频标识是从目标网页的网页信息中获取得到。

步骤310:终端根据该iframe标签,获取目标网页中的视频并播放。

需要说明的是,步骤310可以由终端中安装的浏览器引擎执行。

具体地,终端可以生成携带有该iframe标签的src属性值的页面获取请求,该页面获取请求用于请求获取该iframe标签的src属性值指向的页面,该页面中播放有目标网页中的视频;将该页面获取请求发送给网页服务器;当接收到网页服务器发送的该页面的页面信息时,根据该页面的页面信息显示该页面。

值得说明的是,显示该页面后,该页面中就播放有目标网页中的视频。由于该页面中还可以包括有目标网页中用于播放该视频的播放器,且该视频是在该页面中包括的该播放器的窗体中播放的,所以终端可以直接通过该页面中的该播放器控制该视频的播放,这种情况下,对该视频进行重定向后的视频播放效果与原始视频的播放效果相同。

进一步地,终端可能会接收到该虚拟机发送的iframe标签,也可能会接收到该虚拟机发送的目标网页中的视频的视频地址,该视频的视频地址是从目标网页的网页信息中获取得到。当终端接收到该虚拟机发送的目标网页中的视频的视频地址时,可以根据该视频的视频地址,获取该视频并播放。

需要说明的是,终端接收该虚拟机发送的目标网页中的视频的视频地址的操作可以由终端中安装的客户端执行,终端根据该视频的视频地址获取该视频并播放操作可以由终端安装的浏览器引擎来执行。

另外,当该视频的视频地址是目标网页的video标签的src属性值时,终端在接收到该虚拟机发送的目标网页中的视频的视频地址时,可以先创建html网页,并将该html网页的video标签的src属性值设置为该视频的视频地址,然后可以加载该html网页的网页内容,加载该html网页的网页内容即是根据该视频的视频地址获取该视频并播放。

其中,终端根据该视频的视频地址,获取该视频并播放时,可以生成携带有该视频的视频地址的视频获取请求;将该视频获取请求发送给网页服务器;当接收到网页服务器发送的该视频的视频数据时,根据该视频的视频数据播放该视频。

值得注意的是,终端还可以接收该虚拟机发送的该视频的窗口参数,该窗口参数可以包括窗口位置、窗口大小和遮挡信息等。当终端接收到该虚拟机发送的该视频的窗口参数时,可以根据该窗口参数显示视频窗口。之后,终端在获取该视频并播放时,可以先获取该视频,再在该视频窗口中播放该视频。

其中,终端根据该窗口参数显示视频窗口时,可以将该视频窗口的大小设置为该窗口参数中的窗口大小,将该视频窗口显示在该窗口参数中的窗口位置,并根据该窗口参数中的遮挡信息确定该视频窗口中被遮挡的部分,将该视频窗口中被遮挡的部分设置为透明状态。

其中,终端在该视频窗口中播放该视频时,如果终端是根据该iframe标签的src属性值指向的页面的页面信息显示该页面,则可以将该页面在该视频窗口中进行显示,如果该终端是根据该视频的视频数据播放该视频,则可以将该视频在该视频窗口中进行播放。

值得注意的是,终端还可以接收该虚拟机发送的登录信息,该登录信息用于取得视频的访问权限。当终端接收到该虚拟机发送的登录信息时,可以使用该登录信息从网页服务器中获取视频。具体地,终端在向网页服务器发送该页面获取请求或该视频获取请求的同时,可以将该登录信息也发送给网页服务器,以保证终端具有足够的权限访问网页服务器来获取视频。

另外,为了保证该登录信息的安全性,该登录信息可以采用加密传输,且在终端使用该登录信息从网页服务器中获取视频后,终端可以删除该登录信息。

值得说明的是,本申请实施例中可以从目标网页的网页信息中尽可能的挖掘有效信息,据此来实现视频重定向。在对视频进行重定向后,可以减少虚拟桌面服务器的压力,减少资源占用,避免视频播放对虚拟桌面服务器的性能的影响,且由于终端是直接从网页服务器中获取视频,所以可以大大减少从该虚拟机到终端的传输带宽。并且,相比于相关技术中虚拟机要先对视频进行压缩再传输到终端的方式,本申请实施例可以避免压缩对视频质量的影响,保证视频的播放效果。

进一步地,考虑到终端的能力有限,为了避免视频播放对终端造成过大的压力,本申请实施例中还可以限制重定向的视频数量。具体地,可以在重定向的视频数量小于数量阈值时,向该虚拟机通知终端支持视频重定向,在重定向的视频数量大于或等于数量阈值时,向该虚拟机通知终端不支持视频重定向。其中,数量阈值可以预先进行设置。

进一步地,为了增强通用性,防止终端因不能连接外网而导致视频重定向失败,还可以增加代理服务器,终端可以通过代理服务器来从网页服务器中获取视频。

在本申请实施例中,终端向虚拟桌面服务器中安装的虚拟机发送目标网页的访问指令,当该虚拟机接收到终端发送的目标网页的访问指令时,向网页服务器发送目标网页的网页请求。之后,该虚拟机接收网页服务器发送的目标网页的网页信息,当目标网页中存在视频时,从目标网页的网页信息中获取该视频的视频标识,再根据该视频的视频标识,生成该视频的页面地址,然后构建iframe标签,并将该视频的页面地址设置为该iframe标签的src属性值。之后,该虚拟机将该iframe标签发送给终端。当终端接收到该虚拟机发送的该iframe标签时,根据该iframe标签获取该视频并播放。由于本申请实施例是根据该视频的视频标识构建的iframe标签,所以终端根据该iframe标签的src属性值能够成功获取到播放有该视频的页面,从而可以成功实现对该视频的重定向。

图4是本申请实施例提供的一种视频播放装置的结构示意图,该装置应用于虚拟桌面服务器中安装的虚拟机,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,当图2所示的计算机设备为虚拟桌面服务器时,该计算机设备可以为图2所示的计算机设备。参见图4,该装置包括:第一发送模块401、第一接收模块402、第一获取模块403、生成模块404、构建模块405和第二发送模块406。

第一发送模块401,用于执行图3实施例中的步骤302;

第一接收模块402,用于执行图3实施例中的步骤303;

第一获取模块403,用于执行图3实施例中的步骤305;

生成模块404,用于执行图3实施例中的步骤306;

构建模块405,用于执行图3实施例中的步骤307;

第二发送模块406,用于执行图3实施例中的步骤308。

可选地,第一获取模块403包括:

第一获取单元,用于当目标网页中存在视频时,从网页信息中获取视频的视频地址;

第二获取单元,用于当视频地址不满足预设条件时,从网页信息中获取视频的视频标识。

可选地,第一获取模块403还包括:

第一确定单元,用于当网页信息中存在视频video标签时,确定目标网页中存在视频;

相应地,第一获取单元用于:

当网页信息中存在video标签时,获取video标签的src属性值作为视频的视频地址。

可选地,第一获取模块403还包括:

第二确定单元,用于当视频地址中不包括预设字符串时,确定视频地址不满足预设条件。

可选地,第一获取模块403还包括:

第三发送模块,用于当视频地址满足预设条件时,将视频地址发送给终端,由终端根据视频地址获取视频并播放。

可选地,生成模块404包括:

第三获取单元,用于获取目标网页对应的构建规则;

第四获取单元,用于获取构建规则中指示的多个构建元素,多个构建元素中的一个构建元素为视频的视频标识;

组合单元,用于按照构建规则将多个构建元素进行组合,得到视频的页面地址。

可选地,该装置还包括:

第二获取模块,用于获取视频的窗口参数,窗口参数包括窗口位置、窗口大小和遮挡信息;

第四发送模块,用于将窗口参数发送给终端,由终端根据窗口参数显示视频窗口,视频窗口用于播放视频。

可选地,该装置还包括:

第二接收模块,用于接收网页服务器发送的登录信息;

第五发送模块,用于将登录信息发送给终端,登录信息用于取得视频的访问权限。

在本申请实施例中,当虚拟桌面服务器中安装的虚拟机接收到终端发送的目标网页的访问指令时,向网页服务器发送目标网页的网页请求。之后,该虚拟机接收网页服务器发送的目标网页的网页信息,当目标网页中存在视频时,从目标网页的网页信息中获取该视频的视频标识,再根据该视频的视频标识,生成该视频的页面地址,然后构建iframe标签,并将该视频的页面地址设置为该iframe标签的src属性值。之后,该虚拟机将该iframe标签发送给终端,由终端根据该iframe标签获取该视频并播放。由于本申请实施例是根据该视频的视频标识构建的iframe标签,所以终端根据该iframe标签的src属性值能够成功获取到播放有该视频的页面,从而可以成功实现对该视频的重定向。

图5是本申请实施例提供的一种视频播放装置的结构示意图,该装置应用于终端,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,当图2所示的计算机设备为终端时,该计算机设备可以为图2所示的计算机设备。参见图5,该装置包括:发送模块501、第一接收模块502和第一播放模块503。

发送模块501,用于执行图3实施例中的步骤301;

第一接收模块502,用于执行图3实施例中的步骤309;

第一播放模块503,用于执行图3实施例中的步骤310。

可选地,该装置还包括:

第二接收模块,用于接收虚拟机发送的视频的视频地址,视频地址是从目标网页的网页信息中获取得到;

第二播放模块,用于根据视频地址,获取视频并播放。

可选地,该装置还包括:

第三接收模块,用于接收虚拟机发送的视频的窗口参数,窗口参数包括窗口位置、窗口大小和遮挡信息;

显示模块,用于根据窗口参数显示视频窗口;

相应地,第一播放模块用于:

获取视频,并在视频窗口中播放视频。

可选地,该装置还包括:

第四接收模块,用于接收虚拟机发送的登录信息,登录信息用于取得视频的访问权限;

相应地,第一播放模块503包括:

生成单元,用于生成携带有iframe标签的src属性值的页面获取请求,页面获取请求用于请求获取iframe标签的src属性值指向的页面,页面中播放有视频;

发送单元,用于向网页服务器发送页面获取请求和登录信息;

显示单元,用于当接收到网页服务器发送的页面的页面信息时,根据页面的页面信息显示页面。

在本申请实施例中,终端向虚拟桌面服务器中安装的虚拟机发送目标网页的访问指令。然后终端接收该虚拟机发送的iframe标签,该iframe标签的src属性值为目标网页中存在的视频的页面地址,该页面地址是根据该视频的视频标识生成得到,该视频的视频标识是从目标网页的网页信息中获取得到。之后,终端根据该iframe标签获取该视频并播放。由于本申请实施例是根据该视频的视频标识构建的iframe标签,所以终端根据该iframe标签的src属性值能够成功获取到播放有该视频的页面,从而可以成功实现对该视频的重定向。

需要说明的是:上述实施例提供的视频播放装置在视频播放时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频播放装置与视频播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digitalsubscriberline,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digitalversatiledisc,dvd))或半导体介质(例如:固态硬盘(solidstatedisk,ssd))等。

以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1