CN110324671A - 网页视频播放方法及装置、电子设备及存储介质 - Google Patents

网页视频播放方法及装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110324671A
CN110324671A CN201810276875.2A CN201810276875A CN110324671A CN 110324671 A CN110324671 A CN 110324671A CN 201810276875 A CN201810276875 A CN 201810276875A CN 110324671 A CN110324671 A CN 110324671A
Authority
CN
China
Prior art keywords
video
cloud
parameter
information
frame
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
CN201810276875.2A
Other languages
English (en)
Other versions
CN110324671B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201810276875.2A priority Critical patent/CN110324671B/zh
Priority to EP19774543.3A priority patent/EP3780637A4/en
Priority to PCT/CN2019/073018 priority patent/WO2019184572A1/zh
Publication of CN110324671A publication Critical patent/CN110324671A/zh
Application granted granted Critical
Publication of CN110324671B publication Critical patent/CN110324671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234309Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/4402Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种网页视频播放方法及装置、电子设备及存储介质。应用于云服务器中所述网页视频播放方法包括:获取网页中视频的视频参数;将所述视频参数发送给云终端,其中,所述视频参数用于供所述云终端解码并播放所述视频。

Description

网页视频播放方法及装置、电子设备及存储介质
技术领域
本发明涉及网络技术领域的云计算技术,尤其涉及一种网页视频播放方法 及装置、电子设备及存储介质。
背景技术
标准通用标记语言(HTML)5是第五次重大修改提出来的。HTML允 许直接在网页中嵌入视频,利用网页进行视频播放。在HTML5提出来之前, 若需要在网页中播放视频,均是通过在网页中添加Flash插件,Flash插件可 以请求并解码视频,从而实现通过Flash插件来嵌入网页中播放视频;实质 上网页中是没有直接***视频的。
在云计算领域提出了云桌面技术,云桌面技术包括:运行云桌面的云服 务器和云终端;在云终端内允许有接入到云服务器的客户端。若利用云桌面 技术直接展示网页,有时候会导致云服务器消耗大量的中央处理器单元 (Centre Processer Unit,CPU)及内存等资源,导致云服务器的负载率高及 响应速度慢的问题,尤其是当网页中直接嵌入有视频时,这种现象更加明显。
发明内容
有鉴于此,本发明实施例期望提供一种网页视频播放方法及装置、电子设 备及存储介质,至少部分解决上述问题。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供一种网页视频播放方法,应用于云服务器中, 包括:
获取网页中视频的视频参数;
将所述视频参数发送给云终端,其中,所述视频参数用于供所述云终端解 码并播放所述视频。
第二方面,本发明实施例提供一种网页视频播放方法,应用于云终端中, 包括:
接收云服务器发送的视频参数;
根据所述视频参数,解码云桌面中网页内的视频;
在云终端播放解码后的视频。
第三方面,本发明实施例提供一种网页视频播放装置,应用于云服务器中, 包括:
获取模块,用于获取网页中视频的视频参数;
发送模块,用于将所述视频参数发送给云终端,其中,所述视频参数用于 供所述云终端解码并播放所述视频。
第四方面,本发明实施例提供一种网页视频播放装置,应用于云终端中, 包括:
接收模块,用于接收云服务器发送的视频参数;
解码模块,用于根据所述视频参数,解码云桌面中网页内的视频;
播放模块,用于在云终端播放解码后的视频。
第五方面,本发明实施例提供一种电子设备,包括:收发器、存储器、处 理器及存储在存储器上由处理器执行的计算机程序;
所述处理器与所述收发器及所述存储器连接,用于通过执行所述计算机程 序,实现前述一个或多个技术方案提供的网页视频播放方法。
第六方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质 存储有计算机程序;所述计算机程序被执行后,实现前述一个或多个技术方案 提供的网页视频播放方法。
本发明实施例提供的网页视频播放方法及装置、电子设备及存储介质,在 利用云服务器进行云终端的云桌面运行时,为了减少网页中需要浏览器自行解 封装和解码的自带视频的解码消耗云服务器大量的计算资源和/或存储资源等, 导致云服务器消耗的资源大、负载率高及因负载率高进一步导致的响应速度慢 的问题,云服务器会获取网页中视频的视频参数,将视频参数发送给云终端, 供云终端自行解码网页中的视频并播放视频,从而利用云终端的计算资源和/ 或存储资源等进行网页中视频的解码,从而解决云服务器因为网页中视频解码 导致的资源开销大、负载率高及响应速度慢的问题,降低了云服务器的资源开 销、降低了云服务器的负载率,并使得云服务器有更多的资源来提升响应速率; 并减少了因云服务器解码网页中视频慢导致的视频播放延时大、播放不流畅等 问题,提升了云桌面中视频播放的流畅性。
附图说明
图1为本发明实施例提供的第一种网页视频播放方法的流程示意图;
图2为本发明实施例提供的一种具有视频解码功能的解封装组件的加载示 意图;
图3为本发明实施例提供的一种播放伪视频帧的显示示意图;
图4为本发明实施例提供的云终端在播放伪视频帧之上显示网页中视频的 播放示意图;
图5为本发明实施例提供的第二种网页视频播放方法的流程示意图;
图6为本发明实施例提供的第三种网页视频播放方法的流程示意图;
图7为本发明实施例提供的第四种网页视频播放方法的流程示意图;
图8为本发明实施例提供第一种网页视频播放装置的结构示意图;
图9为本发明实施例提供第二种网页视频播放装置的结构示意图;
图10为本发明实施例提供的一种云服务器或云终端的结构示意图;
图11为本实施例提供的一种视频播放***的结构示意图;
图12为本发明实施例提供的第五种网页视频播放方法的流程示意图;
图13为本发明实施例提供的第六种网页视频播放方法的流程示意图;
图14为本发明实施例提供的第七种网页视频播放方法的流程示意图;
图15为本发明实施例提供的第八种网页视频播放方法的流程示意图;
图16为本发明实施例提供的第九种网页视频播放方法的流程示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐 述。
如图1所示,本实施例提供一种网页视频播放方法,应用于服务器中,包 括:
步骤S110:获取网页中视频的视频参数;
步骤S120:将所述视频参数发送给云终端,其中,所述视频参数用于供所 述云终端解码并播放所述视频。
在本实施例中所述云服务器为布置在网络侧的服务器,可以执行云桌面的 运行技术,所述云桌面可以由云服务器中的虚拟机所运行。
所述云终端可包括:固定终端和/或移动终端。所述固定终端可为个人电脑、 固定投影设备等。所述移动终端可包括:手机、平板电脑或可穿戴设备等可以 移动的电子设备。
在步骤S110中获取网页中视频的视频参数,该视频参数可包括以下至少之 一:
所述视频的URL;
视频的文件参数;
视频控制信息;
视频的流参数。
根据所述URL可以到存储有所述视频的视频服务器中请求到对应视频的 视频内容。所述视频内容可包括:图像内容、音频内容及字幕内容中的一种或 多种。若当前视频为一个无声视频,则所述视频内容仅包括图像内容,或,仅 包括图像内容及字幕内容。若当前视频为一个有声视频,则视频内容至少包括: 图像内容及音频内容。若当前视频是一个有字幕视频,则该视频内容会包括字 幕内容,否则不包括字幕内容。
所述视频的文件参数可包括:该视频对应的视频文件的文件格式、文件尺 寸以及文件的创建信息及修改信息中的一个或多个。所述文件格式可为mp4格 式等视频文件的格式。所述文件尺寸,用于指示视频文件包括的字节数等数据 量。所述文件的创建信息可包括:文件的创建时间、创建人等与视频文件创建 相关的信息。文件的修改信息可包括:文件被修改的时间、修改人等与视频文 件相关的信息。
所述流参数可包括:流数目、播放时长等信息。所述流数目与视频内容包 括的种类相关,例如,视频内容包括图像内容、音频内容及字幕内容,则流数 量为3,若视频内容包括图像内容及音频内容,则流数目为2。所述播放时长为 该视频按照标准播放速度进行播放所需消耗的时间长度。
所述视频控制信息可包括:视频播放的控制指令代码,若检测到用户的暂 停、快进、后退、前进、播放等用户输入时,该视频播放控制信息会执行控制 指令代码实现视频播放的暂停、快进、后退、前进、播放等一系列操作,方便 用户控制视频播放。
在本发明实施例中视频参数分为了第一视频参数和第二视频参数,第一视 频参数不包括视频的URL,而第二视频参数可包括视频的URL。
在本实施例中云服务器会获取到网页中视频的视频参数,将视频参数发送 给云终端,由云终端自行进行网页中视频的解码并输出视频,显然云服务器就 不用再解码网页中的视频了,从而减少网页中视频解码所消耗的各种计算资源、 内存资源等,从而降低了云服务器的负荷,进而可以降低云服务器的负载率, 并减少因云服务器的负载率高导致的播放延时的问题。
可选地,所述步骤S110可包括:
利用具有视频解码功能的解封装组件从浏览器接收所述网页中视频的统一 资源地址(Uniform Resource Locator,URL);例如,利用标准通用标记语言 (HTML5)解封装组件从浏览器接收所述网页中视频的统一资源地址(Uniform Resource Locator,URL);
解析所述URL获得所述视频参数。若所述视频的视频内容由云服务器来请 求,则所述HTML5解封装组件,还会根据所述URL从云服务器请求视频内容, 若所述视频内容由所述云终端自行请求,则所述云服务器会将所述URL发送给 云终端,供云终端基于所述URL自行从视频服务器中请求所述视频内容。
在本实施例中所述云服务器中可以加载专用的HTML5解封装组件 (Source),该HTML5解封装组件与所述浏览器(例如,IE)之间建立有专用 接口,该接口可为应用可编程接口(Application Programming Interface,API) 可以向IE请求当前网页中视频的URL,或者,IE会自动向HTML5解封装组 件发送所述URL。浏览器加载网页时会解码网页,从而能够自动解析出视频标 签,从而获得所述URL。在本实施例中,所述HTML5解封装组件是从浏览器 接收所述URL,不是依赖当前网页的脚本语言(例如,Java Scrip,JS)遍历网 页中的视频标签<video>来获取URL。在一些情况下,网页的提供商会采用不同 的方式设置视频标签,或者会隐藏标签等,若利用脚本语言来遍历网页读取视 频标签,会导致视频标签无法读取的问题,从而提升了获取网页中视频的通用 性,提升了网页中视频的URL的获取能力和通用性。
可选地,如图所示,所述方法还包括:
步骤S101:屏蔽所述浏览器的默认解封装组件的加载;
步骤S102:加载所述具有视频解码功能的解封装组件,例如,HTML5解 封装组件,或专门开发的具有视频解码功能的解封装组件;
步骤S103:所述HTML5解封装组件加载后,从所述浏览器接收所述URL。
在实施例中设置监控组件,监控所述浏览器与注册表之间的通信,例如, 通过检测浏览器和注册表之间信息交互的接口(即所述注册表接口)来确定所 述浏览器当前打开的网页是否中直接包含有视频,需要通过视频的解封装组件 的调用来进行视频文件的解封装和解码。该监控组件可以多种,不局限于具体 的哪一种,例如,该监控组件可为浏览器助手对象(Browser Helper Object,BHO) 组件,BHO组件监控所述注册表接口,所述注册表接口可为浏览器与注册表之 间的接口,若所述浏览器当前加载的网页中直接嵌入有视频,则会通过所述注 册表接口发送第一读取请求,该第一读取请求用于从注册表中读取浏览器的默 认解封装组件的注册表信息,读取注册表信息之后就可以加载默认解封装组件。在本实施例中所述BHO可为设置在所述浏览器和注册表之间的组件,若所述 浏览器向注册表发送第一读取请求,需要通过所述BHO。所述BHO接收到浏 览器发送的第一读取请求之后,会解析所述第一读取请求,若所述第一读取请 求中携带的信息表明所述浏览器读取默认解封装组件的注册表信息,则BHO 等监控组件可以通过执行以下操作,屏蔽浏览器的默认解封装组件的加载,且 触发HTML5解封装组件的加载,以下提供几种可选方式:
方式一:若监控到注册接口读取所述浏览器的默认解封装组件的第一注册 表信息的第一读取请求,所述BHO会直接拦截所述第一读取请求,使得所述 第一读取请求无法达到注册表,且BHO会触发云服务器或BHO直接加载 HTML5解封装组件,从而实现了利用HTML5解封装组件替换浏览器的默认解 封装组件。
方式二:若监控到注册接口读取第一注册表信息的第一读取请求,修改第 一读取请求形成第二读取请求,第二读取请求中携带读取第二注册表信息的标 识信息,该标识信息可为包含有所述第二注册表信息的注册表的表标识,或所 述第二注册表信息所在注册表的表行或表列等可以定位到所述第二注册表信息 的指示信息。
方式三:若监控到注册接口读取第一注册表信息的第一读取请求时,可以 修改注册表,将注册表中的第一注册表信息修改为第二注册表信息,这样向浏 览器从注册表接口直接读取到的第二注册表信息,会基于第二注册表信息启动 所述HTML5解封装组件的加载,并屏蔽了浏览器默认的解封装组件的加载。 在本方式中修改注册表的操作可以为暂时操作,向浏览器返回第二注册表信息 之后,可以恢复所述注册表的原始内容,即将所述第二注册表信息修改为第一 注册表信息。
所述加载HTML5解封装组件包括:HTML5解封装组件的初始化。该初始 化可包括:启动HTML5解封装组件的运行代码的运行,并与所述浏览器进行 信息交互的专用接口设置好。从而方便所述HTML5解封装组件从浏览器获取 所述URL等视频参数。
在本实施例中所述浏览器为运行在云服务器中云桌面上的浏览器,由于本 实施例中所述浏览器的默认解封装组件的加载被屏蔽了,就可以实现浏览器中 的视频解码任务转移到云终端,利用云终端自身的资源来解码视频,并显示在 云终端的云桌面内。
屏蔽所述默认解封装组件的方式有多种,具体实现时不局限于上述任意一 种。
在一些实施例中,所述方法还包括:
在所述云服务器的云桌面中播放伪视频帧,其中,所述伪视频帧为未加载 视频内容的帧,这种没有加载视频内容的帧可称之为空白帧。
所述伪视频帧可包括:伪图像帧及伪音频帧组成。
由于视频解码和播放由所述云终端自行实现,所述云服务器中的云桌面可 以暂停视频播放,但是为了确保云桌面与云终端保持同步。在本实施例中会在 云服务器的云桌面中播放伪视频帧。该伪视频帧为未记载有内容的空白帧。空 白帧的播放效果为:在显示窗口无显示,处于黑屏状态,音频组件无声音输出。 伪播放帧由于未加载数据,故云服务器进行伪视频帧的播放时,进行帧与帧之 间切换时,每次读取的数据都一样,每次刷新的数据都一样,故消耗的云服务 器的资源就少,从而减少了云服务器的资源消耗。
在本实施例中,所述空白帧可为没有图像内容、没有音频内容及字幕内容 的无内容的视频帧。
在本实施例中,所述伪视频帧的播放与云终端中的真实视频的视频帧播放 是保持同步的,故而云服务器就可以了解到云桌面的当前运行状态。例如,这 种同步可以体现在,若当前云终端播放视频的第x图像帧,则云服务器中应该 是播放第x伪图像帧。
在一些实施例中,所述方法还包括:
根据所述视频参数创建播放对象;
根据所根据所述播放对象构建所述伪视频帧。
在本实施例中所述创建播放对象,该播放对象可为一个数据类型对象。该 播放对象定义了所述伪图像帧的数据格式等信息。
故在本实施例中,可以根据所根据所述播放对象构建所述伪视频帧。例如, 根据所述流参数构建所述播放对象。
在一些实施例中,所述根据所根据所述播放对象构建所述伪视频帧,包括:
创建预定图像格式的图像对象;
创建预定音频格式的音频对象;
所述根据所根据所述播放对象构建所述伪视频帧,包括:
根据所述图像对象,构建伪图像帧;
根据所述音频对象,构建伪音频帧;
所述根据所述播放对象构建所述伪视频帧,包括:
渲染所述图像帧并显示所述伪图像帧;
渲染所述伪音频帧并播放所述伪音频帧。在本实施例中,预定图像格式的 图像对象;预定音频格式的音频对象均是不用解码,直接进入到渲染的图形格 式,故在本实施例中若服务器的云桌面中播放伪视频帧则可为:直接渲染所述 图像帧并显示所述伪图像帧;及渲染所述伪音频帧并播放所述伪音频帧
在本实施例中所述预定图像格式的图像对象和预定音频格式的音频对象。 在本实施例中,所述预定图像格式和预定音频格式可为无需解码,直接渲染就 可以输出的格式类型。例如,所述预定图像格式可为红绿蓝(Red Green Blue, RGB)格式。所述预定音频格式可为脉冲编码调制(Pulse Code Modulation, PCM)格式。这样在云服务器中播放伪图像帧时,即便解码空白帧本来就消耗 资源少,但是还可以直接跳过解码流程,直接进行画面及音频渲染,输出伪图 像帧。
可选地,所述方法还包括:
获取所述云桌面中播放所述伪视频帧的第一显示区域的区域参数;
将所述区域参数发送给所述云终端,其中,所述区域参数用于供所述云终 端在与所述第一显示区域对应的第二显示区域内播放视频,所述第二显示区域 覆盖在所述第一显示区域之上。
在本实施例中所述区域参数可包括:
位置参数,该位置参数可以用于描述所述伪图像帧的显示位置,例如,第 一显示区域为矩形时,矩形的四个顶点的位置参数。
位置参数和尺寸参数,例如,该位置参数可为第一显示区域的一个顶点的 位置参数,尺寸参数可用于指示第一显示区域的宽和高等信息。
总之,所述区域参数可为所述云终端确定出第一显示区域在云桌面中位置 的信息。这样云终端会根据该区域参数在云终端的显示屏上的覆盖所述第一显 示区域的第二显示区域内播放视频,避免云服务器将云桌面同步到云终端,由 于第二显示区域未覆盖第一显示区域,使得用户可以看到云桌面在播放伪视频 成像的黑屏效果,从而确保云终端的播放效果。
图3为云终端直接从云服务器下载云桌面之后显示的效果示意图,显然在 云桌面的中间位置内视频窗口内是无显示内容的,因为云服务器端播放的空白 的视频帧。
图4为云终端在从云服务器下载云桌面显示如图3之后的内容之后,自行 根据视频参数解码出网页中的视频,并在网页内视频窗口内显示视频的效果示 意图。
可选地,所述方法还包括:
接收所述云终端上报的播放进度信息;
根据所述播放进度信息,控制所述云桌面中伪视频帧的播放进度。
在本实施例中云终端自行解码并播放视频,用户操作云终端控制视频播放 的指令不用同步到云桌面,云终端会直接上报播放进度信息,而云服务器会根 据云终端上报的真正视频的播放进度信息,控制伪视频的播放进度,以实现云 终端中真帧视频的播放进度与云服务器中的伪视频的播放进度的一致。
例如,若云终端直接从视频服务器直接基于URL请求视频内容,并自行解 码进行视频播放,则云服务器需要云终端上报所述播放进度信息。在另一些实 施例中,若所述视频内容是由云服务器直接下发给云终端的,则所述云服务器 可以根据云终端从云服务器请求视频内容的请求确定出云终端中视频的播放进 度信息,从而不用额外从云终端请求播放进度信息。在还有一些实施例中,所 述云终端向云服务器请求视频内容时,会在请求视频内容的请求中携带所述播 放进度信息,从而一方面实现了播放进度信息的请求,另一方面也实现了云终 端的视频内容的请求。
在一些实施例中,云服务器向终端发送的视频参数为第一视频参数,则所 述方法还包括:
获取网页中视频的视频内容;
将所述视频内容发送给所述云终端。
在本实施例中所述视频内容由云服务器先获取,获取之后存储在云服务器 的缓存队列中,然后逐一发送给所述云终端。例如,根据所述HTML5解封装 组件获得的URL,从视频服务器中请求所述视频内容并缓存。
例如,所述云服务器可以与云终端建立传输控制协议(Transmission ControlProtocol,TCP)连接,利用TCP连接向云终端发送所述视频内容,从而确保 所述视频内容的高可靠性传输。
在另一些实施例中,所述方法还包括:
所述视频参数为第二视频参数,第二视频参数包括:所述视频的URL,所 述URL,用于供所述云终端从所述视频的视频服务器请求所述视频的视频内 容。云终端直接从云服务器接收的视频参数为包括URL的第二视频参数,则云 终端会直接给予URL从视频服务器请求视频。
可选地,所述方法还包括:
根据预定策略确定是否进行视频解码的转移;
所述步骤S120可包括:
若所述预定策略确定进行视频解码的转移,将所述视频参数发送给所述云 终端。
根据预定策略确定是否进行视频解码的转移有多种方式,以下提供几种方 式:
第一种:
根据预定策略,确定所述视频参数确定是满足视频解码转移的条件;
第二种:
根据预定策略,确定云终端的解码能力确定是否满足视频解码转移的条件;
第三种:
根据预定策略,确定所述视频参数及所述云终端的解码能力是否满足视频 解码转移的条件。
所述视频参数及云终端的解码能力参数均可作为判断是否满足视频解码转 移的条件的依据参数。所述解码能力参数可为标准所述云终端的解码能力的指 示参数。例如,所述解码能力参数可以用于指示云终端是否支持该视频所需的 解码类型,解码类型可包括硬件解码及软件解码等。该解码能力参数可为云终 端上报的,例如,云终端可以直接上报自身的解码能力参数,也可以通过上报 自身的终端类型等终端参数,云服务器根据终端参数查询出云终端的解码能力 参数。
在一些实施例中,所述预定策略中配置有依据参数与解码方式的对应关系, 这里的解码方式包括:云终端解码方式和云服务器解码方式。故可以直接与依 据参数的匹配,确定出解码方式,若当前解码方式为云终端解码,则确认满足 所述视频解码转移的条件。
例如,所述预定策略中备注有两种解码方式与视频参数的对应关系,将当 前获得视频参数与预定策略中的视频参数进行匹配,然后确定出解码方式,若 确定出由云终端进行解码,则将所述视频参数发送给所述云终端,而不是云服 务器直接解码在云桌面中播放,云终端仅是同步云桌面的显示界面而已。若确 定出由云终端解码,则将所述视频参数发送给云终端,由云终端自行解码并输 出视频。
在一些实施例中,所述根据预定策略及所述视频参数确定是否进行视频解 码的转移,包括以下至少之一:
判断所述视频的URL是否预设URL;若所述URL为预设URL则确定进 行视频解码的转移;
判断所述视频的播放时长是否达到预设时长;若所述播放时长达到预设时 长,则确定进行视频解码的转移。
例如,在所述云服务器中配置有由云终端进行解码的视频的URL,故可以 将当前网页中视频的URL与配置文件中的URL进行匹配,若匹配成功则由云 终端进行界面,否则由云服务器进行解码。
在一些实施例中,若当前视频是网页中一个播出时长非常小的广告等小视 频,即便转移视频解码的任务,也不会减少云服务器特别多的负载,则可以由 所述云服务器自行解码。故还可以根据播放时长来确定,如流参数中指示的用 标准速率播放视频的播放时长不小于预设时长,例如,10、15、20、45分钟等 预示时长时,则由云终端来分担视频界面的任务,来减少云服务器的负荷。
在该实施例中,所述云服务器直接将URL发送给云终端,云终端可以直接 从云服务器请求视频内容,则此时所述云服务器都不用从云服务器请求视频内 容,从而减少了云服务器接收和发送视频内容所消耗的带宽,减少了云服务器 缓存视频内容所消耗的缓存,进一步减少了云服务器的资源消耗。
在一些实施例中若云终端直接从视频服务器请求视频的视频内容,则所述 云服务器还会向所述云服务器发送预定信息,该预定信息携带有云终端从视频 服务器获取视频所需的鉴权信息。该鉴权信息可为播放所述视频的标识及与标 识对应的密码,例如,视频会员的用户标识及用户设置的密码。所述用户标识 可为用户名等。该预定信息可为云服务器的缓存(cookie)信息或者会话(session) 信息。如云服务器从视频服务器中请求视频,则可能将鉴权信息保留在缓存信 息中,故在本实施例中云服务器可以将自身的cookie信息发送给云终端,就实 现了鉴权信息的发送。在还有一些实施例中,所述云服务器与视频服务器建立 会话,通过会话来请求视频的视频内容和/或视频参数的,则此时会话信息中也 可能存储有鉴权信息,故在本实施例中还可以通过会话信息的发送,使得所述 云终端获取鉴权信息。
如图5所示,本实施例提供一种视频播放方法,应用于云终端中,包括:
步骤S210:接收云服务器发送的视频参数;
步骤S220:根据所述视频参数,解码云桌面中网页内的视频;
步骤S230:在云终端播放解码后的视频。
在本实施例中云终端会接收云服务器发送的视频参数,利用视频参数自行 解码云桌面中显示网页内的视频,而无需占用云服务器的资源来进行视频解码, 可以转移云服务器的负荷,减少因为云服务器的负载率过高导致的视频播放延 时大的问题。
在本实施例中所述视频参数的具体内容可以参见前述实施例,在本实施例 中就不再重复了。
在所述步骤S230中包括:在云终端显示的云桌面内显示视频的图像帧,并 输出音频帧。
在本实施例中所述云终端会从云服务器同步云桌面,并在本地显示;在本 实施例中云终端利用自身的资源解码视频之后,会在本地显示的云桌面的显示 区域内显示所述视频。该显示区域的区域位置可以由所述云服务器告知云终端, 也可以由云终端自行解析从云服务器接收的云桌面来确定显示区域。例如,云 服务器播放伪图像帧,则会在云桌面开辟一个视频窗口,该视频窗口内因播放 为位视频帧呈现大面积连续的黑色,则所述云终端可以解析同步云桌面的截屏, 定位出连续分布加到的黑色区域为所述显示区域,将自行解码的视频的图像帧 覆盖在该显示区域上输出,就会在云终端呈现出云桌面内播放网页中视频的视 频播放效果。
在一些实施例中,如图6所示,所述方法还包括:
步骤S201:从所述云服务器接收所述视频的视频内容。云服务器根据视频 的URL从视频服务器请求视频内容,缓存在云服务器中,然后基于云终端的请 求或自行向云终端发送视频内容,该视频内容可包括:前述的图像内容、音频 内容及字幕内容中的至少其中之一。
在另一些实施例中,如图7所示,所述方法还包括:
步骤S202:云终端根据第二视频参数中的URL从视频服务器中获取所述 视频的视频内容。云终端直接从视频服务器请求视频内容,这样云服务器就不 用消耗带宽和缓存空间类传输和缓存视频内容,进一步降低云服务的开销。
可选地,所述方法还包括:
接收在云服务器内播放伪图像帧的第一显示区域的区域参数;其中,所述 伪图像帧为空白帧;
所述步骤S230可包括:
根据所述区域参数在所述云桌面内的第二显示区域显示视频。
在本实施例中所述云服务器会将第一显示区域的区域参数发送给云终端, 云终端就可以根据第一区域参数确定出本地显示的第二显示区域的位置,从而 在第二显示区域内显示自行解码的视频。
若云终端直接显示播放伪图像帧的云桌面如图所示,若云终端在云桌面上 叠加播放网页中的视频,则播放效果如图所示。在本实施例中,在云终端本地, 第一显示区域和第二显示区域重叠。
在一些实施例中,如图6或图7所示,所述方法还包括:
步骤S240:向所述云服务器发送视频的播放进度信息,其中,所述播放进 度信息,用于供所述云服务器控制伪视频帧的播放进度。
若云终端的视频播放采用默认播放速度,且没有暂停、快进、倒退等操作 时,则云服务器中的伪视频帧可以根据默认播放速度执行伪视频的播放即可, 不用获取播放进度信息,也可以保持云终端和云服务器的播放同步。但是为了 确保万一不同步,在本实施例中,所述云终端会上报播放进度信息给云服务器 进行伪视频帧的播放进度控制。
在一些实施例中,所述云终端接收的视频参数还包括:视频控制信息,如 此,用户在云终端上就可以直接控制视频的播放。若采用云服务器解码并播放 视频,则云终端仅操作用户输入,将用户输入传输给云服务器,最终由云服务 器控制视频的播放进度。而在本实施例中,由云终端从接收的视频参数中获取 视频控制信息,采集到用户输入之后,会根据视频控制信息中的控制代码执行 视频播放进度的控制,从而调整所述视频的播放进度。若播放进度调整了,则 需要将播放进度上报给云服务器,供云服务器进行伪图像帧的播放进度控制。
在本实施例中若云终端自行从视频服务器请求视频的视频内容,则所述云 终端还会从云服务器接收预定信息,该预定信息中携带有鉴权信息,在向视频 服务器请求网页中视频的视频内容时,会发送携带有该鉴权信息的访问请求, 从而方便视频服务器进行鉴权,在鉴权通过之后,云终端可以顺利请求到视频 的视频内容。
如图8所示,本实施例提供一种网页视频播放装置,应用于云服务器中, 包括:
获取模块101,用于获取网页中视频的视频参数;
发送模块102,用于将所述视频参数发送给云终端,其中,所述视频参数 用于供所述云终端解码并播放所述视频。
在本实施例中所述获取单元及发送单元均可以为程序模块,由处理器执行 之后能够获取视频参数并发送给处理器。将视频参数发送给云终端之后,由云 终端自行解码进行网页中视频的播放,转移云服务器解码视频的负荷,从而减 少云服务器中的资源的消耗。
可选地,所述获取模块101,具体可用于利用HTML5解封装组件等具有视 频解码功能的解封装组件从浏览器接收所述网页中视频的统一资源地址URL; 解析所述URL获得所述视频参数。
在本实施例中所述HTML5解封装组件可为利用HTML5专门开发的组件, 所述具有视频解码功能的解封装组件还可以是网页语言等开发的具有视频解码 能力的组件。所述具有视频解码功能的解封装组件可以与浏览器进行信息交互, 从而获得网页中视频的URL,并解析该URL获得视频参数。该视频参数可通 过解析URL来获取。在URL中可携带有各种视频参数,例如,文件参数、流 参数等。在一些实施例中,也可以由所述HTML5解封装组件从视频服务器中 请求部分视频参数。
可选地,所述装置还包括:
屏蔽模块,用于屏蔽所述浏览器的默认解封装组件的加载;
加载模块,用于加载具有视频解码功能的解封装组件,例如,所述HTML5 解封装组件;
所述获取模块101,用于所述HTML5解封装组件在被加载后从浏览器接收 所述网页中视频的统一资源地址URL。
所述屏蔽模块,用于监控所述浏览器的注册表接口;当所述注册表接口接 收到第一注册表信息的第一读取请求时,拦截所述第一读取请求,其中,所述 第一注册表信息为所述默认解封装组件的注册表信息;该屏蔽模块可为所述 BHO组件的一个组成部分;所述装置还包括:拦截模块,可为前述BHO组件 的组成部分,可用于当所述注册表接口接收到所述浏览器的加载解封装组件的 第一读取请求时,拦截所述第一读取请求,加载所述HTML5解封装组件。或 者,所述装置还包括:修改模块,用于修改所述第一读取请求,形成从所述注 册表中读取所述第二注册表信息的第二读取请求。
在一些实施例中,所述屏蔽模块,用于将注册表中的第一注册表信息修改 为第二注册表信息,其中,所述第一注册表信息为:所述浏览器的默认解封装 组件的注册表信息;所述第二注册表信息为所述HTML5解封装组件的注册表 信息;所述加载模块,用于接收从所述注册表中读取的所述第二注册表信息; 并基于所述第二注册表信息,加载所述HTML5解封装组件。
可选地,所述装置还包括:
构建模块,可为HTML5解封装组件的组成部分,可用于在所述云服务器 的云桌面中播放伪视频帧,其中,所述伪视频帧为未加载视频内容的空白帧。
所述构建模块,具体用于根据所述视频参数创建播放对象;
播放模块,用于根据所根据所述播放对象构建所述伪视频帧。
在一些实施例中,所述构建组件,具体用于创建预定图像格式的图像对象; 创建预定音频格式的音频对象;根据所述图像对象,构建伪图像帧;根据所述 音频对象,构建伪音频帧;
所述播放模块,还用于渲染所述图像帧并显示所述伪图像帧;
渲染所述伪音频帧并播放所述伪音频帧。
可选地,所述装置还包括:
区域参数获取模块101,还用于获取所述云桌面中播放所述伪视频帧的第 一显示区域的区域参数;所述发送模块102,还用于将所述区域参数发送给所 述云终端,其中,所述区域参数用于供所述云终端在与所述第一显示区域对应 的第二显示区域内播放视频,所述第二显示区域覆盖在所述第一显示区域之上。
可选地,所述装置还包括:接收模块,用于接收所述云终端上报的播放进 度信息;控制模块,用于根据所述播放进度信息,控制所述云桌面中伪视频帧 的播放进度。
所述数据获取模块101,还用于获取网页中视频的视频内容;
发送模块102,还用于将所述视频内容发送给所述云终端,其中,所述视 频参数用于供所述云终端解码并输出。
可选地,所述视频参数包括:所述视频的URL,所述URL,用于供所述云 终端从所述视频的视频服务器请求所述视频的视频内容。
所述装置还包括:
确定模块,用于根据预定策略确定是否进行视频解码的转移;
所述发送模块102,还用于若所述预定策略确定进行视频解码的转移,将 所述视频参数发送给所述云终端。
可选地,所述确定模块,至少用于执行以下至少之一:判断所述视频的URL 是否预设URL;若所述URL为预设URL则确定进行视频解码的转移;判断所 述视频的播放时长是否达到预设时长;若所述播放时长达到预设时长,则确定 进行视频解码的转移。
如图9所示,本实施例提供一种网页视频播放装置,应用于云终端中,包 括:
接收模块201,用于接收云服务器发送的视频参数;
解码模块202,用于根据所述视频参数,解码云桌面中网页内的视频;
播放模块203,用于在云终端播放解码后的视频。
该接收模块201、解码模块202及播放模块203均可以为程序模块,处理 器通过这些程序模块的执行,能够实现视频参数的接收、网页中射频的解码, 并播出解码后的视频。
可选地,所述装置还包括:
接收模块201,用于从所述云服务器接收所述视频的视频内容;或,根据 所述视频参数中的统一资源地址URL从视频服务器其中所述视频的视频内容。
所述接收模块201,还用于接收在云服务器内播放伪图像帧的第一显示区 域的区域参数;其中,所述伪图像帧为空白帧;
所述播放模块203,还用于根据所述区域参数在所述云桌面内的第二显示 区域显示视频。
可选地,所述装置还包括:发送模块,用于向所述云服务器发送视频的播 放进度信息,其中,所述播放进度信息,用于供所述云服务器控制伪视频帧的 播放进度。
所述接收模块201,还用于接收所述云服务器发送的预定信息,其中,所 述预定信息至少携带有获取所述视频的鉴权信息。
如图10所示,本实施例提供一种电子设备,包括:收发器301、存储器302、 处理器303及存储在存储器302上由处理器303执行的计算机程序;
所述处理器与所述收发器及所述存储器连接,用于通过执行所述计算机程 序,实现前述一个或多个实施例提供的网页视频播放方法,例如,图1至图2、 图5至图7及图12至图16所示网页视频播放方法中的一个或多个。
本实施例中所述收发器301可对应于网络接口,该网络接口可对应于天线 等无线接口,还可以对应于电缆或光缆的有线接口。
所述存储器302可包括:各种类型的存储介质,可以用于数据存储。在本 实施例中,所述存储器302包括的存储介质至少部分为非易失性存储介质,可 以用于存储所述计算机程序。
所述处理器303可包括:中央处理器、微处理器、数字信号处理器、应用 处理器、专用集成电路或可编程阵列等,可以用于通过计算机程序的执行小区 信号质量的确定。
在本实施例中,所述处理器303可通过集成电路总线等设备内总线,与所 述收发器330及存储器302连接。
该电子设备可以为前述的云服务器或云终端。
本实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程 序;所述计算机程序被执行后,实现前述一个或多个实施例提供的网页视频播 放方法,例如,图1至图2、图5至图7及图12至图16所示网页视频播放方 法中的一个或多个。
本发明实施例提供的计算机存储介质包括:移动存储设备、只读存储器 (ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。可选为,所述计算 机存储介质可为非瞬间存储介质。这里的非瞬间存储介质又可以称为非易失性 存储介质。
以下结合上述任意实施例提供几个具体示例:
示例1:
如图11所示,本示例提供一种网页视频播放***,包括:
云服务器,运行有BHO组件220、HTML5解封装(Source)组件230 及云桌面代理组件240。
所述BHO组件,用于监控云服务器运行的浏览器的注册表接口,浏览 器播放HTML5的视频时会查找解码的解封装组件,当IE读视频解码的 Source的信息时,将读取的注册表信息为HTML5Source的注册表信息用来 替换IE浏览器原有的默认Source的注册表信息,然后IE会加载 HTML5Source来替代默认Source的加载。
1、HTML5Source
HTML5Source会获取视频文件的URL、文件信息、流信息、视频控制 信息、视频数据以及音频内容。缓存这些数据,发送数据到云桌面客户端, 以及创建伪视频音频内容等。
2、云桌面代理组件。
云桌面代理组件主要负责转发数据
在云桌面中增加如下模块:
播放模块210,播放模块接收云桌面代理组件发送的多媒体数据,播放 模块初始化视音频解码信息,负责解码播放视频。
如图12所示,云服务器中的一台或多台虚拟机运行的云桌面内的浏览器 在显示网页时,判断当前网页中是否存在视频,该视频可为直接嵌入到网页 中的HTML5视频等,例如,可通过浏览器判断网页中是否存在Video标签。
浏览器中BHO组件根据策略判断是否走重定向流程;如果重定向走c、d、e 流程;如果不重定向走f、g、h;这里的重定向相当于前述的视频解码转移。
a、如果走重定向流程浏览器自带的Source组件会被HTML5Source组件替 换;
b、HTML5Source组件转发真实视频信息或者URL,并伪造RGB图片;
c、浏览器直接渲染RGB图片;
d、浏览器加载IE自带的Source组件进行解码;
e、解码视频;
f、显卡渲染。
示例2:
如图13所示,本示例提供的网页视频播放方法包括:
401:IE请求HTML5视频服务器的数据;
402:IE检测到网页标签中包括HTML5的视频标签(<video>)后会 向注册表中读取Source组件的注册表信息来解析视频文件,读取的注册信 息被BHO组件截获到。
403:BHO组件判断如果是读取Source组件的注册表信息进入步骤 404,如果是其他注册表信息进入步骤405:
404:BHO组件直接返回HTML5Source组件的注册表信息并进入步骤 407;
405:BHO组件转发其他注册表信息;
406:返回其他注册表信息给IE;
407:IE加载从注册表中查询到的HTML5Source组件,并初始化组件, 将视频信息的URL传递到组件中。该视频信息至少可包括前述视频参数, 例如,第一视频参数或第二视频参数;
408:HTML5Source组件去IE提供接口读取文件内容,例如,前述视 频内容;
409:HTML5Source组件缓存视频内容并构建供云服务器显示的伪视 频帧,具体操作可如下:
A:分析文件参数、流参数、图像内容及音频内容并缓存;
B:创建MEDIATYPE对象将视频SubType设置为 MEDIASUBTYPE_RGB(也可以是其他的类型,RGB的视频信息浏览器 不用解码会直接渲染不会浪费资源);
C:创建MEDIATYPE对象将音频对象的SubType设置为 MEDIASUBTYPE_PCM,(也可以是其他的类型,这里PCM的音频信 息IE不用解码,会直接渲染,不会浪费资源);
D:构建流信息描述符对象,将视频的音频内容和图像内容缓存起来。
410:HTML5Source组件将409缓存的音频内容和图像内容及视频参 数等视频信息通过TCP连接(同理可以是其他进程间通讯)传递给云桌 面代理组件。
411:云桌面代理组件将视频信息转发到云终端内的客户端。
412:云桌面客户端程序接收到411发送的信息后初始化播放模块, 初始化音频视频解码模块以及播放窗口。
413:IE会从HTML5Source组件获取409构建的流信息描述符对象。
414:IE接收到视频流描述等信息后会启动视频播放并请求流帧信息。
415:HTML5Source组件接收到获取的启动信息及请求帧信息后,构 造伪视频帧,具体操作可如下:
A:判断缓存队列中的帧数据是否存在,不存在就走416流程读取视频 文件数据;
B:从读取的文件数据中解析完整的帧添加到缓存队列;
C:根据409缓存的帧宽帧高伪造RGB(2,1,3)(可以是其他特 殊容易对比的颜色)的图像帧;
D:根据音频内容伪造PCM音频帧。
416:当415步骤中如果帧缓存队列不足时会向IE请求读取视频文 件的视频内容。
417:HTML5Source组件从帧缓存队列获取缓存的图像帧和音频帧 发送到云桌面代理组件;
418:云桌面代理组件转发417步骤的图像帧和音频帧到客户端,客 户端根据收到的图像帧和音频帧进行解码播放;
419:HTML5Source组件返回414的请求结果,将415伪造的类型 为RGB和PCM的伪视频帧给IE,供云服务器中IE直接用来展示。
步骤414至419是一个循环的过程,直到视频播放完毕为止。
420:HTML5Source组件启动定时器,获取云桌面内浏览器窗口内颜 色为RGB(2,1,3)的区域判断视频窗口的大小;
421:HTML5Source组件将420获取的视频窗口大小通过云桌面代理 组件同步到云终端的客户端程序,客户端程序收到视频窗口的大小以及 遮挡情况给本客户端的视频窗口大小完成对云桌面内为RGB(2,1,3) 区域的遮挡;
422:IE调用播放控制接口,HTML5Source组件获取播放控制信息;
423:HTML5Source组件获取到播放控制信息,响应这些播放控制并 将这些信息通过云桌面代理组件同步到云终端的客户端程序中,客户端响应 这些播放控制信息。
示例3:
以火狐/谷歌浏览器为例,提供一个网页视频的播放方法,具体实施流 程可如图14所示,火狐/谷歌的具体实施与IE相比主要区别在加载HTML5 Source组件流程不同,BHO(Browser Helper Object)组件是IE特有的,新 增程序监控模块,此示例中云终端网络与云桌面的网络互通,不要求云终端 能访问公网,说明如下:
501:监控模块监控到火狐/谷歌浏览器启动时将动态链接库 (Dynamic LinkLibrary,DLL)通过远程注入方法注入到火狐/谷歌浏览器 中,火狐/谷歌监控模块会HOOK技术替换MFCreateSourceResolverAPI及 Creat;
502:火狐/谷歌浏览器请求视频服务器,如果web页面中带HTML5 视频标签时会创建Source组件;
503:火狐/谷歌调用MFCreateSourceResolver API创建 IMFSourceResolver接口;
504:监控模块监控到API调用,监控到MFCreateSourceResolver(浏 览器的默认解封装组件)调用;
505:监控模块调用HTML5Source组件接口初始化;
506:监控模块返回初始化后的Source接口;该source接口可为HTML Source组件与浏览器之间的接口;
507:火狐/谷歌调用Source接口,将视频的URL传递到HTML5source 组件中。后续步骤,可参见图13中的408至423。
示例4:
HTML5Source组件直接获取URL传递给客户端播放模块,与示例3 相比要求云终端网络与云桌面的网络互通同时也要求云终端能访问公网,参 见图15所示,具体可包括:
410中HTML5Source传递的为非视频信息,传递的为视频URL;同时 包括视频会员等Cookie和/或Session信息;
新增601:获取发送过来的URL后,客户端将cookie信息和/或Session 信息写入客户端,同时客户端播放模块直接去视频服务器请求视频内容;
去掉图13中的步骤417、418步骤;
新增602:客户端模块定时获取客户端当前播放进度,每5S去云桌面 中浏览器同步;按照预定时间间隔进行播放进度的同步,在本示例中预定时 间间隔为5S,在具体实现时,还可以是10S等其他时间。
新增603:HTML5Source组件获取同步信息后更新当前播放进度。
示例5:
参见图16所示,IE浏览器具体示例3流程图,主要区别在于没有BHO 组件和转发模块说明如下:
701:HTML5Source组件直接修改IE的注册表,将注册表中的默认解 封装组件的注册表信息修改为HTML5Source组件的注册表信息。
702:IE请求HTML5视频服务器数据。
703:IE检测到标签中包括HTML5的<video>标签后会向注册表中读取 Source信息来解析视频文件,读取的注册信息;
704:返回HTML5Source信息;
705:IE加载从注册表中查询到的HTML5Source组件,并初始化组件, 将媒体的URL传递到组件中;后续步骤可以参见图13中的步骤408至步骤 423。
示例5:
本示例在示例3的基础上HTML5Source组件传递的为非视频信息,传 递的为视频URL;同时包括视频会员等Cookie和session信息;例如,云终 端接收到URL之后,会向云服务器发送响应告知获得了URL会从云服务器 请求视频内容,进一步地,所述云终端还会进一步向云服务器上报从视频服 务器请求的视频内容的状况信息,该状况信息可包括:是否成功请求到视频 等。
新增步骤:获取发送过来的URL后,客户端将cookie信息写入客户端 同时客户端播放模块直接去视频服务器请求视频内容;
去掉图13中步骤417及418,从云服务器获取图像帧及音频帧的步骤。
新增步骤:客户端模块定时获取客户端当前播放进度,每5S去云桌面 中浏览器同步;
新增步骤:HTML5Source组件获取同步信息后更新当前播放进度。
本发明实施例提供的网页视频播放方法相对于现有技术由云服务器的 浏览器的默认解封装组件进行网页中视频的解封装及解码具有以下优点:
1)获取Web页面中HTML5的<video>等视频内容方式不依赖Web页 面本身,不需要遍历标签,是通过IE浏览器内部获取到文件URL,与视频 页面无耦合,维护升本低;
2)这种视频处理方法适合于所有基于HTML5视频网站,适合和IE采 用同样播放方式的浏览器(火狐/谷歌等),通用性比较好;
3)视频解码在云终端可以大大缓解云桌面内CPU和内存资源,并大大 提高视频清晰度。
综上所述:本示例提出了一种基于云桌面环境下HTML5网页视频处理 方法。通过这种方法可以高效地满足HTML5视频领域对云桌面的使用要求, 节省用户资源,满足用户等要求,同时不耦合视频网站页面维护成本低,是 一项极具特色的亮点功能。对云桌面领域的推广,起到很好的示范作用。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法, 可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如, 所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分 方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特 征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、 或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通 信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作 为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方, 也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部 单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块 中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集 成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用 硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、 随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种 可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限 于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应以所述权利要求的保护范围为准。

