网页中多媒体地址的获取方法和装置制造方法

文档序号:7773073阅读:117来源:国知局
网页中多媒体地址的获取方法和装置制造方法
【专利摘要】本发明提出一种网页中多媒体地址的获取方法和装置,其中该方法包括:云端服务器抓取多媒体网页;所述云端服务器建立所述多媒体网页的文件对象模型DOM,并根据所述DOM执行所述多媒体网页中的脚本指令以生成多媒体播放插件;所述云端服务器启动虚拟机,并在所述虚拟机中运行所述多媒体播放插件以模拟多媒体的播放事件;以及所述云端服务器通过所述播放事件获取所述多媒体的多媒体地址。根据本发明实施例方法,可覆盖的多媒体站点数目大大增加,且对于不同的多媒体站点具有通用性,提高了获取多媒体地址的效率,提升了用户体验。
【专利说明】网页中多媒体地址的获取方法和装置
【技术领域】
[0001]本发明涉及互联网【技术领域】,尤其涉及一种网页中多媒体地址的获取方法和装置。
【背景技术】
[0002]随着多媒体技术的迅速发展,用户对多媒体的需求也不断的提升,比如用户有时不满足于仅在网页上浏览或者观看,希望将所需要的多媒体文件下载到终端设备中,因此,需要获取多媒体的多媒体地址。
[0003]在网页中提取多媒体地址时,目前,主要通过抓取主链、分析关键字,然后使用人工策略的方式来提取多媒体地址,但是,主要存在以下问题:
[0004](I)采用人工策略的方式来提取多媒体地址,所支持的多媒体站点的数目较少,目前,仅支持几个主要的多媒体大站;
[0005](2)由于不同的多媒体站点所采用的算法不同,采用人工策略的方式来提取多媒体地址,对于不同的多媒体站点不具有通用性;
[0006](3)当多媒体站点的算法更换后,提取多媒体地址所使用的人工策略也需要随之修改,影响技术方案的执行效率且具有滞后性。

【发明内容】

[0007]本发明旨在至少解决上述技术问题之一。
[0008]为此,本发明的第一个目的在于提出一种网页中多媒体地址的获取方法。该方法通过在虚拟机中模拟多媒体的播放事件来获取多媒体地址,使覆盖的多媒体站点数目大大增加,且对于不同的多媒体站点具有通用性,提升了用户体验。
[0009]本发明的第二个目的在于提出一种网页中多媒体地址的获取装置。
[0010]为了实现上述目的,本发明第一方面实施例的网页中多媒体地址的获取方法包括以下步骤:云端服务器抓取多媒体网页;所述云端服务器建立所述多媒体网页的文件对象模型D0M,并根据所述DOM执行所述多媒体网页中的脚本指令以生成多媒体播放插件;所述云端服务器启动虚拟机,并在所述虚拟机中运行所述多媒体播放插件以模拟多媒体的播放事件;以及所述云端服务器通过所述播放事件获取所述多媒体的多媒体地址。
[0011]根据本发明实施例的网页中多媒体地址的获取方法,云端服务器在虚拟机中模拟多媒体的播放事件来获取多媒体地址,至少具有以下有益效果:(I)可覆盖的多媒体站点数目大大增加;(2)对于不同的多媒体站点具有通用性;(3)不需要随着多媒体站点算法的更换而更新,只需要模拟一次播放事件,提高了获取多媒体地址的效率,提升了用户体验。
[0012]为了实现上述目的,本发明第二方面实施例的网页中多媒体地址的获取装置包括:多媒体网页抓取模块,用于抓取多媒体网页;播放插件生成模块,用于建立所述多媒体网页的文件对象模型D0M,并根据所述DOM执行所述多媒体网页中的脚本指令以生成多媒体播放插件;播放事件模拟模块,用于启动虚拟机,并在所述虚拟机中运行所述多媒体播放插件以模拟多媒体的播放事件;以及多媒体地址获取模块,用于通过所述播放事件获取所述多媒体的多媒体地址。
[0013]根据本发明实施例的网页中多媒体地址的获取装置,在虚拟机中模拟多媒体的播放事件来获取多媒体地址,至少具有以下有益效果:(I)可覆盖的多媒体站点数目大大增加;(2)对于不同的多媒体站点具有通用性;(3)不需要随着多媒体站点算法的更换而更新,只需要模拟一次播放事件,提高了获取多媒体地址的效率,提升了用户体验。
[0014]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】

