CN103338384A - 一种视频播放方法及装置 - Google Patents
一种视频播放方法及装置 Download PDFInfo
- Publication number
- CN103338384A CN103338384A CN2013102113758A CN201310211375A CN103338384A CN 103338384 A CN103338384 A CN 103338384A CN 2013102113758 A CN2013102113758 A CN 2013102113758A CN 201310211375 A CN201310211375 A CN 201310211375A CN 103338384 A CN103338384 A CN 103338384A
- Authority
- CN
- China
- Prior art keywords
- video data
- video
- server
- address
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种视频播放方法及装置。其中,所述方法包括:移动终端的浏览器在页面加载之后,查找所述页面是否存在Flash媒体格式的第一视频数据;当存在所述第一视频数据时,所述浏览器向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址;所述浏览器向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。通过本发明,可以实现在使用不支持Flash的浏览器***内核的情况下,也能够播放Flash视频。
Description
技术领域
本发明涉及移动通信技术领域,特别是涉及一种视频播放方法及装置。
背景技术
随着智能手机和平板设备的普及,人们对于利用浏览器进行在线视频播放的需求越来越强烈。
然而,当前流行的智能操作***通常比较封闭,例如:对于Flash视频的播放,现有包括windows phone,windows8RT,iPhone以及iPad等都拒绝了Adobe Flash播放器的使用,使得国内很多应用Flash视频的主流视频网站不能在这些设备中进行视频播放。
目前,市面上的一些浏览器针对Flash视频播放的这种情况,做了一些创新尝试,但是都是基于自有内核实现的。譬如:有的浏览器就是通过中间件服务器,把需要访问的视频网站的flash资源,转换成自有协议的页面,然后通过内核解析协议播放。
但是,上述方案是实现必须使用自有内核,从一定程度上限制了使用场景。这是由于,相当多的操作***对于第三方内核不兼容,譬如:winphone、windows8RT以及iPhone的操作***均不支持第三方内核的安装使用。
发明内容
本发明实施例中提供了一种视频播放方法及装置,以实现在使用不支持Flash的浏览器***内核的情况下,也能够播放Flash视频。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
一种视频播放方法,包括:
移动终端的浏览器在页面加载之后,查找所述页面是否存在Flash媒体格式的第一视频数据;
当存在所述第一视频数据时,所述浏览器向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址;
所述浏览器向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
进一步,所述查找所述页面是否存在Flash媒体格式的第一视频数据,包括:
在所述页面注入JavaScript脚本,执行所述脚本以查找HTML DOM树里的每个元素,通过所述元素携带的Flash视频元素标签,识别出所述第一视频数据。
进一步,所述浏览器向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址,包括:
所述浏览器向预置的第一服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据;
所述浏览器接收所述第一服务器返回的所述第二视频数据的地址。
进一步,所述浏览器向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址,包括:
所述浏览器向预置的第二服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第二服务器将所述第一请求消息转发至第一服务器,由所述第一服务器根据所述第一请求消息查找所述第一视频数据的地址,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据,并将所述第二视频数据的地址返回至所述第二服务器;
所述浏览器接收所述第二服务器返回的所述第二视频数据的地址。
进一步,所述浏览器向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,包括:
所述浏览器向所述页面中注入HTML5视频标签,用于替换所述Flash视频元素标签,并注入JavaScript和CSS形式的播放控制逻辑代码用于执行播放。
一种视频播放装置,包括:
查找模块,用于在页面加载之后,查找所述页面是否存在Flash媒体格式的第一视频数据;
请求转换模块,用于当存在所述第一视频数据时,向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址;
播放模块,用于向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
进一步,所述查找模块,包括:
脚本注入单元,用于在所述页面注入JavaScript脚本;
元素查找单元,用于执行所述脚本以查找HTML DOM树里的每个元素,通过元素携带的Flash视频元素标签,识别出所述第一视频数据。
进一步,所述请求转换模块,包括:
第一请求单元,用于向预置的第一服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据;
第一接收单元,用于接收所述第一服务器返回的所述第二视频数据的地址。
进一步,所述请求转换模块,包括:
第二请求单元,用于向预置的第二服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第二服务器将所述第一请求消息转发至第一服务器,由所述第一服务器根据所述第一请求消息查找所述第一视频数据的地址,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据,并将所述第二视频数据的地址返回至所述第二服务器;
第二接收单元,用于接收所述第二服务器返回的所述第二视频数据的地址。
进一步,所述播放模块包括:
第一注入单元,用于向所述页面中注入***内核支持的HTML5视频标签,用于替换所述Flash视频元素标签;
第二注入单元,用于向所述页面中注入JavaScript和CSS形式的播放控制逻辑代码用于执行播放;
播放处理单元,用于根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
本发明实施例中,当不支持播放Flash媒体格式视频数据的***内核完成页面加载之后,通过查找当前页面中是否存在Flash媒体格式的视频数据,如果存在Flash媒体格式的视频数据,则请求服务器将Flash媒体格式转换为第二视频数据,所述第二视频数据具有当前***内核支持的视频格式,并获取所述第二视频数据的地址,进而,向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据获取的第二视频数据的地址加载所述第二视频数据,由于转换格式之后,视频数据的格式已更新为***内核支持的格式,从而,浏览器的***内核能够播放该第二视频数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种视频播放方法实施例的流程图;
图2为本发明提供的图1中步骤102的一种实现流程图;
图3为本发明提供的一种服务器的C/S架构图;
图4为图1中步骤102的另一种实现流程图;
图5为本发明提供的另一种服务器的C/S架构图;
图6为本发明提供的通过windows8***内核实现Flash媒体格式视频数据播放的流程图;
图7为本发明提供的一种视频播放装置实施例的结构图;
图8为本发明提供的一种查找模块的实现结构图;
图9为本发明提供的一种请求转换模块的实现结构图;
图10为本发明提供的另一种请求转换模块的实现结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
本发明实施例中提供了一种视频播放方法及装置,以实现在使用不支持Flash的***内核的情况下,也能够播放Flash视频。
参见图1,为本发明提供的一个视频播放方法实施例的流程,具体可以包括:
步骤101、移动终端的浏览器在页面加载之后,查找所述页面是否存在Flash媒体格式的第一视频数据。
本发明实施例中,终端的***内核不支持播放Flash媒体格式视频数据,当移动终端的浏览器完成页面加载之后,便开始查找加载的页面上是否存在Flash媒体格式的视频数据。这里说的移动终端,例如可以是手机、PAD设备或其他手持式设备等。
步骤102、当存在所述第一视频数据时,所述浏览器向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址。
该步骤中,终端的浏览器***内核通过查找,当确定存在Flash媒体格式的视频数据时,由于终端的浏览器***内核不支持播放Flash媒体格式视频数据,因此,如果要播放这部分Flash媒体格式的视频数据,就需要对这部分Flash媒体格式的视频数据进行格式转换,将所述Flash媒体格式的视频数据转换为当前***内核支持的视频格式。所以,该步骤中浏览器向服务器发送数据转换的请求。
需要说明的是,为了描述方便,将Flash媒体格式的视频数据简称为第一视频数据,将所述Flash媒体格式的视频数据转换为当前***内核支持的视频格式的视频数据简称为第二视频数据。
通过获取所述第二视频数据的地址,从而可根据第二视频数据的地址加载第二视频数据,并对该第二视频数据进行播放。
步骤103、所述浏览器向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
该步骤中,浏览器通过向当前网页中注入***内核支持的视频标签和播放控制逻辑代码,并根据第二视频数据的地址加载所述第二视频数据,从而按照所述播放控制逻辑代码实现第二视频数据的播放。
该步骤中,由于转换格式之后,视频数据的格式更新为***内核支持的格式,进而,***内核能够播放所述第二视频数据。
本发明实施例中,当不支持播放Flash媒体格式视频数据的***内核完成页面加载之后,通过查找当前页面中是否存在Flash媒体格式的视频数据,如果存在Flash媒体格式的视频数据,则请求服务器将Flash媒体格式转换为第二视频数据,所述第二视频数据具有当前***内核支持的视频格式,并获取所述第二视频数据的地址,进而,向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据获取的第二视频数据的地址加载所述第二视频数据,由于转换格式之后,视频数据的格式已更新为***内核支持的格式,从而,浏览器的***内核能够播放该第二视频数据。
本发明技术方案更适合在较为封闭的智能操作***中使用,例如:windows8RT。对于windows8RT,微软限制了第三方浏览器的开发,而其***内核不允许修改用户代理(User Agent)参数,导致大部分的视频网站都识别其为桌面的IE浏览器,使得视频数据展现都使用Flash媒体格式。因此,当访问这些以Flash媒体格式进行数据展示的视频网站时,无法实现在线播放。本发明的方案,通过将Flash媒体格式转换为***可支持的视频格式,并向当前网页中注入***内核支持的视频标签替换原有的Flash视频元素标签,和注入用于执行视频播放的播放控制逻辑代码,从而可实现使用不支持Flash的***内核的情况下,也能够播放Flash视频。
其中,上述步骤101中,所述查找所述页面是否存在Flash媒体格式的第一视频数据的实现方式,可以包括:
在所述页面注入JavaScript脚本,执行所述脚本以查找HTML DOM(HTML DocumentOb ject Model,文档对象模型)树里的每个元素,通过所述元素携带的Flash视频元素标签,识别出所述第一视频数据。
通常,***内核支持WebView控件,以windows8为例,接口是InvokeScript(string,string[])。在页面加载成功后,通过这个接口向WebView控件注入一段JavaScript脚本,从而通过该WebView控件执行该JavaScript脚本,以查找HTML DOM树里的每个元素,查找是否存在Flash媒体格式的视频数据。
目前,在标准的HTML网页嵌入Flash元素主要有两种实现方式:
一种实现方式是添加<embed>标签,type(类型)指定为<embed type=“application/x-shockwave-flash”;另外一种实现方式是添加<object>标签,class id指定为clsid:d27cdb6e-ae6d-11cf-96b8-444553540000。
因此,如果视频数据为Flash媒体格式,则视频数据通常携带上述任一种视频元素标签。通过上述视频元素标签,即可识别出Flash元素。
在本发明提供的一个视频播放方法实施例中,如图2所示,上述步骤102的实现方式可以为:
步骤201、所述浏览器向预置的第一服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据;
步骤202、所述浏览器接收所述第一服务器返回的所述第二视频数据的地址。
上述实施例中,采用如图3所示的C/S架构,部署作为资源嗅探服务器的第一服务器302,该第一服务器302用于实现对所述第一视频数据的格式转换,通常为FLVCD服务器。终端301向第一服务器302发送第一请求消息,以请求第一服务器302对第一视频数据进行格式转换,首先,第一服务器302需要查找所述第一视频数据的地址,根据所述第一视频数据的地址获取Flash媒体格式的视频数据,进而将所述第一视频数据转换为第二视频数据,并生成相应第二视频数据的流媒体地址,返回至终端301。
具体实施时,所述第一服务器可以只有一台,该台第一服务器可以接收所有终端发送的第一请求消息;也可以是,部署多台所述第一服务器,即图3所示情形,不同的服务器接收不同终端发送的第一请求消息,其中,有些服务器可以同时处理多个终端发送的第一请求消息。
上述步骤201中,由终端直接与第一服务器进行通信,由终端请求所述第一服务器对第一视频数据进行格式转换。这种实现方式中,当第一服务器的协议格式发生改变,而终端由于事先未知,仍以原协议格式发送请求消息,则无法实现对第一视频数据的格式转换。为了避免这一缺陷,可以在终端和第一服务器之间增设第二服务器,由第二服务器进行请求消息的缓存及转发,并在第一服务器的协议格式发生改变时,对请求消息的协议格式进行调整。
具体地,在本发明提供的一个视频播放方法实施例中,如图4所示,上述步骤102的实现方式可以为:
步骤401、所述浏览器向预置的第二服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第二服务器将所述第一请求消息转发至第一服务器,由所述第一服务器根据所述第一请求消息查找所述第一视频数据的地址,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据,并将所述第二视频数据的地址返回至所述第二服务器;
步骤402、所述浏览器接收所述第二服务器返回的所述第二视频数据的地址。
上述实施例中,采用如图5所示的C/S架构,在作为资源嗅探服务器的第一服务器302和终端301中间部署作为中转服务器的第二服务器303,终端301向第二服务器303发送第一请求消息,以请求第一服务器302对第一视频数据进行格式转换,通过第二服务器303将第一请求消息转发至第一服务器301,首先,第一服务器302需要查找所述第一视频数据的地址,根据所述第一视频数据的地址获取Flash媒体格式的视频数据,进而将所述第一视频数据转换为第二视频数据,并生成相应第二视频数据的流媒体地址,返回至第二服务器303,通过第二服务器303的转发,最终将相应第二视频数据的流媒体地址返回至终端301。
这样,通过增设第二服务器,由第二服务器进行请求消息的缓存及转发,那么第二服务器可以在第一服务器的协议格式发生改变时,对请求消息的协议格式进行调整。
此外,在本发明提供的一个视频播放方法实施例中,上述步骤103中,浏览器向所述地址对应的网页中注入HTML5视频标签和播放控制逻辑代码,进而,根据所述第二视频数据的地址加载第二视频数据,按照播放控制逻辑代码播放所述第二视频数据。
该实现方式中,以windows8为例,浏览器向提供所述Flash媒体格式的视频数据的网页中注入HTML5视频标签<video>用于替换原有的Flash视频元素标签,编写JavaScript和CSS(Cascading Style Sheets,层叠样式表单)形式的播放控制逻辑代码,最后将播放控制逻辑代码注入到所述页面中以执行视频的播放。
为了便于对本发明技术方案的理解,下面通过具体实施方式,对本发明技术方案进行详细说明。
如图6所示,为通过windows8***内核实现Flash媒体格式视频数据播放的流程。该流程具体包括以下步骤:
步骤601、通过WebView控件完成某视频网站页面的加载,执行该页面的展现。
步骤602、向该页面注入JavaScript脚本,由WebView控件执行该脚本,以查找HTML DOM树里的每个元素;
步骤603、通过元素携带的视频元素标签,确定是否为Flash媒体格式的视频数据,如果是Flash媒体格式的视频数据,则继续执行步骤604;否则,结束当前流程。
步骤604、向后台服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有当前***内核支持的视频格式,并获取所述第二视频数据的地址,如果成功获取所述第二视频数据的地址,则继续步骤605;否则,执行步骤608。
当前***内核支持的视频格式,例如是MP4格式或flv格式等,由于windows8对于flv格式的流媒体资源不支持,本实施例以转换mp4格式举例说明。
该步骤中,后台服务器的实现形式如图3和图5所示,此处不再进行赘述。
步骤605、向所述网页中注入HTML5视频标签和播放控制逻辑代码,并根据所述第二视频数据的地址加载所述第二视频数据。
步骤606、判断视频数据是否转换为MP4格式,如果是,则继续步骤607;否则,执行步骤608。
步骤607、播放转换为MP4格式的视频数据。
步骤608、向所述地址对应的网页中注入脚本用于提示用户打开当前网页中默认的浏览器进行视频播放。
与本发明提供的视频播放方法实施例相对应,本发明还提供了一种视频播放装置。
如图7所示,为本发明提供的一种视频播放装置的实施例,该装置具体可以包括:
查找模块701,用于在页面加载之后,查找所述页面是否存在Flash媒体格式的第一视频数据;
请求转换模块702,用于当存在所述第一视频数据时,向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址;
播放模块703,用于向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
该装置实施例中,当不支持播放Flash媒体格式视频数据的***内核完成页面加载之后,通过查找当前页面中是否存在Flash媒体格式的视频数据,如果存在Flash媒体格式的视频数据,则请求服务器将Flash媒体格式转换为第二视频数据,所述第二视频数据具有当前***内核支持的视频格式,并获取所述第二视频数据的地址,进而,向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据获取的第二视频数据的地址加载所述第二视频数据,由于转换格式之后,视频数据的格式已更新为***内核支持的格式,从而,浏览器的***内核能够播放该第二视频数据。
如图8所示的一种视频播放装置的实施例中,所述查找模块701,具体可以包括:
脚本注入单元801,用于在所述页面注入JavaScript脚本;
元素查找单元802,用于执行所述脚本以查找HTML DOM树里的每个元素,通过元素携带的Flash视频元素标签,识别出所述第一视频数据。
如图9所示的一种视频播放装置的实施例中,所述请求转换模块702,具体可以包括:
第一请求单元901,用于向预置的第一服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据;
第一接收单元902,用于接收所述第一服务器返回的所述第二视频数据的地址。
如图10所示的另一种视频播放装置的实施例中,所述请求转换模块702,具体可以包括:
第二请求单元1001,用于向预置的第二服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第二服务器将所述第一请求消息转发至第一服务器,由所述第一服务器根据所述第一请求消息查找所述第一视频数据的地址,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据,并将所述第二视频数据的地址返回至所述第二服务器;
第二接收单元1002,用于接收所述第二服务器返回的所述第二视频数据的地址。
此外,所述播放模块向所述页面中注入的***内核支持的视频标签具体为HTML5视频标签,所述播放模块具体可以包括:第一注入单元、第二注入单元和播放处理单元(图中未示出)。
第一注入单元,用于向所述页面中注入***内核支持的HTML5视频标签,用于替换所述Flash视频元素标签;
第二注入单元,用于向所述页面中注入JavaScript和CSS形式的播放控制逻辑代码用于执行播放;
播放处理单元,用于根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RanHTML DOM Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种视频播放方法,其特征在于,包括:
移动终端的浏览器在页面加载之后,查找所述页面是否存在Flash媒体格式的第一视频数据;
当存在所述第一视频数据时,所述浏览器向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址;
所述浏览器向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
2.根据权利要求1所述的方法,其特征在于,所述查找所述页面是否存在Flash媒体格式的第一视频数据,包括:
在所述页面注入JavaScript脚本,执行所述脚本以查找HTML DOM树里的每个元素,通过所述元素携带的Flash视频元素标签,识别出所述第一视频数据。
3.根据权利要求1所述的方法,其特征在于,所述浏览器向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址,包括:
所述浏览器向预置的第一服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据;
所述浏览器接收所述第一服务器返回的所述第二视频数据的地址。
4.根据权利要求1所述的方法,其特征在于,所述浏览器向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址,包括:
所述浏览器向预置的第二服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第二服务器将所述第一请求消息转发至第一服务器,由所述第一服务器根据所述第一请求消息查找所述第一视频数据的地址,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据,并将所述第二视频数据的地址返回至所述第二服务器;
所述浏览器接收所述第二服务器返回的所述第二视频数据的地址。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述浏览器向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,包括:
所述浏览器向所述页面中注入HTML5视频标签,用于替换所述Flash视频元素标签,并注入JavaScript和CSS形式的播放控制逻辑代码用于执行播放。
6.一种视频播放装置,其特征在于,包括:
查找模块,用于在页面加载之后,查找所述页面是否存在Flash媒体格式的第一视频数据;
请求转换模块,用于当存在所述第一视频数据时,向服务器请求将所述第一视频数据转换为第二视频数据,所述第二视频数据具有所述浏览器***内核支持的视频格式,并获取经所述服务器转换后的所述第二视频数据的地址;
播放模块,用于向所述页面中注入***内核支持的视频标签和播放控制逻辑代码,并根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
7.根据权利要求6所述的装置,其特征在于,所述查找模块,包括:
脚本注入单元,用于在所述页面注入JavaScript脚本;
元素查找单元,用于执行所述脚本以查找HTML DOM树里的每个元素,通过元素携带的Flash视频元素标签,识别出所述第一视频数据。
8.根据权利要求6所述的装置,其特征在于,所述请求转换模块,包括:
第一请求单元,用于向预置的第一服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据;
第一接收单元,用于接收所述第一服务器返回的所述第二视频数据的地址。
9.根据权利要求6所述的装置,其特征在于,所述请求转换模块,包括:
第二请求单元,用于向预置的第二服务器发送第一请求消息,所述第一请求消息用于请求查找所述第一视频数据的地址和转换为第二视频数据,由所述第二服务器将所述第一请求消息转发至第一服务器,由所述第一服务器根据所述第一请求消息查找所述第一视频数据的地址,由所述第一服务器按照所述第一视频数据的地址获取所述第一视频数据,将所述第一视频数据转换为所述第二视频数据,并将所述第二视频数据的地址返回至所述第二服务器;
第二接收单元,用于接收所述第二服务器返回的所述第二视频数据的地址。
10.根据权利要求7-9中任一项所述的装置,其特征在于,所述播放模块包括:
第一注入单元,用于向所述页面中注入***内核支持的HTML5视频标签,用于替换所述Flash视频元素标签;
第二注入单元,用于向所述页面中注入JavaScript和CSS形式的播放控制逻辑代码用于执行播放;
播放处理单元,用于根据所述第二视频数据的地址加载所述第二视频数据,按照所述播放控制逻辑代码播放所述第二视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102113758A CN103338384A (zh) | 2013-05-31 | 2013-05-31 | 一种视频播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102113758A CN103338384A (zh) | 2013-05-31 | 2013-05-31 | 一种视频播放方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103338384A true CN103338384A (zh) | 2013-10-02 |
Family
ID=49246470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102113758A Pending CN103338384A (zh) | 2013-05-31 | 2013-05-31 | 一种视频播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103338384A (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202680A (zh) * | 2014-08-11 | 2014-12-10 | 福建星网锐捷网络有限公司 | 流媒体获取的方法及装置 |
CN104270671A (zh) * | 2014-09-28 | 2015-01-07 | 可牛网络技术(北京)有限公司 | 一种flash视频播放方法及装置 |
CN104349185A (zh) * | 2014-11-19 | 2015-02-11 | 成都实景信息技术有限公司 | 一种企业目视终端管理方法 |
CN104616331A (zh) * | 2015-02-16 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 移动设备上的图像处理方法和装置 |
CN104866512A (zh) * | 2014-02-26 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 提取网页内容的方法、装置及*** |
CN104881452A (zh) * | 2015-05-18 | 2015-09-02 | 百度在线网络技术(北京)有限公司 | 一种资源地址的嗅探方法、装置及*** |
CN104918119A (zh) * | 2014-03-11 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 基于iOS浏览器的视频处理方法及视频处理装置 |
CN106993238A (zh) * | 2017-04-14 | 2017-07-28 | 网宿科技股份有限公司 | 基于Html5的音视频播放方法及装置、音视频直播方法及*** |
CN107656947A (zh) * | 2016-10-24 | 2018-02-02 | 腾讯科技(北京)有限公司 | 一种多媒体信息播放方法及装置 |
CN107679205A (zh) * | 2017-10-13 | 2018-02-09 | 青岛海信移动通信技术股份有限公司 | 多媒体数据播放方法、装置、计算机设备及存储介质 |
WO2018036544A1 (zh) * | 2016-08-26 | 2018-03-01 | 腾讯科技(深圳)有限公司 | 浏览器在独立窗口中播放视频的方法、装置及存储介质 |
CN107995519A (zh) * | 2017-11-30 | 2018-05-04 | 广州酷狗计算机科技有限公司 | 多媒体文件播放的方法、装置和存储介质 |
CN108156521A (zh) * | 2017-12-29 | 2018-06-12 | 北京奇虎科技有限公司 | 一种浏览器上视频播放的方法和装置 |
WO2018107997A1 (zh) * | 2016-12-15 | 2018-06-21 | 广州市动景计算机科技有限公司 | 视频播放模式转换方法、装置及移动终端 |
CN108228836A (zh) * | 2018-01-04 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 视频兼容加载方法、装置及视频组件 |
CN108874448A (zh) * | 2017-05-09 | 2018-11-23 | 阿里巴巴集团控股有限公司 | 实现在coredump文件中定位对象的方法及设备 |
CN109218756A (zh) * | 2018-09-28 | 2019-01-15 | 广州市协衡网络科技有限公司 | 一种摄像视频的点播方法、装置、服务器及存储介质 |
CN112367549A (zh) * | 2020-11-10 | 2021-02-12 | 四川长虹电器股份有限公司 | 电视浏览器的视频播放实现方法及浏览器应用运行方法 |
CN113613044A (zh) * | 2021-07-20 | 2021-11-05 | 深圳Tcl新技术有限公司 | 视频播放方法、装置、存储介质及电子设备 |
CN113766270A (zh) * | 2021-02-26 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 视频播放方法、***、服务器、终端设备、以及电子设备 |
CN114339400A (zh) * | 2021-12-28 | 2022-04-12 | 上海众源网络有限公司 | 一种视频抽帧方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246491A (zh) * | 2008-03-11 | 2008-08-20 | 孟智平 | 一种在网页中使用描述文件的方法和*** |
US20090003600A1 (en) * | 2007-06-29 | 2009-01-01 | Widevine Technologies, Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
CN101873325A (zh) * | 2010-06-13 | 2010-10-27 | 优视科技有限公司 | Flash支持处理方法、***、移动终端及中转服务器 |
CN102427563A (zh) * | 2000-12-22 | 2012-04-25 | 索尼株式会社 | 分布式随选媒体代码转换***和方法 |
-
2013
- 2013-05-31 CN CN2013102113758A patent/CN103338384A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102427563A (zh) * | 2000-12-22 | 2012-04-25 | 索尼株式会社 | 分布式随选媒体代码转换***和方法 |
US20090003600A1 (en) * | 2007-06-29 | 2009-01-01 | Widevine Technologies, Inc. | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
CN101246491A (zh) * | 2008-03-11 | 2008-08-20 | 孟智平 | 一种在网页中使用描述文件的方法和*** |
CN101873325A (zh) * | 2010-06-13 | 2010-10-27 | 优视科技有限公司 | Flash支持处理方法、***、移动终端及中转服务器 |
Non-Patent Citations (1)
Title |
---|
雷锋网: "Skyfire:让iOS设备也能播放Flash的浏览器", 《硅谷》 * |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015127882A1 (en) * | 2014-02-26 | 2015-09-03 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for extracting webpage content |
US10430514B2 (en) | 2014-02-26 | 2019-10-01 | Tencent Technology (Shenzhen) Company Limited | Method and terminal for extracting webpage content, and non-transitory storage medium |
CN104866512B (zh) * | 2014-02-26 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 提取网页内容的方法、装置及*** |
CN104866512A (zh) * | 2014-02-26 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 提取网页内容的方法、装置及*** |
CN104918119B (zh) * | 2014-03-11 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 基于iOS浏览器的视频处理方法及视频处理装置 |
CN104918119A (zh) * | 2014-03-11 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 基于iOS浏览器的视频处理方法及视频处理装置 |
CN104202680B (zh) * | 2014-08-11 | 2017-11-03 | 福建星网锐捷网络有限公司 | 流媒体获取的方法及装置 |
CN104202680A (zh) * | 2014-08-11 | 2014-12-10 | 福建星网锐捷网络有限公司 | 流媒体获取的方法及装置 |
CN104270671A (zh) * | 2014-09-28 | 2015-01-07 | 可牛网络技术(北京)有限公司 | 一种flash视频播放方法及装置 |
CN104349185A (zh) * | 2014-11-19 | 2015-02-11 | 成都实景信息技术有限公司 | 一种企业目视终端管理方法 |
CN104616331A (zh) * | 2015-02-16 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 移动设备上的图像处理方法和装置 |
CN104881452A (zh) * | 2015-05-18 | 2015-09-02 | 百度在线网络技术(北京)有限公司 | 一种资源地址的嗅探方法、装置及*** |
CN104881452B (zh) * | 2015-05-18 | 2020-05-29 | 百度在线网络技术(北京)有限公司 | 一种资源地址的嗅探方法、装置及*** |
CN107786906B (zh) * | 2016-08-26 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 一种浏览器在独立窗口中播放视频的方法和装置 |
CN107786906A (zh) * | 2016-08-26 | 2018-03-09 | 腾讯科技(深圳)有限公司 | 一种浏览器在独立窗口中播放视频的方法和装置 |
WO2018036544A1 (zh) * | 2016-08-26 | 2018-03-01 | 腾讯科技(深圳)有限公司 | 浏览器在独立窗口中播放视频的方法、装置及存储介质 |
US10839137B2 (en) | 2016-08-26 | 2020-11-17 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for playing video in independent window by browser, and storage medium |
CN107656947A (zh) * | 2016-10-24 | 2018-02-02 | 腾讯科技(北京)有限公司 | 一种多媒体信息播放方法及装置 |
CN107656947B (zh) * | 2016-10-24 | 2022-06-07 | 腾讯科技(北京)有限公司 | 一种多媒体信息播放方法及装置 |
WO2018107997A1 (zh) * | 2016-12-15 | 2018-06-21 | 广州市动景计算机科技有限公司 | 视频播放模式转换方法、装置及移动终端 |
US10841530B2 (en) | 2016-12-15 | 2020-11-17 | Alibaba Group Holding Limited | Method, device, and mobile terminal for converting video playing mode |
US11259096B2 (en) | 2017-04-14 | 2022-02-22 | Wangsu Science & Technology Co., Ltd. | HTML5-based audio/video playing method and apparatus, and live audio/video streaming method and system |
WO2018188168A1 (zh) * | 2017-04-14 | 2018-10-18 | 网宿科技股份有限公司 | 基于Html5的音视频播放方法及装置、音视频直播方法及*** |
CN106993238A (zh) * | 2017-04-14 | 2017-07-28 | 网宿科技股份有限公司 | 基于Html5的音视频播放方法及装置、音视频直播方法及*** |
CN108874448B (zh) * | 2017-05-09 | 2021-10-08 | 阿里巴巴集团控股有限公司 | 实现在coredump文件中定位对象的方法及设备 |
CN108874448A (zh) * | 2017-05-09 | 2018-11-23 | 阿里巴巴集团控股有限公司 | 实现在coredump文件中定位对象的方法及设备 |
CN107679205A (zh) * | 2017-10-13 | 2018-02-09 | 青岛海信移动通信技术股份有限公司 | 多媒体数据播放方法、装置、计算机设备及存储介质 |
CN107679205B (zh) * | 2017-10-13 | 2020-07-07 | 青岛海信移动通信技术股份有限公司 | 多媒体数据播放方法、装置、计算机设备及存储介质 |
CN107995519B (zh) * | 2017-11-30 | 2020-11-03 | 广州酷狗计算机科技有限公司 | 多媒体文件播放的方法、装置和存储介质 |
CN107995519A (zh) * | 2017-11-30 | 2018-05-04 | 广州酷狗计算机科技有限公司 | 多媒体文件播放的方法、装置和存储介质 |
CN108156521A (zh) * | 2017-12-29 | 2018-06-12 | 北京奇虎科技有限公司 | 一种浏览器上视频播放的方法和装置 |
CN108228836A (zh) * | 2018-01-04 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 视频兼容加载方法、装置及视频组件 |
CN108228836B (zh) * | 2018-01-04 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 视频兼容加载方法、装置及视频组件 |
CN109218756A (zh) * | 2018-09-28 | 2019-01-15 | 广州市协衡网络科技有限公司 | 一种摄像视频的点播方法、装置、服务器及存储介质 |
CN112367549A (zh) * | 2020-11-10 | 2021-02-12 | 四川长虹电器股份有限公司 | 电视浏览器的视频播放实现方法及浏览器应用运行方法 |
CN113766270A (zh) * | 2021-02-26 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 视频播放方法、***、服务器、终端设备、以及电子设备 |
CN113613044A (zh) * | 2021-07-20 | 2021-11-05 | 深圳Tcl新技术有限公司 | 视频播放方法、装置、存储介质及电子设备 |
CN114339400A (zh) * | 2021-12-28 | 2022-04-12 | 上海众源网络有限公司 | 一种视频抽帧方法、装置、电子设备及存储介质 |
CN114339400B (zh) * | 2021-12-28 | 2024-02-02 | 上海众源网络有限公司 | 一种视频抽帧方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103338384A (zh) | 一种视频播放方法及装置 | |
CN102779151B (zh) | 应用程序的搜索方法、装置及*** | |
CN103729425B (zh) | 操作响应方法、客户端、浏览器及*** | |
CN101765979A (zh) | 用于移动设备的文档处理 | |
CN104471917A (zh) | 共享应用信息方法和装置 | |
CN102075528A (zh) | 一种播放多种封装格式的网络多媒体文件的方法与设备 | |
CN103618936A (zh) | 智能电视及其浏览器中链接页面的预加载方法和装置 | |
US20170171334A1 (en) | Single-account multiple-preference recommendation method for video website and electronic device | |
CN103279485A (zh) | 资源分享的处理方法及装置 | |
CN104657201A (zh) | 应用程序推送方法、装置、设备及*** | |
CN103714141A (zh) | 信息推送方法及装置 | |
CN106997302A (zh) | 固件升级方法、装置及音频播放设备 | |
CN105407407A (zh) | 视频的播放方法和装置 | |
CN103945259A (zh) | 一种在线视频播放方法及装置 | |
CN104469528A (zh) | 一种进行视频数据加载的方法、装置和浏览器客户端 | |
CN103209203A (zh) | 一种跨平台提供应用的方法以及客户端 | |
CN103064989A (zh) | 网页保存、打开方法及装置 | |
CN105701153B (zh) | 一种读取网页资源的方法、装置及电子设备 | |
CN103945284A (zh) | 信息处理方法和信息处理装置 | |
CN104598571A (zh) | 一种多媒体资源的播放方法及装置 | |
CN101924791B (zh) | 一种用于显示多媒体信息的方法、设备和*** | |
CN105323654A (zh) | 呈现来自网络的内容数据的方法和设备 | |
CN112449250A (zh) | 一种视频资源的下载方法、装置、设备和介质 | |
CN111581507B (zh) | 一种用于提供呈现信息的方法与设备 | |
CN104331407A (zh) | 一种多媒体文件信息推荐方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131002 |
|
RJ01 | Rejection of invention patent application after publication |