用于递送内容的系统和方法

文档序号:7737416阅读:279来源:国知局
专利名称:用于递送内容的系统和方法
技术领域
本发明一般地涉及媒体内容递送系统,并且更具体地,涉及用于递送媒体内容的系统和方法。
背景技术
近来,音频、视频和多媒体内容的多样性和可用性已显著地增加。因特网、移动因特网、移动电话、个人数字助理和其它移动媒体设备推动了各种格式的媒体内容递送的持续发展和增加的需求。此外,用户生成的内容的快速增长造成了以许多不同的格式向用户大量地提供可用的媒体内容。将内容从内容源提供的源格式转换为特定媒体播放器支持的不同的目标格式可能是耗时和计算强度大的。此外,可用的源和目标格式的广泛种类可导致缓慢的内容递送, 造成内容处理组件中的拥塞,并且需要不断增加的存储能力。另外,内容处理上的延迟可损害用户体验。

发明内容
根据本发明,已基本上减少或消除了与管理媒体内容有关的缺点和问题。根据本发明的一个实施例,用于递送媒体内容的方法包括接收标识所请求媒体文件的请求。方法还包括响应于接收请求来访问所请求的媒体文件。所请求的媒体文件包括第一格式的媒体内容。方法还包括基于所请求的媒体文件生成修改的媒体文件。修改的媒体文件包括第二格式的媒体内容。另外,方法包括生成关联于修改的媒体文件的辅助文件。 辅助文件包括关联于所修改媒体文件中媒体内容的不同部分并且指示所关联部分的位置的多条内容记录。根据本发明的另一个实施例,用于递送媒体内容的方法包括接收包括媒体内容的媒体文件和访问关联于所接收媒体文件的辅助文件。辅助文件包括多条内容记录,并且每一条内容记录关联于特定的媒体内容部分。方法还包括基于关联于媒体内容的第一部分的内容记录来确定所修改媒体文件内媒体内容的第一部分的位置,并且将媒体内容的第一部分发送到远程客户端。某些实施例的技术优点包括以各种格式将媒体内容提供到设备的能力。某些实施例教导了以较低等待时间向远程客户端提供内容递送的内容发送系统和方法。另外,特定的实施例可显著地增加媒体播放器可用的内容,同时减少递送内容所需的时间。某些实施例克服了关联于快速递送特定格式的媒体文件的问题,并且可增加转码和流送资源的有效使用,以及提供对各种格式的媒体内容的低等待时间的转码、转换(transrating)、流送、递送和/或其它修改。另外,特定实施例可降低系统复杂性。根据以下附图、说明书和权利要求书,其它技术优点对于本领域技术人员来说将是明显的。此外,尽管上面已经列出了具体的优点,但是各个实施例可包括所列出优点中的全部、某些或者不包括任何一个。


