内容的基于浏览器的记录的制作方法

文档序号:6367364阅读:124来源:国知局
专利名称:内容的基于浏览器的记录的制作方法
内容的基于浏览器的记录
背景技术
在现今的在线环境中,用户经常想要记录和观看实况(live)事件,以及从所记录的实况事件生成内容,比如视频内容、音频内容、图片等等。然而,在基于web的环境中使用户能够观看来自实况事件的流播的数据、记录实况事件和管理最终得到的内容可能对应用开发者提出挑战。例如,在web浏览器应用的上下文中,web浏览器典型地必须调用外部实用程序来为web浏览器记录实况事件。这会减慢记录过程以及增加应用开发过程的复杂性,因为开发者典型地必须设计web浏览器 以与外部实用程序对接(interface)。另外,许多当前的计算设备包括多个记录设备,比如多个视频摄像机。然而,记录实用程序典型地一次仅使得特定类型的记录设备的一个实例能被使用。例如,具有两个视频摄像机的计算设备通常不能用两个视频摄像机并行地记录视频。对于在线环境中内容管理的进一步的挑战在于将内容上传到web资源。例如,想要记录实况事件并把最终得到的内容上传到web资源的用户典型地必须首先经由本地设备记录实况事件,然后将最终得到的内容上传到web资源。这增加了完成所述记录和上传过程所需要的时间,这进而又占用了可以被用于其它任务的计算资源。

发明内容
本文档描述了用于内容的基于浏览器的记录的技术。在至少一些实施例中,web浏览器被配置成与计算设备的记录设备(如,视频摄像机、话筒、静止图像摄像机等等)对接,以便记录实况事件和从实况事件产生内容文件。内容文件的例子包括视频文件、音频文件、图像文件等等。web浏览器也可以把内容文件上传到基于web的资源,比如web服务器。在至少一些实施例中,实况事件可以通过使用多个记录设备被捕获到,以产生一个或多个内容文件以及使得能访问流播的内容数据。例如,计算设备可包括多个记录设备,比如多个视频摄像机、多个话筒等等。按照一些实施例,所述技术可以使一个或多个记录设备能被选择来用于捕获实况事件,以及在一些实施例中,所述技术可以使多个记录设备能被并行地使用来记录一个或多个实况事件。而且,在至少一些实施例中,所述技术可以使得能并行地或半并行地记录实况事件和上传从实况事件的记录所产生的内容数据。例如,实况事件的第一部分可被捕获以产生内容数据的第一部分。在正上传内容数据的第一部分的同时,实况事件的第二部分可被记录以产生内容数据的第二部分。因此,在至少一些实施例中,记录过程和内容数据上传过程可以并行地或半并行地运行。这可以使内容能够以高效的方式被捕获和上传。本概要被提供来以简化的形式介绍概念的选择,这些概念还将在下面的详细说明中进行描述。本概要既不打算确认所要求保护的主题的关键特征或必要特征,也不打算被使用来帮助确定所要求保护的主题的范围。