【附图说明】
[0015]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
[0016]图1是根据本发明一个实施例的网页中多媒体地址的获取方法的流程图;
[0017]图2是根据本发明一个实施例的网页中多媒体地址的获取方法的流程图;
[0018]图3是根据本发明一个实施例的模拟播放事件的流程图;
[0019]图4是根据本发明一个实施例的网页中多媒体地址的获取装置的结构示意图;
[0020]图5是根据本发明一个实施例的网页中多媒体地址的获取装置的结构示意图。
【具体实施方式】
[0021]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0022]在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0023]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0024]为了解决目前提取多媒体地址时现有技术存在的覆盖站点数目少、通用性差、滞后性等问题,本发明提出一种网页中多媒体地址的获取方法和装置。下面参考附图描述根据本发明实施例的网页中多媒体地址的获取方法和装置。
[0025]一种网页中多媒体地址的获取方法,包括以下步骤:云端服务器抓取多媒体网页;云端服务器建立多媒体网页的文件对象模型DOM,并根据DOM执行多媒体网页中的脚本指令以生成多媒体播放插件;云端服务器启动虚拟机,并在虚拟机中运行多媒体播放插件以模拟多媒体的播放事件;以及云端服务器通过播放事件获取多媒体的多媒体地址。
[0026]图1是根据本发明一个实施例的网页中多媒体地址的获取方法的流程图。
[0027]如图1所示,网页中多媒体地址的获取方法包括以下步骤:
[0028]S101,云端服务器抓取多媒体网页。
[0029]例如,首先通过网络爬虫抓取网页,其中,网络爬虫是通过网页的链接地址来寻找网页的。然后根据预先设定的参数或者标识信息从抓取的网页中筛选出多媒体网页。
[0030]其中,多媒体包括视频、音频等采用流式传输方式在互联网播放的媒体格式。
[0031]S102,云端服务器建立多媒体网页的文件对象模型DOM (Document ObjectModel),并根据DOM执行多媒体网页中的脚本指令以生成多媒体播放插件。
[0032]具体地,云端服务器根据抓取到的多媒体网页建立该多媒体网页的文件对象模型D0M,并模拟浏览器的解析过程根据DOM执行多媒体网页中的脚本指令以生成多媒体播放插件。其中,脚本指令是指由脚本语言写成的控制指令,例如,由JavaScrip (—种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言)脚本语言编写的脚本指令。
[0033]S103,云端服务器启动虚拟机,并在虚拟机中运行多媒体播放插件以模拟多媒体的播放事件。
[0034]具体地,模拟多媒体的播放事件是指在虚拟机中运行多媒体播放插件,该过程并不需要将多媒体真正的播放出来,只要模拟该多媒体在浏览器中播放时所传递的参数即可,其目的是获取所需要的有效信息,例如,获取程序运行中的参数或者属性等信息。
[0035]在本发明的一个实施例中,虚拟机可以是swf (shock wave flash,动画设计软件Flash的专用格式)虚拟机,它用于解析swf文件,执行其中的AS (ActionScript,动作脚本语言)代码,并通过NetStream (负责流式视频播放工作的组件)播放视频。应当理解,还可包括其他用于播放多媒体的虚拟机。
[0036]S104,云端服务器通过播放事件获取多媒体的多媒体地址。
[0037]具体地,云端服务器模拟运行多媒体插件之后,可以对运行过程中的参数进行分析或处理以获取多媒体地址。
[0038]根据本发明实施例的网页中多媒体地址的获取方法,云端服务器在虚拟机中模拟多媒体的播放事件来获取多媒体地址,至少具有以下有益效果:(I)可覆盖的多媒体站点数目大大增加;(2)对于不同的多媒体站点具有通用性;(3)不需要随着多媒体站点算法的更换而更新,只需要模拟一次播放事件,提高了获取多媒体地址的效率,提升了用户体验。
[0039]下面详细介绍模拟多媒体播放事件以获取多媒体地址的过程。图2是根据本发明一个实施例的网页中多媒体地址的获取方法的流程图。
[0040]如图2所示,网页中多媒体地址的获取方法包括以下步骤:
[0041]S201,云端服务器抓取多媒体网页。
[0042]例如,首先通过网络爬虫抓取网页,其中,网络爬虫是通过网页的链接地址来寻找网页的。然后根据预先设定的参数或者标识信息从抓取的网页中筛选出多媒体网页。
[0043]其中,多媒体包括视频、音频等采用流式传输方式在互联网播放的媒体格式。[0044]S202,云端服务器建立多媒体网页的文件对象模型D0M,并根据DOM执行多媒体网页中的脚本指令以生成多媒体播放插件。
[0045]具体地,云端服务器根据抓取到的多媒体网页建立该多媒体网页的文件对象模型D0M,并模拟浏览器的解析过程根据DOM执行多媒体网页中的脚本指令以生成多媒体播放插件。其中,脚本指令是指由脚本语言写成的控制指令,例如,由JavaScrip脚本语言编写的脚本指令。
[0046]S203,云端服务器启动虚拟机,获取多媒体播放插件的配置参数。
[0047]在本发明的一个实施例中,虚拟机可以是swf虚拟机,它用于解析swf文件,执行其中的AS代码,并通过NetStream播放视频。应当理解,还可包括其他用于播放多媒体的虚拟机。
[0048]在本发明的一个实施例中,获取多媒体播放插件的配置参数是通过解析多媒体插件标签的参数实现的。其中,多媒体插件标签可以是object (用来播放多媒体文件的对象,用于IE浏览器)标签、embed (用来播放多媒体文件的对象,用于非IE浏览器)标签等。
[0049]S204,当虚拟机进入运行状态后,虚拟机根据配置参数实例化网络数据流组件NetStream0
[0050]其中,实例化是指在面向对象的编程中,用类创建对象的过程。虚拟机运行多媒体播放插件,根据配置参数来创建NetStream对象。
[0051]S205,虚拟机调用NetStream的播放方法NetStream.play以模拟播放事件。
[0052]S206,在调用 NetStream 的播放方法NetStream.play 的同时记录NetStream.play被调用时的参数,其中,记录的NetStream.play被调用时的参数为多媒体地址。
[0053]根据本发明实施例的网页中多媒体地址的获取方法,云端服务器在虚拟机中模拟多媒体的播放事件,并记录NetStream.play被调用时的参数作为多媒体地址,进一步提高了获取多媒体地址的效率,提升了用户体验。
[0054]如果多媒体包括多个片段,每个片段都具有自己的多媒体地址,因此,还需要对多媒体的多个片段进行模拟。图3是根据本发明实施例的模拟播放事件的流程图。
[0055]如图3所示,模拟播放事件即步骤S205具体包括以下步骤:
[0056]S301,虚拟机调用NetStream.play。其中,NetStream.play为网络数据流组件NetStream的播放方法。
[0057]S302, NetStream.play发送网络请求以获取多媒体的元信息。
[0058]其中,多媒体的元信息包括多媒体的时长、预设帧数和总字数。例如,元信息可为metadata信息等。
[0059]S303,当NetStream获取元信息后,NetStream先后发送元信息事件和播放完成事件至虚拟机。
[0060]S304,虚拟机根据元信息事件和播放完成事件判断多媒体文件是否被正确模拟。
[0061]具体地,当虚拟机接收到播放完成事件时,获取播放完成事件中的播放时长,如果播放时长和兀信息事件中的兀信息的时长一致,则确定多媒体文件被正确模拟。
[0062]S305,如果多媒体文件被正确模拟,则修改NetStream中的属性参数。
[0063]其中,如果多媒体包括多个片段,修改NetStream中的属性参数便于播放下一个多媒体的片段。[0064]S306,虚拟机监听多媒体是否播放完毕。
[0065]其中,虚拟机的监听过程具体为:首先判断虚拟机是否进入闲置状态,如果进入闲置状态,则进一步判断记录的NetStream.play被调用时的参数的个数是否大于0,如果大于0,则虚拟机监听多媒体播放完毕。
[0066]具体地,在本发明的一个实施例中,闲置状态是指当虚拟机的多媒体帧数等于元信息的预设帧数时的状态。
[0067]S307,如果多媒体未播放完毕,则根据修改后的NetStream的属性参数继续执行步骤S301。
[0068]S308,如果播放完毕,则获取记录的NetStream.play被调用时的参数为多媒体地址。
[0069]根据本发明实施例的云端服务器模拟多媒体播放事件的方法,如果多媒体包括多个片段,可以通过循环模拟多个片段播放以获取多个片段的多媒体信息,进一步增加覆盖的多媒体站点数目,提高了获取多媒体地址的效率,提升了用户体验。
[0070]为了实现上述实施例,本发明还提出一种网页中多媒体地址的获取装置。
[0071]一种网页中多媒体地址的获取装置,包括:多媒体网页抓取模块,用于抓取多媒体网页;播放插件生成模块,用于建立多媒体网页的文件对象模型D0M,并根据DOM执行多媒体网页中的脚本指令以生成多媒体播放插件;播放事件模拟模块,用于启动虚拟机,并在虚拟机中运行多媒体播放插件以模拟多媒体的播放事件;以及多媒体地址获取模块,用于通过播放事件获取多媒体的多媒体地址。
[0072]图4是根据本发明一个实施例的网页中多媒体地址的获取装置的结构示意图。
[0073]如图4所示,网页中多媒体地址的获取装置包括:多媒体网页抓取模块100、播放插件生成模块200、播放事件模拟模块300、多媒体地址获取模块400。
[0074]具体地,多媒体网页抓取模块100用于抓取多媒体网页。例如,首先通过网络爬虫抓取网页,其中,网络爬虫是通过网页的链接地址来寻找网页的。然后根据预先设定的参数或者标识信息从抓取的网页中筛选出多媒体网页。其中,多媒体包括视频、音频等采用流式传输方式在互联网播放的媒体格式。
[0075]播放插件生成模块200用于建立多媒体网页的文件对象模型D0M,并根据DOM执行多媒体网页中的脚本指令以生成多媒体播放插件。播放插件生成模块200根据抓取到的多媒体网页建立该多媒体网页的文件对象模型D0M,并模拟浏览器的解析过程根据DOM执行多媒体网页中的脚本指令以生成多媒体播放插件。其中,脚本指令是指由脚本语言写成的控制指令,例如,由JavaScrip脚本语言编写的脚本指令。
[0076]播放事件模拟模块300用于启动虚拟机,并在虚拟机中运行多媒体播放插件以模拟多媒体的播放事件。例如,虚拟机可以是SWf虚拟机,它用于解析SWf文件,执行其中的AS代码,并通过NetStream播放视频。应当理解,还可包括其他用于播放多媒体的虚拟机。另外,模拟多媒体的播放事件是指在虚拟机中运行多媒体播放插件,该过程并不需要将多媒体真正的播放出来,只要模拟该多媒体在浏览器中播放时所传递的参数即可,其目的是获取所需要的有效信息,例如,获取程序运行中的参数或者属性等信息。
[0077]多媒体地址获取模块400用于通过播放事件获取多媒体的多媒体地址。云端服务器模拟运行多媒体插件之后,可以对运行过程中的参数进行分析或处理以获取多媒体地址。
[0078]根据本发明实施例的网页中多媒体地址的获取装置,在虚拟机中模拟多媒体的播放事件来获取多媒体地址,至少具有以下有益效果:(I)可覆盖的多媒体站点数目大大增加;(2)对于不同的多媒体站点具有通用性;(3)不需要随着多媒体站点算法的更换而更新,只需要模拟一次播放事件,提高了获取多媒体地址的效率,提升了用户体验。
[0079]下面详细介绍播放事件模拟模块300的结构。图5是根据本发明一个实施例的网页中多媒体地址的获取装置的结构示意图。
[0080]如图5所示,网页中多媒体地址的获取装置包括:多媒体网页抓取模块100、播放插件生成模块200、播放事件模拟模块300、多媒体地址获取模块400、配置参数获取单元310、NetStream实例化单元320、播放事件模拟单元330。
[0081]在本发明的一个实施例中,播放事件模拟模块300包括配置参数获取单元310、NetStream实例化单元320、播放事件模拟单元330。
[0082]具体地,配置参数获取单元310用于获取多媒体播放插件的配置参数。例如,获取多媒体播放插件的配置参数是通过解析多媒体插件标签的参数实现的。其中,多媒体插件标签可以是object标签、embed标签等。
[0083]NetStream实例化单元320用于当虚拟机进入运行状态后,并通过虚拟机根据配置参数实例化网络数据流组件NetStream。其中,实例化是指在面向对象的编程中,用类创建对象的过程。虚拟机运行多媒体播放插件,根据配置参数来创建NetStream对象。
[0084]播放事件模拟单元330用于通过虚拟机调用NetStream的播放方法NetStream.play以模拟播放事件。
[0085]多媒体地址获取模块400还用于在调用NetStream的播放方法NetStream.play的同时记录NetStream.play被调用时的参数,其中,记录的NetStream.play被调用时的参数为多媒体地址。
[0086]如果多媒体包括多个片段,每个片段都具有自己的多媒体地址,因此,还需要对多媒体的多个片段进行模拟。下面详细介绍播放事件模拟单元330的作用。
[0087]播放事件模拟单元330具体用于:
[0088](I)虚拟机调用NetStream.play。其中,NetStream.play为网络数据流组件NetStream的播放方法。
[0089](2) NetStream.play发送网络请求以获取多媒体的元信息。其中,多媒体的元信息包括多媒体的时长、预设帧数和总字数。例如,元信息可为metaData信息等。
[0090](3)当NetStream获取元信息后,NetStream先后发送元信息事件和播放完成事件至虚拟机。
[0091](4)虚拟机根据元信息事件和播放完成事件判断多媒体文件是否被正确模拟。具体地,当虚拟机接收到播放完成事件时,获取播放完成事件中的播放时长,如果播放时长和元信息事件中的元信息的时长一致,则确定多媒体文件被正确模拟。
[0092](5)如果多媒体文件被正确模拟,则修改NetStream中的属性参数。其中,如果多媒体包括多个片段,修改NetStream中的属性参数便于播放下一个多媒体的片段。
[0093](6)虚拟机监听多媒体是否播放完毕。其中,虚拟机的监听过程具体为:首先判断虚拟机是否进入闲置状态,如果进入闲置状态,则进一步判断记录的NetStream.play被调用时的参数的个数是否大于O,如果大于O,则虚拟机监听多媒体播放完毕。具体地,在本发明的一个实施例中,闲置状态是指当虚拟机的多媒体帧数等于元信息的预设帧数时的状态。
[0094](7)如果多媒体未播放完毕,则根据修改后的NetStream的属性参数继续返回执行⑴。
[0095](8)如果播放完毕,则获取记录的NetStream.play被调用时的参数为多媒体地址。
[0096]根据本发明实施例的网页中多媒体地址的获取装置,在虚拟机中模拟多媒体的播放事件,并记录NetStream.play被调用时的参数作为多媒体地址;如果多媒体包括多个片段,可以通过循环模拟多个片段播放以获取多个片段的多媒体信息。进一步增加覆盖的多媒体站点数目,提高了获取多媒体地址的效率,提升了用户体验。
[0097]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0098]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0099]尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
【权利要求】
1.一种网页中多媒体地址的获取方法,其特征在于,包括: 云端服务器抓取多媒体网页; 所述云端服务器建立所述多媒体网页的文件对象模型DOM,并根据所述DOM执行所述多媒体网页中的脚本指令以生成多媒体播放插件; 所述云端服务器启动虚拟机,并在所述虚拟机中运行所述多媒体播放插件以模拟多媒体的播放事件;以及 所述云端服务器通过所述播放事件获取所述多媒体的多媒体地址。
2. 根据权利要求1所述的方法,其特征在于,所述在所述虚拟机中运行所述多媒体播放插件以模拟多媒体的播放事件具体包括: 51、获取所述多媒体播放插件的配置参数; 52、当所述虚拟机进入运行状态后,所述虚拟机根据所述配置参数实例化网络数据流组件NetStream ;以及53、所述虚拟机调用所述NetStream的播放方法NetStream.play以模拟所述播放事件。
3.根据权利要求2所述的方法,其特征在于,所述云端服务器通过所述播放事件获取所述多媒体的多媒体地址具体包括: 54、在调用所述NetStream的播放方法NetStream.play的同时记录所述NetStream.play被调用时的参数,其中,记录的所述NetStream.play被调用时的参数为所述多媒体地址。
4.根据权利要求2所述的方法,其特征在于,所述虚拟机调用所述NetStream的播放方法NetStream.play以模拟所述播放事件具体包括: 531、所述虚拟机调用所述NetStream.play ; 532、所述NetStream.play发送网络请求以获取所述多媒体的元信息; 533、当所述NetStream获取所述元信息后,所述NetStream先后发送元信息事件和播放完成事件至所述虚拟机; 534、所述虚拟机根据所述元信息事件和所述播放完成事件判断所述多媒体文件是否被正确模拟; 535、如果被正确模拟,则修改所述NetStream中的属性参数; 536、所述虚拟机监听所述多媒体是否播放完毕;537、如果未播放完毕,则根据修改后的所述NetStream的属性参数继续执行步骤S31;以及 538、如果播放完毕,则获取记录的所述NetStream.play被调用时的参数为所述多媒体地址。
5.根据权利要求4所述的方法,其特征在于,所述虚拟机监听所述多媒体是否播放完毕,具体包括: 判断所述虚拟机是否进入闲置状态; 如果进入闲置状态,则进一步判断记录的所述NetStream.play被调用时的参数的个数是否大于O;以及 如果大于0,则所述虚拟机监听所述多媒体播放完毕。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述元信息包括时长、预设帧数、总字数。
7.根据权利要求6所述的方法,其特征在于,所述闲置状态为所述虚拟机的多媒体帧数等于所述元信息的预设帧数时的状态。
8.根据权利要求6所述的方法,其特征在于,当所述虚拟机接收到所述播放完成事件时,获取所述播放完成事件中的播放时长,如果所述播放时长和所述元信息事件中的所述兀信息的时长一致,则确定所述多媒体文件被正确模拟。
9.一种网页中多媒体地址的获取装置,其特征在于,包括: 多媒体网页抓取模块,用于抓取多媒体网页; 播放插件生成模块,用于建立所述多媒体网页的文件对象模型DOM,并根据所述DOM执行所述多媒体网页中的脚本指令以生成多媒体播放插件; 播放事件模拟模块,用于启动虚拟机,并在所述虚拟机中运行所述多媒体播放插件以模拟多媒体的播放事件;以及 多媒体地址获取模块,用于通过所述播放事件获取所述多媒体的多媒体地址。
10.根据权利要求9所述的装置,其特征在于,所述播放事件模拟模块包括: 配置参数获取单元,用于获取所述多媒体播放插件的配置参数; NetStream实例化单元,用于当所述虚拟机进入运行状态后,并通过所述虚拟机根据所述配置参数实例化网络数据流组件NetStream ;以及 播放事件模拟单元,用于通过所述虚拟机调用所述NetStream的播放方法NetStream.play以模拟所述播放事件。
11.根据权利要求10所述的装置,其特征在于,所述多媒体地址获取模块还用于:在调用所述NetStream的播放方法NetStream.play的同时记录所述NetStream.play被调用时的参数,其中,记录的所述NetStream.play被调用时的参数为所述多媒体地址。
12.根据权利要求10所述的装置,其特征在于,所述播放事件模拟单元具体用于: 501、所述虚拟机调用所述NetStream.play ; 502、所述NetStream.play发送网络请求以获取所述多媒体的元信息; 503、当所述NetStream获取所述元信息后,所述NetStream先后发送元信息事件和播放完成事件至所述虚拟机; 504、所述虚拟机根据所述元信息事件和所述播放完成事件判断所述多媒体文件是否被正确模拟; 505、如果被正确模拟,则修改所述NetStream中的属性参数; 506、所述虚拟机监听所述多媒体是否播放完毕; 507、如果未播放完毕,则根据修改后的所述NetStream的属性参数继续执行SOl;以及 508、如果播放完毕,则获取记录的所述NetStream.play被调用时的参数为所述多媒体地址。
13.根据权利要求12所述的装置,其特征在于,所述虚拟机监听所述多媒体是否播放完毕,具体用于: 判断所述虚拟机是否进入闲置状态; 如果进入闲置状态,则进一步判断记录的所述NetStream.play被调用时的参数的个数是否大于O;以及 如果大于O,则所述虚拟机监听所述多媒体播放完毕。
14.根据权利要求9-13任一项所述的装置,其特征在于,所述元信息包括时长、预设帧数、总字数。
15.根据权利要求14所述的装置,其特征在于,所述闲置状态为所述虚拟机的多媒体帧数等于所述元信息的预设帧数时的状态。
16.根据权利要求14所述的装置,其特征在于,当所述虚拟机接收到所述播放完成事件时,获取所述播放完成事件中的播放时长,如果所述播放时长和所述元信息事件中的所述兀信息的时长一致`,则确定所述多媒体文件被正确模拟。
【文档编号】H04L29/12GK103491196SQ201310467276
【公开日】2014年1月1日 申请日期:2013年10月9日 优先权日:2013年10月9日
【发明者】梁涛 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1