买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】播放内容获取方法、装置及计算设备_阿里巴巴(中国)有限公司_201611199443.3 

申请/专利权人:阿里巴巴(中国)有限公司

申请日:2016-12-22

公开(公告)日:2021-02-19

公开(公告)号:CN108235144B

主分类号:H04N21/4782(20110101)

分类号:H04N21/4782(20110101);H04N21/81(20110101);H04N21/44(20110101);H04N21/431(20110101);H04N21/433(20110101);H04N21/472(20110101)

优先权:

专利状态码:有效-授权

法律状态:2021.02.19#授权;2018.07.24#实质审查的生效;2018.06.29#公开

摘要:本发明公开了一种播放内容获取方法、装置及计算设备。其中,所述方法包括识别步骤,识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式;以及播放内容获取步骤,基于类型和输出方式,获取多媒体播放器播放多媒体资源的播放内容。由此,本发明能够通过分析页面中多媒体资源的具体播放机制,采取相应的处理方式获取所播放的多媒体内容,从而可以实现对在线观看的多媒体内容的保存或录制。

主权项:1.一种在线播放内容录制方法,包括:识别步骤,识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式;播放内容获取步骤,基于所述类型和所述输出方式,获取所述多媒体播放器在线播放所述多媒体资源的播放内容;存储步骤,将获取的所述播放内容以预定格式存储在多媒体存储区中,其中,所述播放内容获取步骤在目标页面处于非当前页面时,定时触发所述多媒体播放器以保持所述多媒体播放器对所述多媒体内容的播放,其中,所述播放内容获取步骤在目标页面处于当前页面且所述多媒体播放器的全部或部分内容处于非显示区域时,为所述多媒体播放器创建裁剪区以保持所述多媒体播放器对所述多媒体内容的播放。