Claims (25)

1.一种网页视频播放方法,其特征在于,应用于云服务器中,包括:
获取网页中视频的视频参数;
将所述视频参数发送给云终端,其中,所述视频参数用于供所述云终端解码并播放所述视频。
2.根据权利要求1所述的方法,其特征在于,
所述获取网页中视频的视频参数,包括:
利用标准具有视频解析功能的解封装组件从浏览器接收所述网页中视频的统一资源地址URL;
解析所述URL获得第一视频参数。
3.根据权利要求2所述的方法,其特征在于,
所述具有视频解析功能的解封装组件,包括通用标记语言HTML5组件。
4.根据权利要求2所述的方法,其特征在于,
所述方法还包括:
屏蔽所述浏览器的默认解封装组件的加载;
加载所述具有视频解析功能的解封装组件;
所述利用具有视频解析功能的解封装组件从浏览器接收所述网页中视频的统一资源地址URL,包括:
所述具有视频解析功能的解封装组件加载后,从所述浏览器接收所述URL。
5.根据权利要求4所述的方法,其特征在于,
所述屏蔽浏览器的默认解封装组件的加载,包括:
监控所述浏览器的注册表接口;
当所述注册表接口接收到第一注册表信息的第一读取请求时,拦截所述第一读取请求,其中,所述第一注册表信息为所述默认解封装组件的注册表信息;
所述加载所述具有视频解析功能的解封装组件,包括:
若拦截到所述第一读取请求,向所述浏览器返回所述具有视频解析功能的解封装组件的第二注册表信息;或,修改所述第一读取请求,形成从所述注册表中读取所述第二注册表信息的第二读取请求。
6.根据权利要求4所述的方法,其特征在于,
所述屏蔽浏览器的默认解封装组件的加载,包括:
将注册表中的第一注册表信息修改为第二注册表信息,其中,所述第一注册表信息为:所述浏览器的默认解封装组件的注册表信息;所述第二注册表信息为所述具有视频解析功能的解封装组件的注册表信息;
所述加载所述具有视频解析功能的解封装组件,包括:
接收从所述注册表中读取的所述第二注册表信息;
基于所述第二注册表信息,加载所述具有视频解析功能的解封装组件。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述云服务器的云桌面中播放伪视频帧,其中,所述伪视频帧为未加载视频内容的帧。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据所述视频参数创建播放对象;
根据所述播放对象构建所述伪视频帧。
9.根据权利要求8所述的方法,其特征在于,
所述根据所述视频参数创建播放对象,包括:
创建预定图像格式的图像对象;
创建预定音频格式的音频对象;
所述根据所述播放对象构建所述伪视频帧,包括:
根据所述图像对象,构建伪图像帧;
根据所述音频对象,构建伪音频帧;
所述根据所述播放对象构建所述伪视频帧,包括:
渲染所述图像帧并显示所述伪图像帧;
渲染所述伪音频帧并播放所述伪音频帧。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取所述云桌面中播放所述伪视频帧的第一显示区域的区域参数;
将所述区域参数发送给所述云终端,其中,所述区域参数用于供所述云终端在与所述第一显示区域对应的第二显示区域内播放视频,所述第二显示区域覆盖在所述第一显示区域之上。
11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述云终端上报的播放进度信息;
根据所述播放进度信息,控制所述云桌面中伪视频帧的播放进度。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取网页中视频的视频内容;
将所述视频内容发送给所述云终端。
13.根据权利要求1所述的方法,其特征在于,
所述视频参数为第二视频参数,所述第二视频包括:所述视频的URL,所述URL,用于供所述云终端从所述视频的视频服务器请求所述视频的视频内容。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
将预定信息发送给所述云终端,其中,所述预定信息至少携带有获取所述视频的鉴权信息。
15.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预定策略确定是否进行视频解码的转移;
所述将所述视频参数发送给云终端,包括:
若所述预定策略确定进行视频解码的转移,将所述视频参数发送给所述云终端。
16.根据权利要求15所述的方法,其特征在于,
所述根据预定策略确定是否进行视频解码的转移,包括以下至少之一:
判断所述视频的URL是否预设URL;若所述URL为预设URL则确定进行视频解码的转移;
判断所述视频的播放时长是否达到预设时长;若所述播放时长达到预设时长,则确定进行视频解码的转移。
17.一种网页视频播放方法,其特征在于,应用于云终端中,包括:
接收云服务器发送的视频参数;
根据所述视频参数,解码云桌面中网页内的视频;
在云终端播放解码后的视频。
18.根据权利要求17所述的方法,其特征在于,
所述方法还包括:
从所述云服务器接收所述视频的视频内容;
或,
根据接收的第二视频参数中的统一资源地址URL从视频服务器其中所述视频的视频内容。
19.根据权利要求18所述的方法,其特征在于,
所述方法还包括:
接收在云服务器内播放伪图像帧的第一显示区域的区域参数;其中,所述伪图像帧为空白帧;
所述在云终端播放解码后的视频,包括:
根据所述区域参数在所述云桌面内的第二显示区域显示视频。
20.根据权利要求19所述的方法,其特征在于,
所述方法还包括:
向所述云服务器发送视频的播放进度信息,其中,所述播放进度信息,用于供所述云服务器控制伪视频帧的播放进度。
21.根据权利要求19所述的方法,其特征在于,所述方法还包括:
接收所述云服务器发送的预定信息,其中,所述预定信息至少携带有获取所述视频的鉴权信息。
22.一种网页视频播放装置,其特征在于,应用于云服务器中,包括:
获取模块,用于获取网页中视频的视频参数;
发送模块,用于将所述视频参数发送给云终端,其中,所述视频参数用于供所述云终端解码并播放所述视频。
23.一种网页视频播放装置,其特征在于,应用于云终端中,包括:
接收模块,用于接收云服务器发送的视频参数;
解码模块,用于根据所述视频参数,解码云桌面中网页内的视频;
播放模块,用于在云终端播放解码后的视频。
24.一种电子设备,其特征在于,包括:收发器、存储器、处理器及存储在存储器上由处理器执行的计算机程序;
所述处理器与所述收发器及所述存储器连接,用于通过执行所述计算机程序,实现权利要求1至16或17至21任一项提供的网页视频播放方法。
25.一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后,实现权利要求1至16或17至21任一项提供的网页视频播放方。
CN201810276875.2A 2018-03-30 2018-03-30 网页视频播放方法及装置、电子设备及存储介质 Active CN110324671B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810276875.2A CN110324671B (zh) 2018-03-30 2018-03-30 网页视频播放方法及装置、电子设备及存储介质
EP19774543.3A EP3780637A4 (en) 2018-03-30 2019-01-24 METHOD AND DEVICE FOR REPLAYING WEBPAGE VIDEOS, ELECTRONIC DEVICE AND STORAGE MEDIUM
PCT/CN2019/073018 WO2019184572A1 (zh) 2018-03-30 2019-01-24 网页视频播放方法及装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810276875.2A CN110324671B (zh) 2018-03-30 2018-03-30 网页视频播放方法及装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110324671A true CN110324671A (zh) 2019-10-11
CN110324671B CN110324671B (zh) 2021-06-08