为了更完整地理解本发明及其另外的特征和优点,现在结合附图来参考以下描述,在附图中图1示出了根据特定实施例的用于管理媒体内容的系统;图2示出了可在图1中所示的系统的特定实施例中使用的辅助文件;图3是可在图1中所示的系统的特定实施例中使用的转码器的功能图;图4是可在图1中所示的系统的特定实施例中使用的流送器的功能图;并且图5是详述根据某些实施例的用于管理媒体的系统的示例操作的流程图。
具体实施例方式图1示出了系统10的特定实施例,其用于将来自原始内容存储器22中存储的媒体文件的内容发送到客户端12。系统10包括客户端12a-c、网络14、内容管理服务器 (CMS) 16、负载均衡服务器(LBQ 18、一个或多个转码器20、原始内容存储器22、转码内容存储器对、缓存内容存储器26以及一个或多个流送器观。要向具有各种不同接收和显示需求的客户端12提供内容,系统10可修改原始内容存储器22中的内容以便使得内容适合于发送到特定客户端12和/或由其显示。通过在修改了整个媒体文件之前发起将来自特定媒体文件的被修改内容发送或递送到做出请求的客户端12,系统10可减少与处理内容以供递送到多种客户端12相关联的等待时间。通常,在系统10的特定实施例内,客户端12为了请求内容而通过网络14与CMS 16通信。CMS 16连接到缓存内容存储器沈并且管理对缓存内容存储器沈的访问。另外, CMS连接到负载均衡服务器(LBS) 18,该负载均衡服务器(LBS) 18接收和满足CMS 16发送的转码请求44。LBS 18连接到一个或多个转码器20和流送器观并且管理相关联的转码器20和流送器观的操作。转码器20能够从原始内容存储器22获取源媒体文件30并且修改所获取的源媒体文件30,以使得来自源媒体文件30的内容可被发送到特定客户端12 并且由其显示。转码器20还连接到一个或多个流送器观,该流送器28操作来将内容流送或发送到客户端12。因此,作为这些组件操作的结果,在特定实施例中,系统10能够支持对于广泛种类的不同客户端以各种格式来按需提供内容。系统10中的内容存储在各种媒体文件中,包括源媒体文件30、转码媒体文件32和缓存媒体文件;34。这些媒体文件可包括可由客户端12向客户端12的用户播放、显示或以另外方式传送的任何适当形式的语音、非语音音频、动画和/或视频信息或数据。如以下进一步论述,在特定实施例中,在系统10上可用的内容具有各种不同的特征,所述特征可确定可使用各种媒体文件的内容的客户端12的类型。例如,媒体文件可关联于可影响哪些客户端12可使用各种媒体文件的不同的编解码器、比特率、分辨率和/或其它特征。客户端12向用户显示、播放或者以另外方式传送从原始内容存储器22、转码内容存储器M和/或从缓存内容存储器26获取的内容。客户端12可表示适合于播放系统10中使用的一种或多种类型的媒体内容的任何类型的设备。客户端12的示例可包括但不限于计算机、支持视频的电话、媒体播放器(例如具有音频和/或视频能力的iPod)、电视、PDA、 移动电话、便携式通信设备和其它电子设备。然而,通常,客户端12可包括适合于提供所述功能的硬件、软件和/或编码逻辑的任何适当组合。客户端12可通过专用连接(有线或无线)连接到网络14,或者可仅当需要访问媒体内容时连接到网络14。例如,在显示来自源媒体文件30的内容之前,客户端12 (例如便携式媒体播放器)可临时连接到网络14以下载来自源媒体文件30的内容,但是然后就断开。尽管作为示例,图1示出了特定数量和类型的客户端12,但是系统10的候选实施例可包括任何适当数量和类型的客户端12。在特定实施例中,各种客户端12能够接收和/或播放关联于特定文件格式、文件类型、编解码器、比特率和/或分辨率,和/或具有其它适当特征的媒体。例如,在示出的实施例中,客户端1 可包括使用不同于支持视频的移动电话(表示为客户端12b)或者便携式通信设备(表示为客户端12c)的媒体文件格式的计算机。因此,如下面进一步描述,系统10可修改所请求的内容,以便匹配于具体做出请求的客户端12的能力。网络14表示支持电路交换的、基于分组的和/或任何其它适当种类的通信的任何形式的通信网络。尽管在图1中被示出为单个元件,但是通信网络可表示一个或多个分离的网络,包括分离的并且为不同组的客户端12提供服务的各种不同网络的全部或一部分。 网络14可包括路由器、集线器、交换机、网关、呼叫控制器和/或任何适当形式或布置的任何其它适当组件。通常,网络14可包括公有或私有通信装置的任何组合,所述装置例如为公共交换电话网络(PSTN)、全球计算机网(例如因特网)、局域网(LAN)、广域网(WAN)的元件,或者其它适当的通信装置。另外,尽管图1示出了与网络14直接相连的特定元件配置,但是在特定实施例中, 网络14可直接或间接连接到系统10的任何适当元件和/或与其交互。例如,尽管图1示出了转码器20直接连接到原始内容存储器22和流送器观,但是作为候选,转码器20可经由网络14连接到原始内容存储器22和流送器观中的任何一个或两者。同样,尽管在图1 中,CMS16经由网络14与LBS 18通信,但是在特定实施例中,CMS 16可直接连接到LBS 18。 因此,系统10的组件可按照任何适当方式被布置和配置,以便经由网络14和/或经由有关组件之间的直接连接来通信。CMS 16处理来自客户端12的请求,以便下载、获取、流送、查看或以另外的方式接收来自源媒体文件30的内容。在特定实施例中,CMS 16还可负责发起转码和流送,或者以另外的方式在向客户端12递送内容时管理转码器20和流送器观的操作。CMS 16可另外地验证用户,执行内容搜索请求,或者以另外的方式来便利在用户和系统10提供的内容提供服务之间的交互。另外,在特定实施例中,CMS 16可允许客户端12浏览或搜索源媒体文件30和/ 或预览可从系统10获得的来自源媒体文件30的内容。例如,在特定实施例中,CMS 16可容宿显示系统10上可用的内容的网页,并且允许特定客户端12的用户指定或描述用户所请求的源媒体文件30。因此,在这样的实施例中,客户端12可访问网页并且请求下载来自所选择的源媒体文件30的内容。CMS 16然后可发起适当的操作以便将来自源媒体文件30 的内容递送到客户端12。尽管在图1中被示出为单个组件,但是在特定实施例中,CMS 16可表示多个分离的实体组件所提供的功能。更一般地,CMS 16可表示适合于提供所述功能的软件和/或硬件的任何适当组合。作为一个具体示例,在特定实施例中,CMS 16可表示配置为接收和响应来自客户端12的超文本传输协议(HTTP)请求的web服务器。LBS 18从CMS 16接收转码请求44,并且选择适当的转码器20来修改或格式化所请求的内容。在某些实施例中,LBS 18也可选择适当的流送器观来向客户端12流送、发送或以另外的方式转发所请求的内容。LBS18可另外向CMS 16和/或客户端12通知所请求内容的修改已开始并且标识负责满足对系统10的有关组件的请求的转码器20和/或流送器观。LBS18可包括适合于提供所述功能的软件和/或硬件的任何适当组合。转码器20从原始内容存储器22获取、接收或者以另外的方式访问所请求的内容, 并且以适合于发送到做出请求的客户端12并且由其显示的方式来修改所请求的内容。取决于做出请求的客户端12的能力和所请求的源媒体文件30的特征,转码器20可按照任何适当方式对来自所请求源媒体文件30的内容和/或源媒体文件30的适当特征进行转码、 转换、调整其分辨率和/或修改,以使得内容适合于发送到做出请求的客户端12和/或由其播放。转码器20还能够向一个或多个流送器观发送、转发、分享或以另外的方式发送所修改的内容。在特定实施例中,转码器20能够实时地转码内容。转码器20能够修改源媒体文件30中的内容,以便便利于发送到客户端12和/或由其播放。作为修改内容的一部分,转码器20可将所请求源媒体文件30的内容从第一格式(例如存储有关的源媒体文件30的原始格式)修改为第二格式(例如用于发送到做出请求的客户端12并且由其显示的目标格式)。为了本描述和以下的权利要求,内容的“格式”指代与向特定类型的客户端发送内容或者用其显示内容有关的有关内容的编码、比特率、分辨率、帧率、配置、和/或任何其它方面、特征或特性。另外,如下面进一步描述,转码器20还可生成辅助文件40,该辅助文件40包括某些信息以使得在有关的转码器观完成对整个源媒体文件30的转码之前,允许流送器观将转码的内容从源媒体文件30流送到客户端12。如下面进一步描述,辅助文件40可包括可由一个或多个流送器观用于当转码进行时递送来自所请求的源媒体文件30的转码的内容的任何适当形式的数据、代码或信息。流送器观从转码器20获取、接收或以另外的方式访问所修改内容,以便向客户端 12递送、流送或以另外的方式发送转码的内容。取决于系统10的有关配置,流送器观和转码器20可包括单个组件,或者作为候选,可包括分离的组件。在某些实施例中,流送器洲从转码器20接收辅助文件40,以便便利于来自转码的媒体文件32的内容正确地发送到客户端12。在特定实施例中,在转码器20完成整个文件的转码之前,流送器观可使用辅助文件40将来自所请求的源媒体文件30的转码或修改的内容发送到一个或多个做出请求的客户端12,由此减少了客户端对于源媒体文件30的请求和将被适当格式化的内容递送到做出请求的客户端12之间的延迟。流送器观和转码器20可包括适合于提供所述功能的软件和/或硬件的任何适当组合。在下面参考图3和4来更详细地描述转码器20和流送器 28的特定实施例的内容。尽管图1和下面的描述描述了系统10的特定实施例,其中系统10的功能以特定方式被分到各个组件中,但是在候选实施例中,系统10的所述功能可按照任何适当方式划分到CMS 16,LBS 18、转码器20、流送器观和/或系统10的其它适当组件之间。另外,CMS 16、LBS 18、转码器20和/或流送器观都可包括系统10的分离组件,或者作为候选,可按需以任何方式组合来执行所述功能。例如,在某些实施例中,CMS 16和LBS18可包括系统 10的单个组件。此外,CMS 16、LBS 18、转码器20、流送器28和/或系统10的其它适当部分都可由相同实体或由任何数量的不同实体来操作。作为一个示例,在特定实施例中,可由将转码责任转移到转码器20的操作者的无线电信提供者来操作CMS 16。作为另一个示例,在特定实施例中,可由点对点内容分享网站(例如^uTube)或者社交网络网站(例如MySpace) 的运营者来操作CMS 16。然而,更一般地,系统10的组件可由实体的任何适当组合来控制或操作。原始内容存储器22、转码内容存储器M和缓存内容存储器沈可都表示或包括任何适当类型的存储设备。这些内容存储器例如可包括适合于存储数据的易失性或非易失性、本地或远程设备的任何集合和布置,所述设备例如为随机访问存储器(RAM)设备、只读存储器(ROM)设备、磁存储设备、光存储设备或任何其它适当的数据存储设备。另外,尽管每一个内容存储器都被示出为系统10中的单个元件,但是这些内容存储器都可表示多个设备并且可以分布于系统10内的多个位置。例如,在特定实施例中,这些内容存储器中的一个或多个可表示连接到网络的存储器(NAQ或其一部分。原始内容存储器22存储源媒体文件30以用于递送到客户端12。如上所述,源媒体文件30可包括任何适当类型的内容文件。源媒体文件30的具体示例包括视频/多媒体内容文件,例如运动图像专家组(MPEG)、视窗媒体视频(WMV)、音视频交错格式(AVI)和 QuickTime文件;音频内容文件,例如波形音频(WAV) ,MPEG-I音频层3 (MP3)和/或视窗媒体音频(WMA)文件;和/或任何其它适当种类或格式的内容文件。在特定实施例中,原始内容存储器22中的源媒体文件30可全部按照系统10支持的单个存储格式存储。作为候选, 原始内容存储器22可存储具有各种不同格式的源媒体文件30。原始内容存储器22可存储适合于发送到各种不同客户端12或由其显示的源媒体文件30。尽管在图1中被示出为系统10的一部分,但是原始内容存储器22可表示系统10外部的组件,例如遍及因特网分布的存储组件。因此,在特定实施例中,转码器20能够获取、接收或以另外的方式访问和/或处理由遍及因特网可用的大量内容源提供的源媒体文件30以用于递送到客户端12。转码内容存储器M存储表示已由转码器20生成、转码或以另外的方式修改的来自源媒体文件30的内容的转码的媒体文件32。在某些实施例中,转码器20可在转码内容存储器M中存储包含来自特定源媒体文件30的所修改内容的转码媒体文件32,同时转码器20继续修改有关的源媒体文件30。转码媒体文件32可包括任何适当种类或格式的媒体内容,包括但不限于上面为源媒体文件30列出的那些。在特定实施例中,转码媒体文件32 可以是这样的种类或格式(例如3GP文件),直到转码器20完成了对有关转码媒体文件32 的写入为止,该种类或格式不有助于使用传统的流送技术进行流送。另外,尽管在这里被称作为“文件”,但是在某些实施例中,根据关联于有关转码媒体文件32的种类或格式或者它包含的内容,在转码内容存储器M中存储的转码媒体文件32在特定的时间点可表示不完整的部分文件。转码内容存储器M还可存储在转码内容存储器M中的转码媒体文件30的处理期间由转码器20生成的辅助文件40。如下面进一步论述,辅助文件40可用于在某些情况下便利于流送转码媒体文件32或缓存媒体文件34。在特定实施例中,转码内容存储器M 表示转码器20本地或内部的存储器,例如用作为转码器20之一的web服务器的内部存储缓存内容存储器沈存储缓存媒体文件34以用于递送到客户端12。如上所述,缓存媒体文件34可包括任何适当种类或格式的媒体内容,包括但不限于上面为源媒体文件 30列出的那些。在某些实施例中,缓存媒体文件34可表示在由转码器20创建之后存储在缓存内容存储器26中的转码媒体文件32。取决于系统10的能力,缓存内容存储器沈还可存储关联于有关的转码媒体文件32的辅助文件40。另外,在特定实施例中,缓存内容存储器沈以通常被请求的格式存储缓存媒体文件34,以便最小化执行源媒体文件30的转码的频率。因此,在从LBS 18、转码器20和/或流送器观请求有关的源媒体文件30之前,CMS 16可确定客户端12所请求的特定源媒体文件30的内容是否以适当格式存储在缓存内容存储器沈中。此外,在某些实施例中,CMS 16可指示或者以另外的方式与流送器观通信,以便直接将缓存媒体文件34从缓存内容存储器沈递送到能够以存储的内容格式接收和显示内容的客户端12。因此,在这些实施例中,当适合时,系统10可从缓存内容存储器沈向客户端12递送内容,而不进行任何转码、 转换或其它修改。例如,如果特定视频文件是客户端12经常以3GP格式请求的,而很少以 QuickTime视频格式请求,系统10可将视频文件以3GP格式而非QuickTime格式存储在缓存内容存储器26中,以便存储和转码资源的有效使用。在操作中,CMS 16发起对客户端12所请求的媒体内容的获取。作为该过程的一部分,源媒体文件30可由转码器20转码或以另外的方式修改,以便提供适合于发送到做出请求的客户端12和/或由其显示的内容。转码器20另外地生成关联于转码的媒体文件32 的辅助文件40。流送器观可通过使用辅助文件40在转码整个所请求的源媒体文件30之前将来自转码媒体文件32的转码内容发送到客户端12,来减少关联于发送的等待时间。图1示出了系统10实现的该过程的示例。如图1中所示,客户端12 (这里为客户端12a)可通过将内容请求42发送到CMS 16来发起递送过程。内容请求42可标识特定源媒体文件30或者可描述所请求媒体内容的特征(例如使用关键字)。内容请求42可表示发送的客户端12请求内容递送的任何适当的消息、请求或适当结构化的信息集合。例如, 在特定实施例中,内容请求42表示标识由原始内容存储器22所存储的特定源媒体文件30 的超文本传输协议(HTTP)请求。响应于接收内容请求42,在特定实施例中,CMS 16可确定用于所请求内容的适当格式(这里被称作为“目标格式”),以便允许、便利和/或优化发送到做出请求的客户端12 并且由其播放。CMS 16可基于任何适当的信息、考虑和/或情况来确定目标格式。作为一个示例,内容请求42可指示所请求内容为了发送到做出请求的客户端12并且/或者由其播放而应当具有的适当格式。因此,在特定实施例中,CMS 16可接收指定用于所请求内容的编解码器、比特率和/或其它参数的HTTP请求。因此,CMS16能够基于HTTP请求中包含的信息来确定适用于所请求内容的输出格式和特征。作为另一个示例,CMS 16可识别做出请求的客户端12和/或做出请求的客户端12的有关特征,并且基于该信息确定用于所请求内容的目标格式。例如,CMS 16可识别出客户端是计算机12a、移动电话12b、或个人数字助理12c和/或其它类型的客户端设备。作为响应,CMS 16可基于特定客户端12a-c的类型来确定适用于该客户端的格式特征。作为又另一个示例,CMS 16可检测做出请求的客户端12经由其进行通信的特定网络或网络14的一部分的特征,以便确定向做出请求的客户端12提供所请求的内容的适当目标格式。因此,在特定实施例中,基于经由某种类型的网络接收了内容请求42的事实,CMS 16可确定向做出请求的客户端12发送所请求内容的适当编解码器或比特率。然而,通常,CMS 16可按任何适当方式并且基于来自任何适当组件的输入,来确定用于做出请求的客户端12所请求的内容的正确格式和特征。在特定实施例中,系统10可包括缓存内容存储器沈,在该缓存内容存储器沈中可按某些格式存储缓存媒体文件34 (例如,在响应于之前的内容请求42由转码器20转码之后)。因此,在这些实施例中,CMS 16可确定来自所请求源媒体文件30的内容是否已经按照目标格式存储在缓存内容存储器26中。如果缓存内容存储器沈包含缓存媒体文件34, 该缓存媒体文件34包含目标格式的所请求内容,CMS 16可指示流送器观获取有关的缓存媒体文件;34并且将有关的缓存媒体文件34发送到做出请求的客户端12。然而,如果缓存内容存储器沈不包含含有目标格式的所请求内容的缓存媒体文件34 (或者如果系统10不包括任何缓存内容存储器26),CMS 16可发起对包含所请求内容的源媒体文件30的转码。为了发起对所请求内容的转码和/或发送,CMS 16可向转码器 20和/或流送器观发送转码请求44,或者在包括LBS 18的实施例中,向LBS 18发送转码请求44。转码请求44可表示请求修改和/或流送特定内容的任何适当消息、请求或适当结构化的信息集合。例如,在特定实施例中,转码请求44表示HTTP请求,该HTTP请求标识包含要被转码和/或发送到客户端12的内容的特定源媒体文件30,和用于所请求内容的适当输出格式。在包括LBS 18的系统10的实施例中,LBS 18接收转码请求44,并且作为响应,基于目标格式来选择编码器20以修改所请求内容。LBS 18可另外地选择流送器观来按目标格式将所请求内容发送或流送到做出请求的客户端12。在各个实施例中,LBS 18可基于处理负载、队列和关联于转码器20和/或流送器观的其它可用性指示符来选择转码器20 和/或流送器观。然后,LBS 18可将转码请求44转发到所选择的转码器20和/或流送器 28,以请求根据目标格式来修改和/或发送所请求内容。然后,特定转码器20和/或流送器^WCMS 16或LBS 18接收转码请求44。响应于接收转码请求44,转码器20从原始内容存储器22定位和获取所请求的源媒体文件 30 (这里被称作为“所请求的源媒体文件30a”)。转码器20可按任何适当方式获取、接收或以另外的方式访问所请求的源媒体文件30a。在特定实施例中,原始内容存储器22包括通过因特网可访问的一个或多个web服务器(和关联的存储元件),并且有关的转码器20 可使用HTTP协议与原始的内容存储器22通信。然后,转码器20根据目标格式修改所请求的源媒体文件30a。如上所述,转码器 20可通过对所请求源媒体文件30a的内容的任何方面、特征或特性进行转码、转换、改变其分辨率、和/或以另外的方式修改来修改所请求的源媒体文件30a。当修改所请求的源媒体文件30a时,转码器20在转码内容存储器M中存储来自所请求源媒体文件30a的所修改内容的一部分(在该示例中,被称作为“转码媒体文件32a”)。然而,在低等待时间的发送中可能出现问题,其中直到所请求的源媒体文件30被完全地转码为止,目标格式不有助于发送或流送。例如,某些文件格式可需要数据块、头部或其它文件信息,它们直到文件转码完成才被写入,但是需要它们以便正确地发送、显示、 查看、和/或以另外的方式在客户端12使用所请求的内容。作为一个示例,3GP文件包括称为“音乐剧”盒的结构,该“音乐剧”盒包含关于3GP中存储的内容的信息,例如3GP文件中内容的开始点、文件中所存储的内容种类、和应当以什么顺序来播放内容。3GP文件的“音乐剧”盒中包含的信息被逐渐地写入,并且因此当媒体文件正在按3GP格式被写入时是不完整的。因此,对于3GP文件,该“音乐剧”信息不完整,直到整个3GP文件被写入并且所有的 3GP音频和视频数据可用。因此,使用3GP文件可阻碍或妨碍某些常规系统流送来自转码器仍在转码的3GP文件的内容。就其它媒体文件格式而言,也可能出现类似或同类的问题。因此,为了便利当转码器20仍在写入转码媒体文件32a时流送转码媒体文件3 的一部分,转码器20可另外地生成辅助文件40 (在该示例中被称作为“辅助文件40a”)。辅助文件40a可包括可由一个或多个流送器观用来在转码进行时递送所请求源媒体文件30 中的内容的一部分的任何适当形式的数据、代码或信息。例如,在某些实施例中,辅助文件 40a可包括关联于转码媒体文件32a中的媒体内容的特定部分的多条记录。这些内容记录可指示转码媒体文件3 中媒体内容的有关部分的位置。某些实施例可包含关于流送器观可在转码媒体文件32a中的哪里定位特定音频和视频数据的信息。在这些实施例中,流送器观可使用该信息来识别转码媒体文件3 中的特定位置,读取辅助文件40a所指示的指定量的信息(例如特定的字节数量),并且因此在转码器20完成对所请求源媒体文件30a 的修改之前,将来自转码媒体文件32a的所修改内容的一部分发送到客户端12。另外或者作为候选,辅助文件40a可包括用于转码媒体文件3 的文件头部信息、用于转码媒体文件 32a的帧或其它部分的位置数据、音频和/或视频数据(例如时间戳数据)、帧率数据、分辨率数据、比特率数据和任何其它适当信息。下面参考图2更充分地论述示例辅助文件40的结构和内容。在某些实施例中,当转码器20正在转码所请求的源媒体文件30a时,相同的或另一个转码器20可同时生成包含关于转码媒体文件32a中的所修改内容的信息的辅助文件 40a。辅助文件40a可由所选择的流送器观访问并且由该流送器观使用,以便当转码进行时将转码媒体文件3 的全部或一部分发送到客户端12。因此,流送器观可使用辅助文件 40a中的信息来将来自所请求源媒体文件30a的内容发送到客户端12,即使所请求的源媒体文件30a和/或它包含的内容具有这样的格式,直到所请求源媒体文件30a的全部内容被转码为止,该格式不有助于使用传统的流送技术进行流送。转码器20可生成辅助文件40a并且使得辅助文件40a中的信息以任何适当方式对于有关的一个或多个流送器观可访问。在某些实施例中,转码器20可生成包含关于转码媒体文件32a的第一部分的信息的转码内容存储器M中的部分辅助文件40a并且当转码继续时继续向该部分辅助文件40a写入信息。然后,有关的一个或多个流送器观可渐进地访问部分辅助文件40a,以便允许流送来自转码媒体文件32a的内容,同时仍然在写入转码媒体文件3 和辅助文件40a。在某些实施例中,辅助文件40a中的重要信息可在转码过程期间被生成。因此,辅助文件数据可以是转码过程的副产品并且因此转码器20能够生成辅助文件40a,而不生成除了转码过程中另外生成的那些之外的任何另外的信息。在修改所请求源媒体文件30a中的内容之前或期间,转码器20可向所选择流送器观通知,转码已开始。另外,转码器20或者(如果由转码器20通知)流送器观可向做出请求的客户端12发送信息,以表示可以按目标格式获取所请求内容。例如,在特定实施例中,转码器20向所选择流送器观通知,所请求源媒体文件30a的转码已开始,并且流送器 28向CMS 16发送内容响应46,以表示所请求源媒体文件30a的第一部分已(或者将)被根据目标格式修改,并且可用于(或者不久将可用于)递送到客户端12。内容响应46可经由网络14直接,或者通过首先经过LBS18来从转码器20和/或流送器观发送到CMS 16。 然后,CMS 16可将内容响应46传送到做出请求的客户端12,例如作为HTTP响应。在特定实施例中,内容响应46可包括表示用于有关流送器观的地址、位置或其它标识符的流送器标识符49,做出请求的客户端12可使用该流送器标识符49来获取所修改的内容。例如,在特定实施例中,流送器标识符可表示实时流协议(RTSP)统一资源定位器 (URL)地址。因此,在特定实施例中,流送器可向CMS 16发送包括URL地址的HTTP响应,做出请求的客户端12可使用该URL地址来与流送器28通信。然后,客户端12可从流送器观请求转码的内容。例如,做出请求的客户端12可向流送器观发送发送请求48,以请求将来自转码媒体文件3 的内容发送到做出请求的客户端12。在特定实施例中,客户端12使用作为内容响应46的一部分被传送的流送器标识符49来经由网络14与流送器通信,以发起按目标格式对所请求内容的发送。被发送的部分在图1中被示出为流送的媒体内容36。作为候选,在特定实施例中,可向所选择流送器观提供地址、标识符或标识做出请求的客户端12的其它信息,并且所选择流送器观本身可发起将转码的内容发送到做出请求的客户端12,而无需接收来自有关客户端12的任何请求。在转码器20已开始转码所请求源媒体文件30a并且所选择流送器观已接收任何适当请求之后,所选择流送器观可开始以适当目标格式向做出请求的客户端12发送流送的媒体内容36。尽管为了说明的目的,称作为“流送的”媒体内容,但是流送器观可将流送的媒体内容36作为媒体流、连续下载或者以任何其它适当方式来发送到客户端12。另外, 在特定实施例中,当所选择转码器20仍在修改所请求源媒体文件30a的内容时,流送器观可开始向客户端12发送流送的媒体内容36。因此,图1中由30a、3h和36表示的通过转码器20和流送器28的内容流可同时进行。为了便利在转码器20仍在将内容写入到转码媒体文件32a时来自转码媒体文件 32a的流送的媒体内容36的发送,流送器观可使用辅助文件40a中的信息来访问流送的媒体文件36和/或将其发送到做出请求的客户端12。作为一个示例,在某些实施例中,辅助文件40a可包括存储关联于转码媒体文件3 中所修改媒体内容的不同部分(例如单个视频帧)的位置和/或尺寸信息的一条或多条记录。当转码进行时,流送器观接收或者以另外的方式访问辅助文件40a中的第一记录,并且使用该第一记录中的信息来确定存储在转码媒体文件3 中的媒体内容的相应的第一部分的位置。然后,流送器观可使用该位置信息来访问相应的第一媒体部分并且将该第一媒体部分发送到客户端12。此外,流送器28可对于辅助文件40a中的另外记录重复该过程,并且因此可访问和发送关联于辅助文件40a中每一条记录的转码媒体文件32a的一部分。例如,在递送视频内容的系统10的实施例中,流送器观可基于关联于转码媒体文件32a的帧尺寸来递增关联于转码媒体文件32a的指针,通过读取等于视频帧尺寸的位数量从基于指针确定的位置获取特定的视频帧,并且然后将所获取的视频帧发送到做出请求的客户端12。作为另一个示例,辅助文件40a还可包括信息以使得在将有关部分流送到客户端 12之前,流送器观同步转码媒体文件3 中的所修改内容的部分,和/或使得在流送器观已发送了有关部分之后,客户端12同步所修改内容的部分。例如,在特定实施例中,辅助文件40a可包括信息,该信息指定从转码媒体文件3 或者从转码媒体文件32a的连续部分之间丢失的内容量(例如,在从转码媒体文件32a的两个视频帧之间转码期间丢弃的帧数量),并且流送器观可在生成用于内容部分的时间戳和/或用于发送内容的包时,在编号帧或内容的其它部分时,或者在向客户端12另外地表示用于播放所修改内容的时机、间隔或顺序时,使用该信息,以便维持播放期间的同步。然而,通常,辅助文件40可包括任何适当的信息来允许、支持或以另外的方式便利在修改来自所请求源媒体文件30的内容进行时,由流送器观发送来自转码媒体文件32 的流送的媒体内容36。在特定实施例中,辅助文件40可包括指定转码媒体文件32的相关部分中内容的媒体种类的信息,表示转码媒体文件32的相关部分中内容的分辨率或屏幕尺寸的信息,和/或关联于转码媒体文件32的有关部分的任何其它适当信息。此外,流送器观可基于流送器观的配置和能力和辅助文件40中存储的特定信息来以任何适当方式访问和使用辅助文件40中存储的信息。在客户端12开始从所选择流送器观接收流送的媒体内容36之后,客户端12可发起流送的媒体内容36的播放。在特定实施例中,客户端12接收到流送的媒体内容36就立即或在其之后很快发起流送的媒体内容36的播放。因此,在这些实施例中,当所选择转码器20仍在转码所请求源媒体文件30a时流送器观能够开始向做出请求的客户端12发送转码的内容的事实意味着,不管使用的特定客户端12的能力或格式要求,可在用户对于内容的请求和播放内容之间的延迟最小化的情况下,向做出请求的客户端12提供被适当转码的内容。另外,在某些实施例中,系统10可被配置为使得,如果当有关转码器20仍在修改所请求内容时,第二客户端12向CMS 16发送第二内容请求42以请求与原始内容请求42 相同的相同目标格式的所请求源媒体文件30a,不是重复上述的过程,而是CMS 16可向LBS 18发送转码请求44以标识所请求源媒体文件30a和目标格式。然后,LBS 18可向CMS 16 发送关联于目前正在修改所请求内容的转码器20和/或流送器观,或者任何其它转码器 20和/或流送器观的标识符49。然后,CMS 16将第二客户端12指引到执行修改的转码器20和/或流送器28。一旦第二客户端与转码器20和/或流送器28通信,第二客户端可与原始客户端12同时获取修改的内容。当转码器20完成对所请求内容的修改时,转码器20可向LBS 18和/或CMS 16表示修改完成。在特定实施例中,响应于CMS 16可指示转码器20继续在转码内容存储器M 中存储所修改内容,将所修改内容发送到缓存内容存储器26,和/或从转码内容存储器M 删除所修改内容,转码器20可向该CMS 16发送消息。例如,在特定实施例中,转码器20可向CMS 16发送消息以指定CMS 16可从其获取转码媒体文件32a的URL地址。作为候选, 在特定实施例中,在修改转码媒体文件3 之后,转码器20可自动在缓存内容存储器沈中存储完整的转码媒体文件32a。同样,转码器20可按任何适当方式存储、保存、发送或删除辅助文件40a。例如,在特定实施例中,一旦转码所请求源媒体文件30a完成,转码器20可在缓存内容存储器26中存储完成的转码媒体文件3 和完成的辅助文件40a。因此,通过在转码器20全部完成对有关的源媒体文件30的修改之前,允许客户端 12以所修改格式获取来自源媒体文件30的内容,系统10可提供低等待时间的内容递送。 另外,因为转码器20提供同时实时修改的能力,以及流送器观向多个用户提供所修改内容的递送的能力,CMS16和缓存内容存储器沈可按一种或所选择的很少被请求的输出格式存储内容,而在很少甚至不增加递送时间和质量的情况下按各种格式递送所请求内容。这可导致减少缓存内容存储器26的存储需求,并且可使得CMS16和缓存内容存储器沈能够服务更多数量和种类的用户以及消除了预转码要存储在缓存内容存储器26上的所有内容的时间和开销。因此,系统10的特定实施例可提供许多操作上的好处。然而,特定实施例可不提供这些好处、提供其中一些或者提供全部。图2是更详细地示出当完成参考图1描述的内容递送过程时,可由转码器20的特定实施例生成的辅助文件40a的内容和结构的图形。如上所述,当转码来自所请求源媒体文件30a的内容以创建对应的转码媒体文件32a时,转码器20生成辅助文件40a。然后, 当转码仍在进行时,一个或多个流送器观可访问辅助文件40a并且使用所访问的辅助文件 40a中的信息,以便便利于在有关的转码器20完成对转码媒体文件32a的修改之前发送来自转码媒体文件32a的媒体内容。在示出的实施例中,辅助文件40a包括文件头部200、一个或多个媒体头部(包括视频头部210和音频头部230)、以及一条或多条内容记录250。尽管图2和下面的描述描述了包括以特定方式结构化的某些信息的辅助文件40a的特定实施例,但是辅助文件40可包括其它适当信息和/或以不同于所描述的方式被结构化。通常,辅助文件40可包括适合于当负责生成转码媒体文件32a的转码器20仍在有关文件中存储所修改内容时便利于发送来自转码媒体文件3 的媒体内容的任何数据。因此,系统10的候选实施例可生成具有以下所述元素中的某些、不具有其中任何一个或具有全部和/或具有除了下面所述之外的元素的辅助文件40。在图2中所示的辅助文件40a中,文件头部200保存涉及辅助文件40a所描述的转码媒体文件3 中包括的媒体的一般信息。作为一个示例,在特定实施例中,该一般信息可包括标识被写入到转码媒体文件32a的所修改媒体的一种或多种媒体类型的媒体种类字段202。例如,所示出的辅助文件40a包括媒体种类字段202,该媒体种类字段202存储表示转码媒体文件3 中包括的各种媒体类型的四字节的值。如果转码媒体文件3 仅包括音频内容,负责生成该辅助文件40a的转码器20可在媒体种类字段202中存储值“1”。 代替地,如果转码媒体文件3 仅包括视频内容或者包括音频和视频内容两者,那么有关转码器20可在所示辅助文件40a的媒体种类字段202中分别存储值“2”或值“3”。媒体头部中的数据(例如视频头部210和音频头部230)由所选择流送器观用来确定转码媒体文件32a中包括的不同种类媒体的各种特性。每一个媒体头部可包括专用于转码媒体文件32a中该类型内容的信息。例如,在所示的辅助文件40a中,视频头部210保存关于转码媒体文件32a中视频内容的信息,例如视频编解码类型、内容大小、比特率和帧率。在示出的辅助文件40a中,该数据分别存储在视频编解码器种类字段212、多个尺寸字段(包括高度字段214和宽度字段216)、比特率字段218和帧率字段220中。在特定实施例中,视频编解码器种类字段212、高度字段214、宽度字段216、比特率字段218和帧率字段 220都存储保存相关数据的四字节的值。音频头部230可包括了类似于视频头部210但是涉及转码媒体文件3 中音频信息的信息。例如,音频头部230可包括这样的信息,例如音频编解码器种类、比特率、采样率和在转码媒体文件3 的音频内容中被编码的音频通道的数量。在示出的辅助文件40a中, 该数据分别存储在音频编解码器种类字段232、比特率字段234、采样率字段236和通道数量字段238中。在特定实施例中,音频编解码器种类字段232、比特率字段234、采样率字段236和通道数量字段238都存储表示相关数据的四字节的值。另外,某些目标格式可使用被提供到所选择流送器观的配置信息,以使得所选择流送器观能够发送来自转码媒体文件32a的内容,和/或被提供到做出请求的客户端12 的配置信息,以使得做出请求的客户端12接收或播放来自转码媒体文件32a的内容。例如,在特定实施例中,当转码媒体文件3 表示3GP文件时,流送器观可使用会话描述协议 (SDP)文件来正确地将来自3GP文件的媒体内容流送到做出请求的客户端12。该SDP文件可包含特定类型的配置信息,例如配置(“配置选项”)字符串,该配置信息定义了转码媒体文件32a中包含的编码视频和/或音频流的特征。该配置字符串可由所选择流送器观和做出请求的客户端12中的一个或两者用于正确地配置它们自己和/或将经由其发送来自转码媒体文件32a的内容的通信会话。因此,在某些实施例中,可通过在视频头部210的配置数据字段224中和/或音频头部230的配置数据字段244中包括配置数据,来避免发送来自转码媒体文件32a的所修改内容时的延迟。在特定实施例中,这些字段中存储的信息量可改变,并且因此,字段中存储的值可被填充为使得数据量达到特定的大小。例如,在特定实施例中,配置数据字段2M 或244中存储的配置信息被填充为使得在这些字段中存储108个字节的数据。那么,配置数据字段2M和244中存储的实际配置数据的大小可分别存储在配置数据大小字段2 和 246 中。视频头部210的配置数据字段2 和音频头部230的配置数据字段244可存储要被用于配置所选择流送器观、做出请求的客户端12、和/或用于将来自转码媒体文件3 的内容发送到做出请求的客户端12的发送会话的任何适当信息。例如,在某些实施例中, 负责的转码器20可在转码有关媒体期间根据转码媒体文件32a中的视频或音频媒体生成配置选项字符串,并且将生成的配置选项字符串存储在辅助文件40a的适当的配置数据字段2M或244中。使用该配置选项字符串,所选择流送器观然后可发起与做出请求的客户端12的RTSP会话,以发送来自转码媒体文件32a的内容。内容记录250包括关于转码媒体文件32a的结构和内容的信息。辅助文件40a可包括都与转码媒体文件32a中的不同内容部分关联的多条内容记录250。如上所述,转码媒体文件32a的这些不同的内容部分都可表示分离的内容部分(例如单个帧或预定数量的帧),或者任意大小的部分(例如五秒钟的视频数据部分或者千字节大小的音频数据部分)。在特定实施例中,有关转码媒体文件3 中的每一个音频帧和每一个视频帧在辅助文件40a中具有对应的内容记录250。内容记录250都可包括以任何适当方式结构化的任何适当信息,以便使得所选择流送器观能够访问关联于该内容记录250的转码媒体文件32a的相关联部分并且将相关联部分发送到做出请求的客户端12。为了说明的目的,图2中所示的示例内容记录250都包括表示关联于有关内容记录250的内容种类(例如音频-1、视频-2)的媒体种类字段252, 表示转码媒体文件32a中有关内容部分的位置的位置指示符字段254,表示有关内容部分的大小的大小字段256,以及表示在转码有关媒体部分期间丢弃(或者在转码有关部分和紧接在之前或之后的部分之间丢弃)的内容量(例如帧数量)的丢弃内容字段258。因此,在特定实施例中,当从转码媒体文件3 获取内容以用于发送到做出请求的客户端12时,所选择流送器28可访问辅助文件40a的第一内容记录250以便确定与第一内容记录250有关的转码媒体文件32a中的所修改内容的位置。具体而言,所选择流送器观可通过从基于第一内容记录250的位置指示符字段254的转码媒体文件32a内的位置(例如,记录为从转码媒体文件3 开始处的若干字节处)开始读取,来访问有关的内容部分。然后,所选择流送器观可通过读取基于有关内容记录250的大小字段256确定的数据量来获取有关的内容部分并且将有关部分发送到做出请求的客户端12。然后,所选择流送器28可读取另一条内容记录250并且重复该过程。所选择流送器28可持续该过程,直到到达适当的停止点为止,例如当负责的转码器20完成了对转码媒体文件32a内容的修改并且所选择流送器观将全部修改的内容发送到做出请求的客户端12时。在停止点,转码器20可生成被指定为文件结束记录的内容记录250 (在图2中示出为“内容记录250z” ), 其中媒体种类字段252被设置为“文件结束”,并且其它字段被设置为零。另外,内容记录250还可包括丢弃内容字段258,该字段存储关于在转码期间被丢弃的内容量的信息。该信息可使得所选择流送器观能够用正确的时机和同步来发送媒体文件30的部分。例如,在特定实施例中,每一条内容记录250关联于转码媒体文件32a中的特定视频帧,并且用于特定视频帧的丢弃内容字段258表示在转码该特定视频帧和转码紧接在之前的视频帧之间丢弃的视频帧数量。在这些实施例中,所选择流送器观然后可使用每一条内容记录250的丢弃内容字段258中的信息以便在做出请求的客户端12发送时增加用于有关视频帧的时间戳。这可使得所选择流送器观和/或做出请求的客户端能够在流送所请求内容期间维持音频-视频同步。图3是更详细地示出图1中所示的转码器20的特定实施例的内容和操作的框图。 通常,如上面参考图1所述,转码器20获取或者以另外的方式接收内容以用于递送到客户端12,以适当方式修改所获取的内容,并且生成相应的辅助文件40,以便便利于流送器观发送所修改的内容和/或做出请求的客户端12显示所修改的内容。如图3中所示,转码器 20可包括流送器接口模块50、网络接口模块M、存储接口模块56、转码模块58、存储器60 和处理器62。处理器62可表示或包括任何形式的处理组件,包括通用计算机、专用微处理器或能够处理电子信息的其它处理设备。处理器62的示例包括数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和任何其它适当的专用或通用处理器。尽管图3 示出了包括单个处理器62的转码器20的特定实施例,但是通常转码器20可包括任何适当数量的处理器62。存储器60存储在操作期间由转码器20使用的处理器指令、编解码器和/或值与参数。存储器60可包括适合于存储数据的易失性或非易失性组件的任何集合和布置,所述组件例如为随机访问存储器(RAM)设备、只读存储器(ROM)设备、磁存储设备、光存储设备或任何其它适当的数据存储设备。在特定实施例中,存储器60可部分地表示在上面编码计算机指令的计算机可读媒体。在这些实施例中,可由执行在所述媒体上被编码的指令的处理器62来提供转码器20的某些或全部所述功能。尽管在图3中被示出为单个组件,但是存储器60可表示转码器20内部、本地或可访问的任何数量的存储元件。流送器接口模块50将转码器20连接到一个或多个流送器28,以便便利于转码器 20和流送器28之间的通信和数据流。例如,转码器20可通过流送器接口模块50将转码媒体文件32的部分和辅助文件40发送到所选择流送器20。在某些实施例中,作为候选,转码器20和流送器观之间的通信和数据流可经由网络接口模块M而发生。网络接口模块M将转码器20连接到系统10的适当组件以便便利于关于转码器 20执行的内容递送操作在转码器20与流送器^、LBS 18、CMS16、客户端12和/或系统10 的其它适当组件之间经由网络14进行通信。例如,转码器20可从LBS 18接收转码请求 44,并且通过网络接口模块M经由网络14向LBS 18发送内容响应46。在特定实施例中, 网络接口模块M包括或者表示适合于经由网络14的基于包的通信的一个或多个网络接口卡(NIC)。转码模块58修改转码器20所接收的内容。在特定实施例中,转码器20可包括能够基于用于所接收请求的目标格式来转化、转码、转换和/或以另外的方式修改各种不同类型的所接收内容的多个转码模块58。在包括多个转码模块58的某些实施例中,转码模块 58能够同时操作,以使得可同时修改多部分内容。因此,转码器20可提供用于大通信量内容递送系统的健壮平台。存储接口模块56便利了转码器20和系统10的各种组件之间的内容传送。特定地,转码器20通过存储接口模块56从原始内容存储器22接收内容并且将内容传送到转码内容存储器M和从其传送内容。为了支持多个同时的转码过程,存储接口模块56可包括多个端口,接口模块56可通过所述多个端口同时从/向转码内容存储器M和/或原始内容存储器22接收/发送多个流。在特定实施例中,原始内容存储器22和转码内容存储器M都远离转码器20。因此,在这些实施例中,存储接口模块56可部分或完全地表示网络接口模块M的元件。在候选实施例中,原始内容存储器22或转码内容存储器M中的一个或两者可表示转码器20内部的存储组件,例如存储器60。在这些实施例中,存储接口模块56可完全或部分地表示配置为在内部存储组件和转码器20的其它组件之间传送信息的存储总线和/或其它适当的组件。 通常,网络接口模块M、转码模块58和存储接口模块56中的每一个可表示适合于提供所述功能的硬件和/或软件的任何适当组合。另外,网络接口模块M、转码模块58和存储接口模块56中的任何两个或更多个可表示或包括共用元件。在特定实施例中,网络接口模块M、转码模块58和存储接口模块56部分地表示由处理器62执行的软件应用。作为一个具体示例,转码器20的特定实施例可包含多个转码模块58,每一个转码模块58表示或包括数字信号处理器(DSP)。每一个DSP可具有位于该DSP本地的存储器 60的一部分(其中存储用于编码/解码多个不同编解码器的适当信息)。因此,转码器20 可提供节能、简洁的平台,用于大通信量系统中的实时转码。图4是更详细地示出图1中所示的流送器观的特定实施例的内容和操作的框图。 通常,如上面参考图1和2所述,流送器50从转码器20接收、获取或者以另外的方式访问转码媒体文件3 和辅助文件40以用于发送或递送到客户端12。如图4中所示,流送器 28可包括网络接口模块70、转码器接口模块74、处理器76、存储器78和流送模块80。处理器76可表示或包括任何形式的处理组件,包括通用计算机、专用微处理器或能够处理电子信息的其它处理设备。处理器76的示例包括数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和任何其它适当的专用或通用处理器。尽管图4 示出了包括单个处理器76的流送器28的特定实施例,但是通常流送器28可包括任何适当数量的处理器76,并且流送器观的某些实施例可不包括任何处理器76。存储器78存储在操作期间由流送器观使用的处理器指令、编解码器和/或值与参数。存储器78可包括适合于存储数据的易失性或非易失性组件的任何集合和布置,所述组件例如为随机访问存储器(RAM)设备、只读存储器(ROM)设备、磁存储设备、光存储设备或任何其它适当的数据存储设备。在特定实施例中,存储器78可部分地表示在上面编码计算机指令的计算机可读媒体。在这些实施例中,可由执行在所述媒体上被编码的指令的处理器76来提供流送器观的某些或全部所述功能。尽管在图4中被示出为单个组件,但是存储器78可表示流送器观内部、本地或可访问的任何数量的存储元件。转码器接口模块74将流送器28连接到转码器20,以便便利于流送器28和转码器 20之间的通信和数据流。例如,流送器观可通过流送器接口模块74从转码器20接收转码媒体文件32的部分和辅助文件40。在某些实施例中,作为候选,流送器观和转码器20之间的通信和数据流可经由网络接口模块70在网络14上发生。网络接口模块70将流送器28连接到系统10的适当组件以便便利于关于流送器 28执行的内容递送操作在流送器观、转码器20、LBS 18、CMS16、客户端12和/或系统10 的其它适当组件之间进行通信。例如,流送器观可从LBS 18接收转码请求44,并且通过网络接口模块讨向1^3 18发送内容响应46。在特定实施例中,网络接口模块M包括或者表示适合于经由网络14的基于包的通信的一个或多个网络接口卡(NIC)。流送模块80发送、流送、递送或以另外的方式发送流送器观所接收的内容。在特定实施例中,流送器观可包括能够经由网络14以目标格式向客户端12发送所请求内容的多个流送模块80。在包括多个流送模块80的某些实施例中,流送模块80能够同时操作, 以使得可同时发送多部分内容。因此,流送器观可提供能够并行递送多个内容流的健壮平台。通常,转码器接口模块74、流送模块80、处理器76、存储器78和网络接口模块70 可表示适合于提供所述功能的硬件和/或软件的任何适当组合。另外,转码器接口模块74、 流送模块80和网络接口模块70中的任何两个或更多个可表示或包括共用元件。在特定实施例中,转码器接口模块74、流送模块80和网络接口模块70部分地表示由处理器76执行的软件应用。此外,在某些实施例中,转码器20和流送器28可表示或包括共用元件。例如,在某些实施例中,转码器20和流送器观可共享公用存储器和处理组件,和/或软件模块。在某些实施例中,CMS 16和/或LBS 18可另外地表示或包括与转码器20和/或流送器观共用的元件。图5是示出在向做出请求的客户端12递送内容时系统10的特定实施例的操作的流程图。图5中所示的步骤可被适当地组合、修改或删除,并且可将另外的步骤添加到流程图。另外,可在不偏离本发明范围的情况下按任何适当顺序执行步骤。在所示的示例中,操作在步骤500开始,系统10的适当组件接收标识媒体文件30 的请求。例如,CMS 16可从客户端12接收对于所请求源媒体文件30a的内容请求42。在特定实施例中,做出请求的客户端12通过向CMS 16发送HTTP请求(该请求标识所请求源媒体文件30a)来从CMS 16请求特定媒体文件。HTTP请求也可指定关于做出请求的客户端12和/或所请求的显示格式的信息,以使得可按适合于发送到有关客户端12并且由其显示的方式来修改内容。在步骤502,转码器20确定关联于请求的目标格式。转码器20可基于客户端12 的特定特征或其它适当考虑来确定用于所请求媒体内容的目标格式。目标格式可表示适合于发送到做出请求的客户端12 (例如计算机12a、移动电话12b或个人数字助理12c)、在其处被接收和/或由其播放的格式。在步骤504,选择转码器20和/或流送器28。在特定实施例中,CMS16和/或LBS 18可负责根据目标格式选择转码器20和/或流送器观来修改和/或递送所请求媒体文件 30。CMS 16和/或LBS 18可基于可用性、能力、功能和/或任何其它适当因素或考虑来选择特定转码器20和流送器观来执行修改。在步骤506,LBS 18或转码器20确定所请求源媒体文件30a是否已经按目标格式存储或以另外的方式可用。例如,在特定实施例中,CMS 16可确定缓存内容存储器沈是否存储有缓存媒体文件;34,该缓存媒体文件34包含目标格式的所请求源媒体文件30a的内容。如果所请求源媒体文件30a已经按目标格式存储或者可用,操作进行到步骤514,在该步骤中所选择流送器观然后按目标格式从适当的内容存储器获取所请求源媒体文件30a, 并且操作进行到步骤516。如果所请求源媒体文件30a按目标格式不可用,在步骤508,所选择转码器20可获取所请求源媒体文件30a以用于随后的修改和发送。在步骤510,所选择转码器20开始修改所请求媒体文件中的内容并且生成目标格式的转码媒体文件32a。另外,在步骤512,所选择转码器20还开始生成关联于转码媒体文件32a的辅助文件40a。在特定实施例中,所选择转码器20可同时生成转码媒体文件3 和辅助文件40a。在步骤516,向做出请求的客户端12通知,转码媒体文件3 的第一部分按目标格式可用,并且在步骤518,流送器观和/或转码器20从做出请求的客户端12接收请求以便开始发送流送的文件。在步骤520,转码器观开始向做出请求的客户端12发送流化的媒体内容36。如果当内容仍在被写入到有关的转码媒体文件32 (例如转码媒体文件32a)时, 流送器观正在发送来自转码媒体文件32的流化的媒体内容,那么流送器观可使用相应的辅助文件40 (例如辅助文件40a)来便利对有关转码媒体文件32中内容的访问和发送。另外,在特定实施例中,即使在从完整的转码媒体文件32或从缓存媒体文件34流送时,流送器观也可使用辅助文件40。然而,在候选实施例中,流送器观可配置为仅当流送仍在被转码的转码媒体文件32时使用辅助文件40,并且当从完整的转码媒体文件32或缓存媒体文件34流送时可不使用辅助文件40。在流送器观开始向做出请求的客户端12发送流化的媒体内容36之后,在步骤522,做出请求的客户端12发起流化的媒体内容36的播放。在步骤524,所选择转码器20还可存储所生成的转码媒体文件3 和/或辅助文件40a。所选择转码器20可在生成期间的进行过程中存储转码媒体文件3 和/或辅助文件40a,或者可在转码器20完全完成生成转码媒体文件3 时存储这些文件。然后,关于递送所请求源媒体文件30a的系统10的操作可结束,如图5中所示。尽管用多个实施例描述了本发明,本领域技术人员可想起无数的改变、变化、变更、转变和修改,并且旨在本发明包括落入所附权利要求范围内的这些改变、变化、变更、转变和修改。
权利要求
1.一种用于处理媒体内容的方法,包括 接收标识被请求的媒体文件的请求;响应于接收所述请求而访问所述被请求的媒体文件,其中所述被请求的媒体文件包括第一格式的媒体内容;基于所述被请求的媒体文件生成被修改的媒体文件,其中所述被修改的媒体文件包括第二格式的媒体内容;以及当生成所述被修改的媒体文件时,生成关联于所述被修改的媒体文件的辅助文件,所述辅助文件包括多条内容记录,每一条内容记录关联于所述被修改的媒体文件中的媒体内容的一部分并且指示媒体内容的关联部分在所述被的修改媒体文件中的位置。
2.根据权利要求1所述的方法,其中每一条内容记录包括便利于在完全生成所述被修改的媒体文件之前向远程客户端发送所述媒体内容的关联部分的信息。
3.根据权利要求1所述的方法,其中每一条内容记录还包括用于所述媒体内容的关联部分的丢弃内容信息,其中,所述丢弃内容信息指示在转码期间丢弃的内容量。
4.根据权利要求1所述的方法,其中所述辅助文件指示关联于所述被修改的媒体文件的帧率。
5.根据权利要求1所述的方法,其中所述辅助文件指示关联于所述被修改的媒体文件的比特率。
6.根据权利要求1所述的方法,其中所述辅助文件指示关联于所述被修改的媒体文件的编解码器。
7.根据权利要求1所述的方法,还包括当生成所述被修改的媒体文件时,向远程客户端发送所述被修改的媒体文件的第一部分。
8.根据权利要求7所述的方法,还包括在内容存储器中存储所述被修改的媒体文件; 接收标识所述被请求的媒体文件的第二请求;响应于所述第二请求,从所述内容存储器获取所述被修改的媒体文件;以及将所述被修改的媒体文件发送到第二远程客户端。
9.根据权利要求1所述的方法,其中接收标识所述被请求的媒体文件的请求包括 接收从远程客户端发送的所述请求;以及响应于接收所述请求,选择多个转码元件之一来访问所述被请求的媒体文件。
10.根据权利要求1所述的方法,其中访问所述被请求的媒体文件包括确定所述被请求的媒体文件是否按所述第二格式存储在第一内容存储器中;以及响应于确定所述被请求的媒体文件未按所述第二格式存储在所述内容存储器中,向所述第一内容存储器发送请求,该请求标识所述被请求的媒体文件;和按所述第一格式从所述第一内容存储器接收所述媒体文件。
11.根据权利要求10所述的方法,其中向所述第一内容存储器发送请求包括 向所述第一内容存储器发送标识所述媒体文件的超文本传输协议(HTTP)请求。
12.根据权利要求1所述的方法,其中所述被修改的媒体文件包括3GP文件。
13.一种用于处理媒体内容的装置,包括 存储器,可操作来存储处理器指令;处理器,可操作来执行所述处理器指令,并且当执行所述处理器指令时可操作来 接收标识被请求的媒体文件的请求;响应于接收所述请求而访问所述被请求的媒体文件,其中所述被请求的媒体文件包括第一格式的媒体内容;基于所述被请求的媒体文件生成被修改的媒体文件,其中所述被修改的媒体文件包括第二格式的媒体内容;和当生成所述被修改的媒体文件时,生成关联于所述被修改的媒体文件的辅助文件,所述辅助文件包括多条内容记录,每一条内容记录关联于所述被修改的媒体文件中的媒体内容的一部分并且指示所述媒体内容的关联部分在所述被修改的媒体文件中的位置。
14.根据权利要求13所述的装置,其中所述处理器还可操作来通过生成如下的辅助文件来生成所述辅助文件,其中每一条内容记录包括便利于在完全生成所述被修改的媒体文件之前向远程客户端发送所述媒体内容的关联部分的信息。
15.根据权利要求13所述的装置,其中所述处理器还可操作来通过生成如下的辅助文件来生成所述辅助文件,其中每一条内容记录还包括用于所述媒体内容的关联部分的丢弃内容信息,其中,所述丢弃内容信息指示在转码期间丢弃的内容量。
16.根据权利要求13所述的装置,其中所述处理器还可操作来通过生成如下的辅助文件来生成所述辅助文件,其中辅助文件指示关联于所述被修改的媒体文件的帧率。
17.根据权利要求13所述的装置,其中所述处理器还可操作来通过生成如下的辅助文件来生成所述辅助文件,其中辅助文件指示关联于所述被修改的媒体文件的比特率。
18.根据权利要求13所述的装置,其中所述处理器还可操作来通过生成如下的辅助文件来生成所述辅助文件,其中辅助文件指示关联于所述被修改的媒体文件的编解码器。
19.根据权利要求13所述的装置,其中所述处理器还可操作来当生成所述被修改的媒体文件时,向远程客户端发送所述被修改的媒体文件的第一部分。
20.根据权利要求19所述的装置,其中所述处理器还可操作来 在内容存储器中存储所述被修改的媒体文件;接收标识所述被请求的媒体文件的第二请求;响应于所述第二请求,从所述内容存储器获取所述被修改的媒体文件;和将所述被修改的媒体文件发送到第二远程客户端。
21.根据权利要求13所述的装置,其中所述处理器还可操作来通过以下操作来接收标识媒体文件的所述请求接收从远程客户端发送的所述请求;以及响应于接收所述请求,选择多个转码元件之一来访问所述被请求的媒体文件。
22.根据权利要求13所述的装置,其中所述处理器还可操作来通过以下操作来访问所述被请求的媒体文件确定所述被请求的媒体文件是否按所述第二格式存储在第一内容存储器中; 响应于确定所述被请求的媒体文件未按所述第二格式存储在所述内容存储器中,向所述第一内容存储器发送请求,该请求标识所述被请求的媒体文件;以及按所述第一格式从所述第一内容存储器接收所述媒体文件。
23.根据权利要求22所述的装置,其中所述处理器还可操作来通过以下操作向所述第一内容存储器发送请求向所述第一内容存储器发送标识所述媒体文件的超文本传输协议(HTTP)请求。
24.根据权利要求13所述的装置,其中所述被修改的媒体文件包括3GP文件。
25.一种用于递送媒体内容的方法,包括 接收包括媒体内容的媒体文件;访问关联于被修改的媒体文件的辅助文件,所述辅助文件包括多条内容记录,每一条内容记录关联于所述媒体内容的特定部分;基于关联于所述媒体内容的第一部分的内容记录来确定所述媒体内容的第一部分在所述被修改媒体文件内的位置;以及将所述媒体内容的第一部分发送到远程客户端。
26.根据权利要求25所述的方法,其中发送所述媒体内容的第一部分包括当另外的媒体内容正被写入所述媒体文件时将所述媒体内容的第一部分发送到所述远程客户端。
27.根据权利要求25所述的方法,还包括基于与所述媒体内容的每一个另外的部分相关联的另外的内容记录来确定所述媒体内容的另外部分在所述媒体文件内的位置;以及向所述远程客户端发送所述媒体内容的另外部分。
28.根据权利要求25所述的方法,其中向所述远程客户端发送所述媒体内容的第一部分包括向所述远程客户端发送通知以表明至少所述媒体内容的第一部分可用于发送,其中所述通知包括流送器标识符;在关联于所述流送器标识符的流送器处接收来自所述远程客户端的请求,以便开始将来自所述媒体文件的媒体内容发送到所述远程客户端;和响应于来自所述远程客户端的所述请求,至少将所述媒体内容的第一部分发送到所述远程客户端,同时确定所述媒体内容的另外部分在所述媒体文件内的位置。
29.根据权利要求观所述的方法,其中所述流送器标识符包括关联于所述流送器的统一资源定位器(URL)地址;并且从所述远程客户端接收请求以开始发送媒体内容包括在所述URL地址处接收所述请求。
30.根据权利要求25所述的方法,其中所述远程客户端包括第一远程客户端,并且所述方法还包括从第二远程客户端接收请求以开始向所述第二远程客户端发送所述被修改的媒体文件;以及当将来自所述媒体文件的媒体内容发送到所述第一远程客户端时,将来自所述媒体文件的媒体内容发送到所述第二远程客户端。
31.一种用于递送媒体内容的装置,包括 存储器,可操作来存储处理器指令;处理器,可操作来执行所述处理器指令,并且当执行所述处理器指令时可操作来 接收包括媒体内容的媒体文件;访问关联于被修改的媒体文件的辅助文件,所述辅助文件包括多条内容记录,每一条内容记录关联于所述媒体内容的特定部分;基于关联于所述媒体内容的第一部分的内容记录来确定所述媒体内容的第一部分在所述被修改的媒体文件内的位置;以及将所述媒体内容的第一部分发送到远程客户端。
32.根据权利要求31所述的装置,其中所述处理器还可操作来通过当另外的媒体内容正在被写入所述媒体文件时将所述媒体内容的第一部分发送到所述远程客户端,来发送所述媒体内容的第一部分,。
33.根据权利要求31所述的装置,其中所述处理器还可操作来基于与所述媒体内容的每一个另外的部分相关联的另外的内容记录来确定所述媒体内容的另外部分在所述媒体文件内的位置;以及向所述远程客户端发送所述媒体内容的另外部分。
34.根据权利要求31所述的装置,其中所述处理器还可操作来通过以下操作向所述远程客户端发送所述媒体内容的第一部分向所述远程客户端发送通知以表明至少所述媒体内容的第一部分可用于发送,其中所述通知包括流送器标识符;在关联于所述流送标识符的流送器处接收来自所述远程客户端的请求,以便开始将来自所述媒体文件的媒体内容发送到所述远程客户端;以及响应于来自所述远程客户端的请求,至少将所述媒体内容的第一部分从所述流送器发送到所述远程客户端。
35.根据权利要求34所述的装置,其中所述流送器标识符包括关联于所述流送器的统一资源定位器(URL)地址;并且所述处理器可操作来从所述远程客户端接收请求以开始发送媒体内容,包括在所述 URL地址处接收所述请求。
36.根据权利要求31所述的装置,其中所述远程客户端包括第一远程客户端,并且所述处理器还可操作来从第二远程客户端接收请求以开始向所述第二远程客户端发送所述被修改的媒体文件;以及当将来自所述媒体文件的媒体内容发送到所述第一远程客户端时,将来自所述媒体文件的媒体内容发送到所述第二远程客户端。
37.一种用于管理媒体内容的系统,包括 转码器,包括存储器,可操作来存储用于所述转码器的处理器指令;以及处理器,其当执行用于所述转码器的所述处理器指令时可操作来 接收标识被请求的媒体文件的请求;响应于接收所述请求而访问所述被请求的媒体文件,其中所述被请求的媒体文件包括第一格式的媒体内容;基于所述被请求的媒体文件生成被修改的媒体文件,其中所述被修改的媒体文件包括第二格式的媒体内容;以及当生成所述被修改的媒体文件时,生成关联于所述被修改的媒体文件的辅助文件,所述辅助文件包括多条内容记录,每一条内容记录关联于所述被修改的媒体文件中的所述媒体内容的一部分并且指示所述媒体内容的关联部分在所述被修改的媒体文件中的位置;以及流送器,包括存储器,可操作来存储用于所述流送器的处理器指令;以及处理器,当执行用于所述流送器的处理器指令时可操作来 接收所述被修改的媒体文件和所述辅助文件;基于所述辅助文件中的第一内容记录,确定关联于所述第一内容记录的所述媒体内容的第一部分在所述被修改的媒体文件中的位置;当所述转码器在生成所述被修改的媒体文件时,将所述被修改的媒体文件中所述媒体内容的第一部分发送到远程客户端。
全文摘要
本发明公开了用于递送内容的系统和方法。一种用于递送媒体内容的方法包括接收标识所请求媒体文件的请求。方法还包括响应于接收请求而访问被请求的媒体文件。被请求的媒体文件包括第一格式的媒体内容。方法还包括基于被请求的媒体文件生成修改的媒体文件。被修改的媒体文件包括第二格式的媒体内容。另外,方法包括生成关联于被修改的媒体文件的辅助文件。辅助文件包括多条内容记录,每一条内容记录关联于被修改媒体文件中不同的媒体内容部分并且指示关联部分的位置。每一条内容记录包括便利于在完全生成被修改的媒体文件之前向远程客户端发送关联的媒体内容部分的信息。
文档编号H04N21/24GK102210160SQ200980144939
公开日2011年10月5日 申请日期2009年9月9日 优先权日2008年9月10日
发明者普拉胡德威·I·霍苏尔 申请人:Rgb网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1