详细说明是参照附图描述的。在附图中,参考标号最左边的数字标识该参考标号在其中首次出现的图。在说明书和附图的不同实例中使用相同的参考标号可以指示类似或相同的项目。图I是用于内容的基于浏览器记录的环境的图解。图2是描绘按照一个或多个实施例的、用于基于浏览器记录一个或多个实况事件的示例性过程的流程图。图3是描绘按照一个或多个实施例的、用于使实况事件能够被并行地记录为视频数据和作为视频数据流播的示例性过程的流程图。图4是描绘按照一个或多个实施例的、用于利用多个记录设备来记录一个或多个实况事件的示例性过程的流程图。图5是描绘按照一个或多个实施例的、用于并行或半并行地记录和上传内容的示例性过程的流程图。
具体实施例方式示例性环境
图I是用于内容的基于浏览器记录的技术可以在其中运行的环境100的图解。环境100包括计算设备102、网络104和网络资源106。只是为了示例的目的,计算设备102被显示为台式计算机,但计算设备102可以被具体化为各种各样的不同类型的设备。网络资源106可以包括内容可以被上传到那里的各种各样不同的设备和实体,比如web服务器、本地服务器(例如,LAN服务器)、云计算资源、网站等等。同样如图I所示,计算设备102包括处理器108和记录设备110。记录设备110包括图像设备112、视频设备114和音频设备116。图像设备112可以包括被配置来记录静止图像的摄像机和/或其它设备,而视频设备114可以包括被配置来记录视频图像的视频摄像机和/或其它设备。音频设备116可以包括被配置来记录音频的话筒和/或其它设备。计算设备102还包括计算机可读媒体118,其包括或可以访问web浏览器120。web浏览器120包括内容模块122,其被配置成实施这里讨论的用于内容的基于浏览器记录的各种技术。在至少一些实施例中,内容模块122被配置成与记录设备110对接以便使各种类型的实况事件能够被记录和转换为数字内容。图I还图示了 web应用124,其作为网络资源106的一部分被包括。web应用124可以包括能发送内容到计算设备102和/或能从计算设备102接收内容的各种各样不同类型的应用和/或实用程序。在至少一些实施例中,内容可以从计算设备102上传到网络资源106,并经由web应用124发布以便由连接到网络104的其它设备(未示出)访问。应指出的是,图I所示的实体中的一个或多个可以被进一步分解、组合等等。通常,这里描述的任意的功能可以通过使用软件、固件、硬件(如,固定的逻辑电路)、手工处理或这些实现的组合来实现。当在这里使用时,术语“应用”、“模块”和“浏览器”通常代表软件、固件、硬件、整个设备或网络、或者它们的组合。在软件实现的情形下,例如,这些术语可以代表当在处理器(如,CPU)上执行时完成特定任务的程序代码(如,计算机可执行指令)。该程序代码可以被存储在一个或多个计算机可读存储器设备中,比如计算机可读媒体118。当在这里被利用时,计算机可读媒体可以包括典型地与计算设备相关联的所有形式的易失性和非易失性存储器和/或存储媒体。这样的媒体可以包括ROM、RAM、闪存、硬盘、可拆卸媒体等等。用于内容的基于浏览器记录的示例性过程
下面的讨论描述了用于内容的基于浏览器记录的示例性过程。这些过程的诸方面可以以硬件、固件、软件或它们的组合来实施。这些过程被显示为成组的方块,这些方块规定比如通过图I的一个或多个实体执行的操作,而且不必限于针对由各个方块执行所述操作而显示的顺序。在下面的讨论部分中,可以参考图I的环境100,尽管这些不是必需要求的。图2是描绘用于一个或多个实况事件的基于浏览器记录的示例性过程200的流程图。在至少一些实施例中,实况事件是指实时发生并且生成比如光波、声波等等的可记录现象的物理事件。方块202经由web浏览器接收对于记录一个或多个实况事件的请求。例如,用户可以向web浏览器用户接口提供指示用户想要记录实况事件的输入,和/或该请求可以由外部资源(举例而言,比如web应用124那样的应用)生成并被发送到web浏览器。方块204经由web浏览器与一个或多个记录设备对接,以便把一个或多个实况 事件记录为一个或多个内容文件。在至少一些实现中,web浏览器可以包括应用编程接口(API)(例如,作为内容模块122的一部分),其可以与记录设备通信以初始化和协调实况事件的记录。在至少一些实施例中,API可以使web浏览器能够与记录设备(例如,经由设备驱动器)直接通信,而不需要用户与外部应用或其它实用程序交互。记录的实况事件然后可以在对于web浏览器来说是本地的计算设备上被存储为一个或多个内容文件。在至少一些实施例中,一个或多个内容文件可以包括可被单独地存储或合并为单个内容文件的多个内容文件。方块206经由web浏览器将一个或多个内容文件上传到远程资源。例如且参照图1,内容模块122可以上传内容文件到web应用124。在至少一些实施例中,web应用124可以使多个不同的用户能够经由网络104访问所述内容文件。在视频内容的上下文中,web应用124可以是可使得所捕获并上传的视频内容能够被许多不同的用户访问的视频共享网站的一部分。在内容文件包括图像文件的示例性实现中,可以(例如,通过内容模块122)为图像文件生成统一资源标识符(URI),且该统一资源标识符被使用来引用图像文件。URI可以被用来设置对于图像标签(例如,超文本标记语言(HTML) < img>标签)的源和/或可以被上传到远程资源,比如web应用124。该远程资源然后可以使用该URI来检索该图像文件。在另外的其中内容文件包括视频文件的示例性实现中,可以(例如,通过内容模块122)为视频文件生成统一资源定位符(URL),且该统一资源定位符被使用来引用视频文件。在至少一些实施例中,URL可以被用作为用于视频标签(例如,HTML<video>标签)的源属性,以及可以被使用来促使视频文件基于视频标签被播放。按照至少一些实施例,以及在记录视频内容的上下文中,大量的可调用(invocable)的方法可以影响视频记录过程。例如,调用停止方法(例如,StoppableOperation. stop 0 )可以促使正在被记录的视频内容响应于成功的回调(callback)而被结束和被返回。另外,调用取消方法(如,StoppableOperation. cancel ())可以促使正在被记录的视频内容被丢弃,并且可以进一步地促使失败的回调被调用。在至少一些实施例中,如果确定视频内容文件太大(例如在记录过程期间),则所有的或部分的视频内容文件可以被丢弃,以及可以发送视频记录过程已经停止和/或失败的通知。
图3是描绘用于使实况事件能被并行地记录为视频数据和作为视频数据流播的示例性过程300的流程图。方块302经由web浏览器接收对于并行地观看和记录实况事件的请求。例如,用户可以向web浏览器用户接口提供指示用户想要并行地记录和观看实况事件的输入,和/或该请求可以由外部资源(举例而言,比如web应用124那样的应用)生成并且发送到web浏览器。方块304经由web浏览器与一个或多个记录设备对接,以便记录实况事件并流播从实况事件捕获到的视频数据。例如,web浏览器可以与用于记录设备的一个或多个驱动器通信,以便记录实况事件和访问来自所述记录设备的视频数据流。方块306使得在实况事件正在被记录的同时,所述流播的视频数据能够被访问。在至少一些实施例中,web浏览器可以生成用于流播的视频数据和/或记录的视频数据的标签(例如,URL),其使得每一视频数据都能够被访问。对于某些实现而言,更进一步地,web浏览器可以使视频数据流能够被用户和/或 比如web应用124那样的远程资源开启和关闭(toggle on and off)。因此,各实现使得实况事件的视频流能够在实况事件正在被记录时关断,而不影响记录过程。另外,各实现使得记录实况事件的过程能够被关断,而不影响对来自实况事件的流播视频数据的访问。因此,来自单个记录设备和/或多个记录设备的流播的视频数据和记录的视频数据可以被独立地访问和控制。图4是描绘用于利用多个记录设备记录一个或多个实况事件的示例性过程400的流程图。方块402经由web浏览器接收对于记录一个或多个实况事件的请求。例如,可以响应于用户输入和/或响应于来自例如web应用124那样的外部资源的通信而接收到该请 求。方块404查明多个记录设备可用于记录一个或多个实况事件。在至少一些实施例中,单个计算设备可以包括多个记录设备。尽管这里没有明显地示出,但用户接口可以被显示,其使得用户能够选择多个记录设备中的哪一个被使用来记录实况事件。方块406确定是否允许访问多个记录设备的一个或多个。在至少一些实施例中,比如web应用124那样的远程资源可以请求访问多个记录设备的一个或多个。响应于该请求,可以给予用户允许或拒绝该访问的选项(例如,经由用户接口)。依照至少一些实现,用户可以在逐个设备的基础上允许或拒绝访问。例如,如果远程资源正在请求访问多个记录设备,则该用户可以一个个地允许或拒绝对多个记录设备的每一个的访问。因此,用户可以允许访问第一设备,然而拒绝访问另外的设备。这可以使得用户能够知道记录事件且能够对用户的自身隐私具有更多的控制。如果访问多个记录设备中的一个或多个记录设备不被允许(“否”),则方块408拒绝访问所述记录设备的一个或多个。如果访问多个记录设备中的一个或多个记录设备被允许(“是”),则方块410接收关于使用所述多个记录设备中的两个或更多个记录设备来记录一个或多个实况事件的指示。例如,可以响应于经由用户接口对所述多个记录设备中的两个或更多个记录设备的用户选择而接收到该指示。如以上所提到的,单个计算设备可以包括多个记录设备。因此,在至少一些实施例中,多个记录设备中的两个或更多个记录设备可以包括被配置来记录单个类型的内容的设备,例如两个或更多个视频摄像机、两个或更多个话筒、两个或更多个静止图像摄像机等等。方块412经由web浏览器并行地使用多个记录设备中的两个或更多个记录设备来记录一个或多个实况事件以产生一个或多个内容文件。在至少一些实施例中,多个记录设备中的两个或更多个记录设备可以同时地记录一个或多个实况事件。例如,设想一种情景,其中多个记录设备中的两个或更多个记录设备是两个视频摄像机,以及单个计算设备包括两个视频摄像机。按照至少一些实施例,这里 讨论的技术使得在单个计算设备上的两个视频摄像机能够被同时地操作来记录视频内容。然而,这个情景不打算是限制性的,并且多个记录设备中的两个或更多个记录设备可以包括被配置来记录诸如音频内容、静止图像等等各种各样不同内容的设备。图5是描绘用于并行或半并行地记录和上传内容的示例性过程500的流程图。方块502经由本地记录设备记录实况事件的第一部分以产生内容数据的第一部分。例如,该实况事件可以经由记录设备110中的一个或多个记录设备被记录。方块504在记录实况事件的第二部分以产生内容数据的第二部分的同时,将内容数据的第一部分从本地设备上传到远程资源。在至少一些实施例中,所述过程500可以按照基于时间和/或基于字节的间隔将内容数据(例如,内容数据的第一部分和/或第二部分)上传到远程资源。例如,在基于时间的间隔的上下文中,该过程可以按照预先确定的时间间隔,例如每10毫秒,自动地将内容数据从本地设备上传到网络资源。因此,当实况事件被记录时,还没有被上传的内容数据的部分可以按照所述时间间隔,例如在每次时间间隔期满时,被上传到远程资源。在基于字节的间隔的上下文中,当内容数据的特定部分被产生时(例如,I千字节),该过程可以自动地将内容数据的该特定部分上传到远程资源。因此,在至少一些实施例中,与记录的实况事件相关联的内容数据可以按照以字节方式为基础(byte-wisebasis)被上传到远程资源。而且,进度回调函数(progress callback function)可以被使用来将内容数据上传到远程资源。例如,可以在时间间隔期满和/或已经产生一定量的内容数据(例如,以字节计)时调用该进度回调函数。在至少一些实施例中,时间间隔可以是用户比如经由内容模块122规定的。响应于进度回调函数被调用(例如,由本地设备和/或远程资源调用),内容数据的一部分可以从本地设备上传到远程资源。回到示例性过程500,方块506在完成实况事件的记录以产生内容数据的一个或多个另外的部分的同时,将内容数据的第二部分上传到远程资源。内容数据的第二部分可以以基于时间和/或基于字节的方式被上传,其例子在上文中讨论。方块508将所述内容数据的一个或多个另外的部分上传到远程资源。所述内容数据的一个或多个另外的部分可以以基于时间和/或基于字节的方式被上传,其例子在上文中讨论。实时内容流播
在至少一些实施例中,这里讨论的技术可以被使用来流播实时内容,比如实况视频和/或音频。例如,经由记录设备110中的一个或多个记录设备被捕获的内容可以在它正被捕获时被流播以供消费。为了使实时内容能够被流播,这里的技术可以经由URL代表实时内容流。例如,内容模块122可以生成URL,该URL可以被使用来访问由记录设备110中的一个或多个记录设备生成的实时内容流。在至少一些实施例中,URL可以被用在视频标签(例如,HTML视频标签)中,其可以使得当视频标签被访问时,实时内容流能够被访问。对于一些实施例而言,更进一步地,记录的内容(如,视频内容、音频内容、静止图像等等)和实时内容可以被配置用于同时或半同时的消费。例如,与网络资源106相关联的网页可以包括标记(例如,HTML),该标记包括链接到被记录的内容和实时内容的标签。当网页被访问时(例如,经由web浏览器120),记录的内容可以被回放,而实时内容可以被同时或半同时地流播。通过使得记录的内容和实时内容能够经由标签和/或URL被代表,两种类型的内容可以被轻易地嵌入在文档(例如,网页)中且被访问以供消费。一致的(consistent) API
在至少一些实施例中,这里讨论的技术可以通过使用一个或多个一致的应用编程接口(API)被实现。例如,API可以经由认可(recognition)跨多个不同的应用和/或请求实体始终一致的调用约定、标签名称、函数名称和/或方法名称而使得能访问这里讨论的内容。参照以上讨论的实时内容流播,一致的API可以经由标签(例如,视频标签)而使得能访问实时内容和记录的内容,这样使得两种类型的内容可以以类似的方式被访问。因此,开发者或其它实体可以经由一致的API使用相同类型的标签来访问多种类型的内容。参照以上讨论的环境100,一致的API可以被具体化为内容模块122的一个或多个部分。属性参数
在一些情形下,可以提供使得用于记录实况事件的记录属性能够被控制的属性参数。记录属性的例子包括比特率、采样率、帧速率、曝光、亮度、变焦、对比度等等。因此,web浏览器用户接口可以被配置成使得用户能够经由给该用户接口的输入来控制记录属性。例如, 想要进行较快速的内容上传的用户可以规定较低的内容分辨率(例如,视频分辨率和/或图像分辨率),以使得内容可以被较快速地上传。替换地,该用户可以规定较高的内容分辨率,在一些实施例中,这将增加上传该内容所需要的时间。总结
本文档描述了用于内容的基于浏览器记录的技术。在一些实施例中,这些技术使得web浏览器能够与记录设备对接以便把实况事件记录为内容,而不需要外部的实用程序或应用。尽管本发明是以特定于结构特征和/或方法动作的语言描述的,但是应当理解,在所附权利要求中定义的本发明不必限于所描述的特定特征或动作。而是,所述特定特征和动作是作为实现所要求保护的发明的示例性形式而被公开的。
权利要求
1.一种计算机实现的方法,包括 经由web浏览器接收(202)对于记录一个或多个实况事件的请求; 经由web浏览器与一个或多个记录设备对接(204 ),以便不依赖于用户与web浏览器外部的应用的交互,而把所述一个或多个实况事件记录为一个或多个内容文件;和 经由web浏览器将所述一个或多个内容文件上传(206)到远程资源。
2.如权利要求I所述的方法,其中经由web浏览器与一个或多个记录设备对接包括使得在所述一个或多个实况事件正被记录的同时从所述一个或多个实况事件捕获到的视频数据流能够被实时地流播。
3.如权利要求2所述的方法,其中经由web浏览器与一个或多个记录设备对接以记录一个或多个实况事件是经由记录过程而被实施的,以及其中该方法还包括使得所述视频数据流和记录过程能够被单独地开启和关闭。
4.如权利要求2所述的方法,其中所述对接包括经由web浏览器的应用编程接口(API)与一个或多个记录设备对接,以及其中所述API被配置成认可一致的调用约定,以使得能访问所述视频数据流和一个或多个内容文件。
5.如权利要求I所述的方法,其中所述一个或多个记录设备包括多个记录设备,以及其中所述对接包括经由web浏览器与所述多个记录设备对接以同时记录一个或多个实况事件。
6.一种计算机实现的方法,包括 经由本地记录设备记录(502)实况事件的第一部分以产生内容数据的第一部分; 在记录实况事件的第二部分以产生内容数据的第二部分的同时,将内容数据的第一部分从本地设备上传(504)到远程资源;和 在完成所述实况事件的记录的同时,将内容数据的第二部分上传(506)到远程资源。
7.如权利要求6所述的方法,其中内容数据的第一部分包括特定数量字节的内容数据,以及其中将内容数据的第一部分从本地设备上传到远程资源是响应于已经产生特定数量字节的内容数据的指示。
8.如权利要求6所述的方法,其中将内容数据的第一部分从本地设备上传到远程资源是响应于预先确定的时间间隔期满的指示。
9.如权利要求6所述的方法,其中将内容数据的第一部分从本地设备上传到远程资源是响应于回调函数,该回调函数响应于正在记录的实况事件的第一部分而被调用。
10.如权利要求6所述的方法,其中将内容数据的第一部分从本地设备上传到远程资源是响应于回调函数,该回调函数响应于预先确定的时间间隔期满而被调用。
全文摘要
本文档描述了用于基于浏览器记录和流播内容的技术。在至少一些实施例中,web浏览器与计算设备的记录设备(例如,视频摄像机、话筒、静止图像摄像机等等)对接,以便流播来自实况事件的内容数据,并且记录该实况事件以产生内容文件。web浏览器也可以将内容文件上传到基于web的资源,比如web服务器。对于一些实施例更言,更进一步地,所述技术可以使得多个记录设备能够被并行地使用来记录实况事件。而且在至少一些实施例中,所述技术可以使得能并行地或半并行地记录和上传内容。例如,实况事件的一部分可以被记录,并且最终得到的内容数据可以在记录该实况事件的另外的部分的同时被上传。
文档编号G06F17/30GK102750310SQ20121008997
公开日2012年10月24日 申请日期2012年3月30日 优先权日2011年3月31日
发明者D.S.格林伯格, M.库丘克戈斯, R.S.詹亚拉, S.卡里瓦拉达斯瓦米, 李黎 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1