Family

ID=68062542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810276875.2A Active CN110324671B (zh) 2018-03-30 2018-03-30 网页视频播放方法及装置、电子设备及存储介质

Country Status (3)

Country Link
EP (1) EP3780637A4 (zh)
CN (1) CN110324671B (zh)
WO (1) WO2019184572A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111083527A (zh) * 2019-12-31 2020-04-28 北京视博云科技有限公司 应用的视频播放方法、装置、存储介质及电子设备
CN113595976A (zh) * 2021-06-15 2021-11-02 阿里巴巴新加坡控股有限公司 多媒体播放方法、云服务器、***及存储介质
CN114666621A (zh) * 2022-03-22 2022-06-24 阿里云计算有限公司 页面处理方法、装置及设备
CN115278348A (zh) * 2022-07-05 2022-11-01 深圳乐播科技有限公司 一种投屏方法及装置
CN115695843A (zh) * 2022-10-27 2023-02-03 中国联合网络通信集团有限公司 预制视频播放方法、服务器、终端、介质及***
WO2023051166A1 (zh) * 2021-09-29 2023-04-06 中兴通讯股份有限公司 云桌面显示方法、终端、云桌面***、设备及可读介质
CN116896655A (zh) * 2023-09-05 2023-10-17 银河麒麟软件(长沙)有限公司 一种用于云桌面的视频重定向方法、***及介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147928A (zh) * 2019-12-03 2020-05-12 西安万像电子科技有限公司 视频处理方法、服务器、终端及***
CN111093091A (zh) * 2019-12-11 2020-05-01 西安万像电子科技有限公司 视频处理方法、服务器及***
CN113949917B (zh) * 2020-07-16 2023-09-15 深圳瞬玩科技有限公司 基于云手机的在线视频同步方法和***
CN113497967B (zh) * 2021-05-26 2023-03-14 浙江大华技术股份有限公司 基于浏览器的视频帧切换方法、装置和存储介质
CN114390313B (zh) * 2021-12-01 2024-02-13 湖南麒麟信安科技股份有限公司 一种浏览器HTML5 Video标签音视频重定向的方法及***
JP2024038804A (ja) * 2022-09-08 2024-03-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095791A (zh) * 2011-11-08 2013-05-08 财团法人资讯工业策进会 提供虚拟桌面的云***及于虚拟桌面播放多媒体的方法
CN103905927A (zh) * 2012-12-26 2014-07-02 华为技术有限公司 虚拟桌面场景下视频重定向的方法、桌面服务器和***
CN104113770A (zh) * 2013-04-18 2014-10-22 深圳市云帆世纪科技有限公司 网页视频点播方法和装置
CN104159150A (zh) * 2014-08-19 2014-11-19 龙芯中科技术有限公司 云终端、云服务器、媒体数据流播放***及方法
EP2963885A1 (en) * 2014-07-03 2016-01-06 HOB GmbH & Co. KG A client-server-communication system running a client-side-script-program
CN105791892A (zh) * 2016-03-02 2016-07-20 汉柏科技有限公司 一种基于桌面云的视频重定向方法、云服务器及***
CN106682028A (zh) * 2015-11-10 2017-05-17 阿里巴巴集团控股有限公司 获取网页应用的方法、装置及***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001098934A2 (en) * 2000-06-20 2001-12-27 Privo, Inc. Method and apparatus for granting access to internet content
US9124668B2 (en) * 2013-05-20 2015-09-01 Citrix Systems, Inc. Multimedia redirection in a virtualized environment using a proxy server
CN104168434A (zh) * 2014-08-28 2014-11-26 深圳市银翔科技有限公司 视频文件的存储、播放和管理方法
US10320943B2 (en) * 2015-07-29 2019-06-11 Dell Products L.P. Geography based HTML5 content redirection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095791A (zh) * 2011-11-08 2013-05-08 财团法人资讯工业策进会 提供虚拟桌面的云***及于虚拟桌面播放多媒体的方法
CN103905927A (zh) * 2012-12-26 2014-07-02 华为技术有限公司 虚拟桌面场景下视频重定向的方法、桌面服务器和***
CN104113770A (zh) * 2013-04-18 2014-10-22 深圳市云帆世纪科技有限公司 网页视频点播方法和装置
EP2963885A1 (en) * 2014-07-03 2016-01-06 HOB GmbH & Co. KG A client-server-communication system running a client-side-script-program
CN104159150A (zh) * 2014-08-19 2014-11-19 龙芯中科技术有限公司 云终端、云服务器、媒体数据流播放***及方法
CN106682028A (zh) * 2015-11-10 2017-05-17 阿里巴巴集团控股有限公司 获取网页应用的方法、装置及***
CN105791892A (zh) * 2016-03-02 2016-07-20 汉柏科技有限公司 一种基于桌面云的视频重定向方法、云服务器及***

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111083527A (zh) * 2019-12-31 2020-04-28 北京视博云科技有限公司 应用的视频播放方法、装置、存储介质及电子设备
CN113595976A (zh) * 2021-06-15 2021-11-02 阿里巴巴新加坡控股有限公司 多媒体播放方法、云服务器、***及存储介质
WO2023051166A1 (zh) * 2021-09-29 2023-04-06 中兴通讯股份有限公司 云桌面显示方法、终端、云桌面***、设备及可读介质
CN114666621A (zh) * 2022-03-22 2022-06-24 阿里云计算有限公司 页面处理方法、装置及设备
CN115278348A (zh) * 2022-07-05 2022-11-01 深圳乐播科技有限公司 一种投屏方法及装置
CN115278348B (zh) * 2022-07-05 2023-11-17 深圳乐播科技有限公司 一种投屏方法及装置
CN115695843A (zh) * 2022-10-27 2023-02-03 中国联合网络通信集团有限公司 预制视频播放方法、服务器、终端、介质及***
CN115695843B (zh) * 2022-10-27 2024-06-18 中国联合网络通信集团有限公司 预制视频播放方法、服务器、终端、介质及***
CN116896655A (zh) * 2023-09-05 2023-10-17 银河麒麟软件(长沙)有限公司 一种用于云桌面的视频重定向方法、***及介质
CN116896655B (zh) * 2023-09-05 2023-12-26 银河麒麟软件(长沙)有限公司 一种用于云桌面的视频重定向方法、***及介质