全文数据:播放内容获取方法、装置及计算设备技术领域[0001]本发明涉及互联网技术领域,特别是涉及一种播放内容获取方法、装置及计算设备。背景技术[0002]随着科技的发展,通过访问互联网观看视频已成为了人们生活中不可缺少的组成部分。目前国内的视频网站基本上都是采用Flash插件或HTML5播放器来播放视频,出于分享或收藏的目的,用户在线观看视频时会期望对在线观看的视频进行保存或录制。但是如何获取页面中所播放的视频内容,以实现对页面中播放的视频内容的保存或录制,目前还没有行之有效的解决方案。发明内容[0003]本发明的主要目的在于提供一种播放内容获取方法、装置及计算设备,其能够行之有效地获取页面中所播放的多媒体内容。[0004]根据本发明的一个方面,提供了一种播放内容获取方法,包括:识别步骤,识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式;以及播放内容获取步骤,基于类型和输出方式,获取多媒体播放器播放多媒体资源的播放内容。[0005]由此,本发明通过分析页面中多媒体资源的播放机制多媒体播放器的类型、播放多媒体资源时的输出方式),可以采取相应的方式来获取所播放的多媒体内容。[0006]在本发明的一个实施例中,该方法还可以包括存储步骤,将获取的播放内容以预定格式存储在多媒体存储区中。[0007]在本发明的一个实施例中,多媒体资源可以包括视频资源,并且,播放内容获取步骤可以包括:逐个或降帧率地获取多媒体播放器播放视频资源的完整或部分视频帧。[0008]对于视频资源来说,连续几帧画面之间发生变动的经常是很少的一部分。因此,可以仅仅获取连续视频帧中发生变化的一小部分。另外,对于某些高帧率视频源,也可以在不影响观看的情况下降低帧率。这样,可以降低播放内容获取步骤、以及后续的存储步骤的处理量。[0009]在本发明的一个实施例中,存储步骤可以包括:将获取的视频帧转换成预定格式并按照位置信息填充到画布缓冲区的指定区域。[0010]在本发明的一个实施例中,多媒体资源可以包括音频资源,并且,播放内容获取步骤可以包括:直接获取输出到声卡播放的音频内容。[0011]在本发明的一个实施例中,识别步骤识别出多媒体播放器的类型是页面元素,例如HTML5播放器,由此根据识别步骤识别出的输出方式,可以按照如下之一获取播放内容:播放内容获取步骤基于识别出的软件解码输出方式,直接获取经软件解码的播放内容;或播放内容获取步骤基于识别出的硬件解码输出方式,直接获取硬件解码前的播放内容并自行软件解码,或者通过读取硬件的数据来获取经硬件解码的播放内容。[0012]在本发明的一个实施例中,识别步骤识别出多媒体播放器的类型是页面插件,例如Flash播放器,由此播放内容获取步骤可以通过截取输出接口来获取播放内容。[0013]在本发明的一个实施例中,根据识别步骤识别出的输出方式,以如下方式通过截取接口来获取播放内容:播放内容获取步骤基于识别出的2D软件解码输出方式,直接截取输出接口来获取播放内容;播放内容获取步骤基于识别出的3D软件解码输出方式,截取多个输出接口的输出内容并根据输出内容的相互关系来获取播放内容;播放内容获取步骤基于识别出的硬件解码输出方式,调用接口读取硬件的数据来获取播放内容。[0014]在本发明的一个实施例中,播放内容获取步骤在目标页面处于非当前页面时,定时触发多媒体播放器以保持多媒体播放器对多媒体内容的播放。[0015]由此,在目标页面最小化时,可以定时触发多媒体播放器以使得多媒体播放器在目标页面最小化时也可以继续播放多媒体内容。[0016]在本发明的一个实施例中,播放内容获取步骤在目标页面处于当前页面且多媒体播放器的全部或部分内容处于非显示区域时,为多媒体播放器创建裁剪区以保持多媒体播放器对多媒体内容的播放。[0017]由此,在目标页面中的多媒体播放器全部或部分被遮挡时,可以为多媒体播放器创建裁剪区以使得多媒体播放器在其全部或部分被遮挡时也可以继续播放多媒体内容。[0018]根据本发明的另一个方面,还提供了一种播放内容获取装置,包括:识别单元,用于识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式;以及播放内容获取单元,基于识别单元识别出的类型和输出方式,获取多媒体播放器播放多媒体资源的播放内容。[0019]在本发明的一个实施例中,该装置还可以包括:存储单元,用于将播放内容获取单元获取的播放内容以预定格式存储在多媒体存储区中。[0020]在本发明的一个实施例中,多媒体资源包括视频资源,并且,播放内容获取单元逐个或降帧率地获取多媒体播放器播放视频资源的完整或部分视频帧。[0021]在本发明的一个实施例中,识别单元识别出多媒体播放器的类型是页面元素,例如HTML5播放器,由此根据识别单元识别出的输出方式,播放内容获取单元进行如下之一的操作:基于识别出的软件解码输出方式,直接获取经软件解码的播放内容;或基于识别出的硬件解码输出方式,直接获取硬件解码前的播放内容并自行软件解码,或者通过读取硬件的数据来获取经硬件解码的播放内容。[0022]在本发明的一个实施例中,识别单元识别出多媒体播放器的类型是页面插件,例如Flash播放器,由此播放内容获取单元通过截取输出接口来获取播放内容。[0023]在本发明的一个实施例中,根据识别单元识别出的输出方式,播放内容获取单元进行如下之一的操作:基于识别出的2D软件解码输出方式,直接截取输出接口来获取播放内容;基于识别出的3D软件解码输出方式,截取多个输出接口的输出内容并根据输出内容的相互关系来获取播放内容;基于识别出的硬件解码输出方式,调用接口读取硬件的数据来获取播放内容。[0024]在本发明的一个实施例中,播放内容获取单元还包括定时触发模块,用于在目标页面处于非当前页面时,定时触发多媒体播放器以保持多媒体播放器对多媒体内容的播放。LUU^5J在本友明的一个买施例中,播放内容获取单元还包括裁剪区创建模块,用于在目标页面处于当前页面且多媒体播放器的全部或部分内容处于非显示区域时,为多媒体播放器创建裁剪区以保持多媒体播放器对多媒体内容的播放。[0026]根据本发明的又一个实施例,还提供了一种计算设备,包括:显示设备,用于显示信息;存储器,用于存储信息;处理器,连接至显示设备和存储器,处理器用于:识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式;以及基于识别出的类型和输出方式,获取多媒体播放器播放多媒体资源的播放内容;以及将获取的播放内容以预定格式存储在存储器的多媒体存储区中。[0027]综上,本发明的播放内容获取方法、装置及计算设备可以通过分析页面中多媒体资源的播放机制,诸如多媒体播放器的类型、播放多媒体资源时的输出方式,采取相应的处理方式来获取所播放的多媒体内容,从而可以实现对在线观看的多媒体内容的保存或录制。附图说明[0028]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。[0029]图1是示出了根据本发明一实施例的计算设备的结构的示意性方框图。[0030]图2是示出了根据本发明一实施例的播放内容获取方法的示意性流程图。[0031]图3是不出了基于浏览器录制在线观看视频的示意性流程图。[0032]图4是不出了根据本发明一实施例的播放内容获取装置的结构的示意性流程图。[0033]图5是不出了本发明在一具体应用例的效果示意图。具体实施方式[0034]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。[0035]如前所述,为了可以获取用户浏览页面时页面中所播放的多媒体内容,以实现对多媒体内容的录制。本发明提出了一种行之有效的内容获取方案,本发明的内容获取方案主要是通过分析页面中多媒体资源的播放机制,诸如多媒体播放器的类型和播放多媒体资源的输出方式,采取与播放机制相应的处理方式来获取所播放的多媒体内容。[0036]下面将参照图1至图3来具体地描述本发明的实施例。图1是示出了根据本发明一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于显示设备110、存储器120、网络接口125以及处理器130。处理器130分别与网络接口125、显示设备110和存储器120相连接。在本发明的一个实施例中,计算设备100的上述以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本发明范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。计算设备10呵以是任何类型的静止或移动计算设备,包挪动计_或移动计算K备例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、电话例如,智能手机)、可佩戴的计算设备例如,智能手表、智能眼镜等或其他类型的務动设备,或者诸如台式计算机或PC的静止计算设备。计算设备1〇〇还可以是移动式或静止式的服务器D[0038]一网络接口125使得计算设备100能够经由一个或多个网络与服务器端通信。这些网络的不例包括局域网(LAN、广域网WAN、私域网(PAN或诸如因特网的通信网络的组合。网络接口可以包括有线或无线的任何类型的网络接口(例如,网络接口卡NIC中的一或多个,诸如IEEES02.11无线局域网WLAN无线接□、全球微波互联接入⑽—膽接口、以太网接口、通用串行总线USB接口、蜂窝网络接口、蓝牙接口、近场通信肥〇接口等等。[0039]计算设备100通过网络接口丨25与服务器未示出)交互的数据可以保存在存储器120中。存储器120可包括存储文件形式或其他形式的内容的任何类型的存储设备中的一个或多个,包括磁硬盘驱动器、固态硬驱、半导体存储设备、闪存,或者能够存储程序指令或数字信息的任何其他计算机可读可写存储介质。需要说明的是,计算设备100与服务器的一部分交互信息可以持久性地保存在存储器12〇的指定存储区域中,其他交互信息可以临时性地保存在计算设备100的内存中。[0040]显示设备110可以显示由计算设备通过网络接口与服务器交互得到的视频图像,其可以包括各种类型的图像设备,例如阴极射线管CRT、液晶显示器LCD、发光二极管LED包括有机发光二极管〇LED、投射系统等等与其他支持电子装置例如DAC、ADC、信号处理器等等的集合。[0041]具体地,计算设备100可以通过网络接口125获取页面内容,获取的页面内容可以由显示设备110显示,在浏览的目标页面中包含多媒体资源时,就可以由显示设备11〇显示由目标页面中的多媒体播放器所播放的多媒体内容。处理器130能够识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式,并基于识别出的类型和输出方式,获取多媒体播放器播放多媒体资源的播放内容,并且处理器130还可以进一步地将所获取的播放内容以预定格式存储在存储器120的多媒体存储区中。[0042]处理器130可以执行的操作可以参见图2,图2是示出了根据本发明一实施例的播放内容获取方法200的流程图。[0043]如图2所示,本发明的播放内容获取方法200主要包括识别步骤步骤S210和播放内容获取步骤步骤S220。[0044]在步骤S210,识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式。[0045]在步骤S220,基于识别出的类型和输出方式,获取多媒体播放器播放多媒体资源的播放内容。[0046]目前国内视频网站采取的多媒体播放机制主要分为两种,一种是通过页面插件播放多媒体资源,例如Flash插件,另一种是通过页面元素播放多媒体资源,例如HTML5播放器。[0047]页面插件是嵌入在浏览器或其它能够访问页面的应用中的用于提供多媒体播放功能的插件,其相对于浏览器或其它应用是封闭的。页面元素则是通过网页代码实现多媒体播放功能的,使用页面元素播放多媒体资源的过程中的数据相对于浏览器或其它应用是可见的。由于页面插件和页面元素的播放机制不同,在多媒体播放器分别为页面插件和页面元素时,可以采取不同的处理方式来获取播放多媒体资源的播放内容。[0048]下面分别就多媒体播放器为页面插件和页面元素时,播放内容获取步骤的可行实现方式进行说明,应该知道,对于其它类型的多媒体播放器,也可以根据其播放机制采取相应的处理方式来获取多媒体内容。[0049]1、多媒体播放器为页面插件[0050]以Flash插件为例,在检测到多媒体播放器的类型是Flash插件时,可以从输出接口获取播放内容。[0051]具体来说,在多媒体播放器为Flash插件时,播放多媒体资源的输出方式可以分为2D软件解码输出方式、3D软件解码输出方式以及硬件解码输出方式。[0052]2D软件解码输出方式输出的是RGBA形式的数据,可以对其直接拷贝,即在识别出输出方式为2D软件解码输出方式时,可以直接从输出接口获取播放内容。[0053]由于Flash插件会根据不同的显卡支持特性输出不同格式的数据,3D软件解码输出方式除了输出RGBA形式的数据,对于某些兼容性较差的显卡,还会直接输出YUV格式的数据。因此在识别出播放多媒体资源的输出方式为3D软件解码输出方式时,需要从多个3D输出接口来获取输出内容,并需要根据多个输出内容的相互关系来获取播放内容。例如,可以在开始某次输出和结束某次输出时做上映射,以得到多个输出的相互关系,并且通过合理组织上述多个输出的内容来获取最终用于播放的内容。[0054]硬件解码输出方式主要是由GPU进行解码,解码后的数据会直接上传到显卡中,整个解码过程中Flash插件是获取不到解码后的数据的。因此在识别出播放多媒体资源的输出方式为硬件解码输出方式时,可以调用接口读取硬件的数据来获取播放内容。例如,可以调用glReadPixels接口从显卡读取数据。通常这个操作耗时较长,可以另开线程进行处理。由于是调用glReadPixels接口直接从显卡读取数据,因此读取的数据中除了包括视频数据本身,还可能包含弹幕、广告贴片等数据。用户可以通过勾选原始视频中的相应选项来选择是否需要包含弹幕等的数据。[0055]2、多媒体播放器为页面元素[0056]以HTML5播放器为例,在识别出多媒体播放器的类型是HTML5播放器时,根据识别步骤步骤S210识别出的输出方式,播放内容获取步骤步骤S220可以采取相应的获取方式来获取播放内容。[0057]在HTML5播放器播放多媒体资源过程中,多媒体数据以及解码后的数据对浏览器来说是可见的,因此这里在获取播放内容的方式上与多媒体播放器为Flash插件相比,要简单一些。[0058]具体来说,对于HTML5播放器来说,其输出方式可以分为软件解码输出方式和硬件解码输出方式。[0059]在输出方式为软件解码输出方式时,可以直接获取经软件解码的播放内容。[0060]硬件解码输出方式主要是由GPU进行解码,解码后的数据会直接上传到显卡中。因此在输出方式为硬件解码输出方式时,可以直接获取硬件解码前的播放内容并自行软件解码,或者也可以通过读取硬件显卡的数据来获取经硬件解码的播放内容。[0061]至此,以页面插件为Flash插件、页面元素为HTML5播放器为例,对播放内容获取步骤的具体实现方式做了说明。应该理解的是,页面插件和页面元素也可以是除如上所述Flash和HTML5之外的其他播放器,例如今后随着技术发展所开发出的新的页面内多媒体播放器。这些多媒体播放器同样可以根据其具体的播放机制采取相应的处理方式以获取多媒体资源的播放内容。[0062]多媒体资源主要包括视频资源和音频资源。对于视频资源,可以采取上述方式进行获取,对于音频资源,由于音频内容通常是直接输出到声卡的,因此可以直接获取输出到声卡播放的音频内容。[0063]如图2所示,本发明的播放内容获取方法200还可以优选地包括存储步骤S230。在步骤S230,将获取的播放内容以预定格式存储在多媒体存储区中。[0064]对于多媒体资源中的视频资源,可以逐个获取视频多媒体播放器播放视频资源的完整或部分视频帧,也可以降帧率地获取多媒体播放器播放视频资源的完整或部分视频帧。这是因为,对于视频资源来说,连续几帧画面之间发生变动的经常是很少的一部分。因此,可以仅仅获取连续视频帧中发生变化的一小部分。另外,对于某些高帧率视频源,也可以在不影响观看的情况下降低帧率。其中,在降帧率地获取视频资源的完整或部分视频帧时,可以优选地丢弃连续视频帧中不发生变化或者发生较小变化的视频帧。并且在获取完整或部分视频帧时,可以指定视频帧的起始坐标和具体长宽,以方便后续根据视频帧的位置进行存储。[0065]多媒体存储区可以是用于存储一系列视频帧的画布缓冲区,画布缓冲区可以预先准备。其中,画布缓冲区的画布尺寸可以根据所获取的视频帧的尺寸进行设定,具体可以与获取播放内容的视频帧的尺寸相同。例如,可将画布缓冲区的画布尺寸设定为开始获取播放内容时视频帧的初始尺寸。[0066]作为本发明的一个可选实施例,可以将获取的视频帧转换成预定格式并按照位置信息填充到画布缓冲区的指定区域。例如,可以将获取的视频帧转化成RGBA形式的数据,然后再根据视频帧的位置信息填充到画布缓冲区的相应位置。在完成视频帧的填充后,还可以根据自己的业务需要将内存中的RGBA数据转换成自己的格式,比如保存BMP文件、编码H264格式等等。[0067]如上文所述,对于视频资源来说,连续几帧画面之间发生变动的经常是很少的一部分,所获取的可以是完整帧的一部分。因此在将获取到的视频帧填充到画布缓存区时,可以采取拼接的方式进行填充。例如,在将一个视频帧填充到画布缓冲区后,对于接下来的部分视频帧,可以根据它的位置信息将其填充到画布缓冲区的相应局部区域,其它区域就可以使用上次所填充的画面。这样,可以减少填充的工作量,提高效率。在具体实现上,对于获取的视频帧,可以指定需要绘制的起始位置和具体长宽,这样,在重绘时,只需要绘制与指定的位置信息相对应的区域即可。[0068]作为本发明的另一个可选实施例,在目标页面处于非当前页面例如目标页面处于最小化或者目标页面不是当前显示窗口时或者目标页面为当前页面但目标页面中的多媒体播放器的全部或部分处于非显示区域(即目标页面中多媒体播放器部分或全部被遮挡时,用户是看不到视频画面的,此时多媒体播放器会终止画面数据的输出以避免不必要的性能损耗。为了获取这些场景下的播放内容,需要采取一定的措施来保持多媒体播放器对多媒体内容的播放。[0069]以多媒体播放器为Flash插件为例,在目标页面处于非当前显示页面时,可以定时触发Flash插件以保持Flash插件对多媒体内容的播放。在目标页面处于当前页面且多媒体播放器的全部或部分内容处于非显示区域时,可以为多媒体播放器创建裁剪区(可以是虚拟裁剪区)以保持多媒体播放器对多媒体内容的播放。[0070]至此以多媒体播放器为Flash插件为例,对目标页面处于非当前显示页面或目标页面为当前显示页面但目标页面中的多媒体播放器的全部或部分处于非显示区域时,可以采取的用于保持多媒体播放器对多媒体内容的播放的方式做了示例性说明。应该明白,本发明还可以采取其它多种方案来实现在上述情形下Flash插件的继续播放,并且对于多媒体播放器为HTML5播放器或其它类型的情形,也可以采取上述或其它方案以保持对多媒体内容的播放。[0071]至此结合图2详细说明了本发明的多媒体内容获取方法。其中,本发明的多媒体内容获取方法可以应用在可以访问页面的应用中,如浏览器、以及带有页面访问功能的其他应用,诸如微信、今日头条等的APP。例如在用户使用浏览器打开页面中的视频资源时,可以使用本发明的多媒体内容获取方法来获取所播放的多媒体内容,可以实现对播放的多媒体内容的录制。如下将以Flash插件为例说明本发明的具体应用。[0072]图3是示出了将本发明应用于浏览器以录制在线观看视频的示意性流程图。参见图3,在步骤S301,用户打开Flash视频网站(目前国内的视频网站大多是Flash视频),观看视频。Flash向浏览器请求当前支持的特性,结合自己内部的实现逻辑,决定采取2D输出、3D输出还是硬件解码的方式。在步骤S302,浏览器检测Flash画面数据的输出方式,同时根据Flash的初始尺寸准备好相应的画布缓冲区,画布缓冲区在内存中的表现格式为RGBA格式。[0073]在步骤S303,浏览器和Flash为了追求性能上不必要的损失,当浏览器最小化时、当Flash页面处于非显示Tab时以及当拖动滚动条将Flash插件滚动到非显示区域时,这个时候用户看不到Flash画面,Flash会终止画面数据的输出以避免不必要的性能损耗。这些场景下要截取画面,需要一一破解来让Flash输出画面数据。当浏览器最小化时和Hash页面处于非显示Tab时,浏览器终止与Hash的编程接口回调,Flash没收到回调,就不会进一步输出画面。针对此类情况,本发明的获取方案可以设计一个定时任务触发浏览器原本己经终止的回调,Flash就会接着输出数据。当拖动滚动条将Flash插件滚动到非显示区域时,浏览器通知Flash新的裁剪区,Flash判断裁剪区不可见时,也不会进一步输出数据,这个时候需要伪造一个可见的裁剪区给Flash,让它继续输出画面。[0074]在步骤S304,根据之前检测到的Flash画面数据的输出方式,采取不同的数据处理方案。[0075]其中2D输出方式的处理最简单,输出的本身格式就是RGBA形式,直接内存拷贝即可;[0076]3D输出方式的处理比较复杂,需要截获多个3D输出接口,需要在开始某次输出和结束某次输出时做上映射,而且3D输出格式除了RGBA形式,对于某些兼容性较差的显卡,会直接输出YUV格式;[0077]最后一种就是硬件解码的输出方式,这种方式最难处理,Flash将视频数据传送到GHJ进程进行解码,然后将解码后的视频数据直接传送到显卡里,也就是说插件进程是获取不到视频数据的,这个时候就需要直接调用glReadPixels接口来直接读取显卡数据,这个操作有点耗时,需要另开线程进行处理。[0078]在步骤S305,将各种截取方式截获到的数据统一转换成RGBA形式,并按照给定的位置信息将数据填充到画布缓冲区的指定区域。这里为了性能的最大化,Flash每次输出的画面并不是全部的画面,可能就去画面的某个区域,因此这里需要定向拷贝填充。[0079]在步骤S306,一副完整的视频画面己经填充完毕,可以根据自己的业务需要将内存中的RGBA数据转换成自己的格式,比如保存BMP文件、编码H264格式等等。[0080]图4是示出了根据本发明一实施例的播放内容获取装置400的功能框图。播放内容获取装置400的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现,例如通过图1所示的计算设备100中的处理器130来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。[0081]参见图4,播放内容获取装置400包括识别单元410和播放内容获取单元420。[0082]识别单元410用于识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式。[0083]播放内容获取单元420可以基于识别单元识别出的类型和输出方式,获取多媒体播放器播放多媒体资源的播放内容。[0084]根据识别单元410识别出的多媒体播放器的播放类型和播放多媒体资源的输出方式,可以采取不同的方式来获取多媒体播放器播放多媒体资源的播放内容。下面分别就多媒体播放器为页面插件和页面元素时,播放内容获取单元420的可以执行的操作进行说明,应该知道,对于采用其它播放机制的的多媒体播放器,播放内容获取单元420也可以采取与其播放机制相应的处理方式来获取多媒体内容。[0085]1、多媒体播放器为页面插件[0086]以Hash插件为例,在识别单元410识别出多媒体播放器的类型是Flash插件时,播放内容获取单元420可以通过截取输出接口来获取播放内容。[0087]具体地,在识别出的输出方式为2D软件解码输出方式时,播放内容获取单元420可以直接截取输出接口来获取播放内容。[0088]在识别出的输出方式为3D软件解码输出方式时,播放内容获取单元420可以截取多个输出接口的输出内容并根据输出内容的相互关系来获取播放内容。[0089]在识别出的输出方式为硬件解码输出方式时,播放内容获取单元420可以调用接口读取硬件的数据来获取播放内容。[0090]2、多媒体播放器为页面元素[0091]以HTML5播放器为例,因此在识别单元410识别出多媒体播放器的类型是HTML5播放器时,根据识别单元410识别出的输出方式,播放内容获取单元420可以进行相应的操作。[0092]具体地,在识别出的输出方式为软件解码输出方式时,播放内容获取单元420可以直接获取经软件解码的播放内容。在识别出的输出方式为硬件解码输出方式时,播放内容获取单元420可以直接获取硬件解码前的播放内容并自行软件解码,或者通过读取硬件的数据来获取经硬件解码的播放内容。[0093]至此,以页面插件为Flash插件、页面元素为HTML5播放器为例,对播放内容获取单元420获取多媒体资源的播放内容的具体过程做了详细说明。应该知道,在页面插件为其它插件,或者页面元素为其它播放器时,播放内容获取单元420也可以根据其具体的播放机制采取相应的处理方式以获取多媒体资源的播放内容。其中,多媒体资源主要包括视频资源和音频资源。对于视频资源,可以采取上述方式进行获取,对于音频资源,由于音频内容都是直接输出到声卡的,因此可以直接获取输出到声卡播放的音频内容。[0094]如图4所示,播放内容获取装置400还可以可选地包括存储单元430。存储单元430用于将播放内容获取单元获取的播放内容以预定格式存储在多媒体存储区中。[0095]在多媒体资源包括视频资源时,播放内容获取单元420可以逐个获取视频多媒体播放器播放视频资源的完整或部分视频帧,也可以降帧率地获取多媒体播放器播放视频资源的完整或部分视频帧。这是因为,对于视频资源来说,连续几帧画面之间发生变动的经常是很少的一部分。因此,播放内容获取单元420可以仅仅获取连续视频帧中发生变化的一小部分。另外,对于某些高帧率视频源,播放内容获取单元420也可以在不影响观看的情况下降低帧率地获取视频资源。其中,在降帧率地获取视频资源的完整或部分视频帧时,可以优选地丢弃连续视频帧中不发生变化或者发生较小变化的视频帧,并且在获取完整或部分)视频帧时,还可以指定视频帧的起始坐标和具体长宽,以方便后续存储。[0096]多媒体存储区可以是用于存储一系列视频帧的画布缓冲区,画布缓冲区可以预先准备。其中,画布缓冲区的画布尺寸可以根据所获取的视频帧的尺寸进行设定,具体地可以与获取播放内容的视频帧的尺寸相同。例如,可以将画布缓冲区的画布尺寸设定为开始获取播放内容时视频帧的初始尺寸。[0097]作为本发明的一个可选实施例,存储单元430可以将获取的视频帧转换成预定格式并按照位置信息填充到画布缓冲区的指定区域。例如,可以将获取的视频帧转化成RGBA形式的数据,然后再根据视频帧的位置信息填充到画布缓冲区的相应位置。在完成视频帧的填充后,还可以根据自己的业务需要将内存中的RGBA数据转换成自己的格式,比如保存BMP文件、编码H264格式等等。[0098]如上文所述,对于视频资源来说,连续几帧画面之间发生变动的经常是很少的一部分,所获取的可以是完整帧的一部分。因此存储单元430在将获取到的视频帧填充到画布缓存区时,可以采取拼接的方式进行填充。例如,在将一个视频帧填充到画布缓冲区后,对于接下来的部分视频帧,可以根据它的位置信息将其填充到画布缓冲区的相应局部区域,其它区域就可以使用上次所填充的画面。这样,可以减少填充的工作量,提高绘制效率。在具体实现上,对于获取的部分视频帧,可以指定需要绘制的起始位置和具体长宽,由此在重绘时,仅需将部分视频帧填充至与指定的位置信息相对应的区域即可。[00"]如图4所示,播放内容获取单元420优选地还可以包括定时触发模块4210和裁剪区创建模块4220。定时触发模块4210可以在目标页面处于非当前页面时,定时触发多媒体播放器以保持多媒体播放器对多媒体内容的播放。在目标页面处于当前页面且多媒体播放器的全部或部分内容处于非显示区域时,裁剪区创建模块4220可以为多媒体播放器创建裁剪区以保持多媒体播放器对多媒体内容的播放。[0100]上文中已经参考附图详细描述了根据本发明的播放内容获取方法、装置及计算设备。如下将结合一个具体应用例来进一步说明本发明的一个具体实现。[0101]应用例[0102]可以将本发明的播放内容获取方案应用于浏览器或其它能够访问页面的如微信、今日头条等应用中。图5示出了将本发明应用在浏览器应用中的效果图。如图5所示,在浏览器应用增加了本发明的播放内容获取功能之后,用户使用浏览器登录视频网站在线观看视频时,就可以使用浏览器的录制功能(例如,点击操作面板上的录制按钮等对在线播放的视频进行保存。图5中左边的画面是使用浏览器在线观看的视频,图5中右边的画面是利用本发明截取的视频数据加上浏览器logo右上角)然后输出到窗口上的效果图。由此,基于本发明可以获取在线播放的视频内容,从而可以实现对在线播放的视频内容的保存或录制。[0103]综上,本发明的播放内容获取方案可以针对不同的页面播放机制,采取不同的方式来获取播放内容。例如,针对Flash插件的2D输出方式、3D输出方式和硬件输出解码方式,HTML5播放器的软件解码输出方式、硬件解码输出方式,可以执行不同的数据处理方式来获取播放内容。并且为了保证可以源源不断的得到播放内容,可以针对Flash插件与浏览器的交互特点,建立一套完善的体系来从Flash插件获取数据,例如可以建立定时任务回调接口、伪造裁剪区等等。并且在截取数据的时候,可以降帧频地获取完整或部分视频帧,在将视频帧绘制到画布缓冲区时可以采取拼接绘制的方式,以将CPU的消耗降到最低。由此,利用本发明的播放内容获取方案可以实现在线视频录制、截图保存等功能。[0104]此外,根据本发明的方法还可以实现为一种计算机程序,该计算机程序包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。或者,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的上述方法中限定的上述功能的计算机程序。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。[0105]附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和或流程图中的每个方框、以及框图和或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。[0106]以上己经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

权利要求:1.一种播放内容获取方法,包括:识别步骤,识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式;以及播放内容获取步骤,基于所述类型和所述输出方式,获取所述多媒体播放器播放所述多媒体资源的播放内容。2.如权利要求1所述的方法,还包括:存储步骤,将获取的所述播放内容以预定格式存储在多媒体存储区中。3.如权利要求2所述的方法,其中,所述多媒体资源包括视频资源,并且,所述播放内容获取步骤包括:逐个或降帧率地获取所述多媒体播放器播放所述视频资源的完整或部分视频帧。4.如权利要求3所述的方法,其中,所述多媒体存储区是用于存储一系列视频帧的画布缓冲区,所述画布缓冲区的画布尺寸与开始获取所述播放内容时视频帧的初始尺寸相同。5.如权利要求4所述的方法,其中,所述存储步骤包括:将获取的视频帧转换成所述预定格式并按照位置信息填充到所述画布缓冲区的指定区域。6.如权利要求1所述的方法,其中,所述多媒体资源包括音频资源,并且,所述播放内容获取步骤包括:直接获取输出到声卡播放的音频内容。7.如权利要求1所述的方法,其中,所述识别步骤识别出所述多媒体播放器的类型是页面元素,根据所述识别步骤识别出的输出方式,按照如下之一获取播放内容:所述播放内容获取步骤基于识别出的软件解码输出方式,直接获取经软件解码的所述播放内容;或所述播放内容获取步骤基于识别出的硬件解码输出方式,直接获取所述硬件解码前的所述播放内容并自行软件解码,或者通过读取所述硬件的数据来获取经硬件解码的所述播放内容。8.如权利要求1所述的方法,其中,所述识别步骤识别出所述多媒体播放器的类型是页面插件,所述播放内容获取步骤通过截取输出接口来获取所述播放内容。9.如权利要求8所述的方法,其中,根据所述识别步骤识别出的输出方式,以如下方式通过截取接口来获取所述播放内容:所述播放内容获取步骤基于识别出的2D软件解码输出方式,直接截取输出接口来获取所述播放内容;所述播放内容获取步骤基于识别出的3D软件解码输出方式,截取多个输出接口的输出内容并根据输出内容的相互关系来获取所述播放内容;所述播放内容获取步骤基于识别出的硬件解码输出方式,调用接口读取所述硬件的数据来获取所述播放内容。10.如权利要求1所述的方法,其中,所述播放内容获取步骤在目标页面处于非当前页面时,定时触发所述多媒体播放器以保持所述多媒体播放器对所述多媒体内容的播放。11.如权利要求1所述的方法,其中,所述播放内容获取步骤在目标页面处于当前页面且所述多媒体播放器的全部或部分内容处于非显示区域时,为所述多媒体播放器创建裁剪区以保持所述多媒体播放器对所述多媒体内容的播放。12.—种播放内容获取装置,包括:识别单元,用于识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式;以及播放内容获取单元,基于所述识别单元识别出的所述类型和所述输出方式,获取所述多媒体播放器播放所述多媒体资源的播放内容。13.如权利要求12所述的装置,还包括:存储单元,用于将所述播放内容获取单元获取的所述播放内容以预定格式存储在多媒体存储区中。14.如权利要求13所述的装置,其中,所述多媒体资源包括视频资源,并且,所述播放内容获取单元逐个或降帧率地获取所述多媒体播放器播放所述视频资源的完整或部分视频帧。15.如权利要求12所述的装置,其中,所述识别单元识别出所述多媒体播放器的类型是页面元素,根据所述识别单元识别出的输出方式,所述播放内容获取单元进行如下之一的操作:基于识别出的软件解码输出方式,直接获取经软件解码的所述播放内容;或基于识别出的硬件解码输出方式,直接获取所述硬件解码前的所述播放内容并自行软件解码,或者通过读取所述硬件的数据来获取经硬件解码的所述播放内容。16.如权利要求12所述的装置,其中,所述识别单元识别出所述多媒体播放器的类型是页面插件,所述播放内容获取单元通过截取输出接口来获取所述播放内容。17.如权利要求16所述的装置,其中,根据所述识别单元识别出的输出方式,所述播放内容获取单元进行如下之一的操作:基于识别出的2D软件解码输出方式,直接截取输出接口来获取所述播放内容;基于识别出的3D软件解码输出方式,截取多个输出接口的输出内容并根据输出内容的相互关系来获取所述播放内容;基于识别出的硬件解码输出方式,调用接口读取所述硬件的数据来获取所述播放内谷。18.如权利要求12所述的装置,其中,所述播放内容获取单元还包括定时触发模块,用于在目标页面处于非当前页面时,定时触发所述多媒体播放器以保持所述多媒体播放器对所述多媒体内容的播放。19.如权利要求12所述的装置,其中,所述播放内容获取单元还包括裁剪区创建模块,用于在目标页面处于当前页面且所述多媒体播放器的全部或部分内容处于非显示区域时,为所述多媒体播放器创建裁剪区以保持所述多媒体播放器对所述多媒体内容的播放。20.—种计算设备,包括:显示设备,用于显示信息;存储器,用于存储信息;处理器,连接至所述显示设备和存储器,所述处理器用于:识别目标页面中多媒体播放器的类型和播放多媒体资源的输出方式;以及基于识别出的所述类型和所述输出方式,获取所述多媒体播放器播放所述多媒体资源的播放内容;以及将获取的所述播放内容以预定格式存储在所述存储器的多媒体存储区中。

百度查询: 阿里巴巴(中国)有限公司 播放内容获取方法、装置及计算设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。