Also Published As

Publication number Publication date
EP3780637A4 (en) 2021-05-05
EP3780637A1 (en) 2021-02-17
WO2019184572A1 (zh) 2019-10-03
CN110324671B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN110324671A (zh) 网页视频播放方法及装置、电子设备及存储介质
TWI714156B (zh) 多媒體播放控制方法及裝置、終端及電腦儲存介質
CN107483972B (zh) 一种音视频的直播处理方法、存储介质和一种移动终端
TWI444216B (zh) 基於移動終端實現遊戲之方法和裝置
CN104025548B (zh) 用于被递送媒体的灵活缓存的方法和设备
CN102647634B (zh) 一种基于HTML5video的多分片视频播放方法及装置
CN102118419B (zh) 一种图片信息的传输方法、装置和通信***
CN102033944B (zh) 基于移动终端的网页显示***及方法
CN110446114B (zh) 多媒体数据的处理装置、方法、电子设备及存储介质
US11722555B2 (en) Application control method and apparatus, electronic device, and storage medium
CN102647629A (zh) 内容播放方法和装置
CN108769816B (zh) 一种视频播放方法、装置及存储介质
CN101951405A (zh) 一种基于webkit的机顶盒中间件的实现方法
JP2022553996A (ja) ビデオ再生方法、装置、機器及びコンピュータプログラム
CN102625182A (zh) 互联网电视业务中集成和控制视频播放器的方法和***
CN106998490A (zh) 一种多媒体数据同步方法及装置
KR20120067341A (ko) 상보적 정보를 제공하는 방법 및 장치
WO2021139581A1 (zh) 素材展示方法、装置、电子设备及存储介质
CN107534793A (zh) 接收装置、传输装置以及数据处理方法
WO2015180446A1 (zh) 一种多设备联动服务中的连接通道维护***及方法
CN112449250B (zh) 一种视频资源的下载方法、装置、设备和介质
CN113938699B (zh) 基于网页快速建立直播的方法
WO2014157938A1 (en) Apparatus and method for presenting html page
CN112714341B (zh) 信息获取方法、云化机顶盒***、实体机顶盒及存储介质
CN107306360A (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
GR01 Patent grant
GR01 Patent grant