《实时或准实时流传输.pdf》由会员分享,可在线阅读,更多相关《实时或准实时流传输.pdf(98页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102882845 A (43)申请公布日 2013.01.16 C N 1 0 2 8 8 2 8 4 5 A *CN102882845A* (21)申请号 201210278922.X (22)申请日 2011.04.07 61/321,767 2010.04.07 US 61/351,824 2010.06.04 US 201110141675.4 2011.04.07 H04L 29/06(2006.01) (71)申请人苹果公司 地址美国加利福尼亚 (72)发明人 R潘特斯 A楚恩格 小W梅 (74)专利代理机构中国国际贸易促进委员会专 利商标事务所 110。
2、38 代理人张荣海 (54) 发明名称 实时或准实时流传输 (57) 摘要 本发明涉及实时或准实时流传输。方法和设 备使用传输协议如HTTP兼容协议提供在一个或 多个播放列表中指定的内容的实时或准实时流传 输。在一实施例中,一种方法可在客户端设备上执 行一用户应用以呈现媒体文件并控制所述媒体文 件的呈现。所述方法可进一步在所述客户端设备 上运行一媒体服务进程以取回指定所述媒体文件 的播放列表以及所述媒体文件可用的媒体源,从 所述媒体源取回所述媒体文件,并对取回的所述 媒体文件进行解码。为了获获取自定义URL所引 用的对象,所述媒体服务进程可调用所述用户应 用以处理所述自定义URL。 (30)优。
3、先权数据 (62)分案原申请数据 (51)Int.Cl. 权利要求书5页 说明书59页 附图33页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 5 页 说明书 59 页 附图 33 页 1/5页 2 1.一种客户端设备执行的方法,所述方法包括: 执行用户应用以呈现媒体文件并控制所述媒体文件的呈现;以及 运行媒体服务进程,独立于所述用户应用,以取回指定所述媒体文件的播放列表以及 所述媒体文件可用的媒体源,从所述媒体源取回所述媒体文件,并对取回的所述媒体文件 进行解码以及将来自所述媒体文件的解码内容提供给所述用户应用。 2.根据权利要求1所述的方法,其中所述媒体服务进程。
4、和所述用户应用对存储器控 制、存储器空间、存储器分配、文件系统控制和网络控制共享相同的特权。 3.根据权利要求2所述的方法,其中所述用户应用提供用户界面以控制所述呈现并且 通过应用编程接口(API)与所述媒体服务进程通信,并且其中所述用户应用和所述媒体服 务进程是不同的软件进程。 4.根据权利要求2所述的方法,其中所述媒体服务进程取回媒体文件,所述媒体文件 是使用由所述用户应用处理或者由所述用户应用取回并处理的密钥进行解码的。 5.根据权利要求2所述的方法,其中所述用户应用安装客户端证书,所述证书用于在 创建连接以下载解密密钥时应答服务器的询问。 6.根据权利要求2所述的方法,其中所述播放列表。
5、包含使用自定义URL方案的解密密 钥的URL。 7.根据权利要求3所述的方法,其中当所述媒体服务进程加载或解码媒体文件失败 时,所述媒体服务进程通过所述API调用所述用户应用以使得所述用户应用取回一个或多 个返回到所述媒体服务进程的密钥。 8.根据权利要求3所述的方法,其中所述媒体服务进程取回媒体文件,所述媒体文件 是使用由所述用户应用处理或者由所述用户应用取回并处理的密钥进行解码的。 9.根据权利要求8所述的方法,其中所述用户应用安装客户端证书,所述证书用于在 创建连接以下载解密密钥时应答服务器的询问。 10.根据权利要求9所述的方法,其中所述播放列表包含使用自定义URL方案的解密密 钥的U。
6、RL。 11.一种由数据处理系统执行的机器实现的方法,所述方法包括: 在客户端设备上执行用户应用以呈现媒体文件并控制所述媒体文件的呈现;以及 在所述客户端设备上运行媒体服务进程,独立于所述用户应用,以取回指定所述媒体 文件的播放列表以及所述媒体文件可用的媒体源,从所述媒体源取回所述媒体文件,并对 取回的所述媒体文件进行解码; 通过所述媒体服务器接收URL,所述URL涉及所述媒体服务器使用的用于解码或呈现 至少一个所述媒体文件的数据; 由所述媒体服务器调用所述用户应用以处理所述URL来获得所述媒体服务器要使用 的所述数据; 响应于所述用户应用处理所述URL而接收所述数据,从而获得所述数据;以及 。
7、使用所述数据解码至少一个所述媒体文件。 12.根据权利要求11所述的方法,其中所述数据是解密密钥。 13.根据权利要求11所述的方法,其中所述用户应用使用自定义URL,所述自定义URL 用于保护通过所述用户应用提供的内容。 权 利 要 求 书CN 102882845 A 2/5页 3 14.根据权利要求13所述的方法,其中注册表存储所述自定义URL和所述用户应用之 间的关系,并且其中当所述媒体服务器不能解码媒体文件时,所述媒体服务器检查所述注 册表以调用所述用户应用。 15.根据权利要求14所述的方法,其中所述自定义URL由EXT-X-KEY标签指定,并且其 中所述用户应用由所述媒体文件的提供。
8、者授权。 16.根据权利要求15所述的方法,其中所述用户应用将自定义URL和所述用户应用 之间的关系安装到注册表中,所述自定义URL用于为所述媒体文件取回一个或多个解密密 钥,并且其中当所述用户应用第一次被安装或第一次被启动时,所述用户应用将所述关系 安装到所述注册表中。 17.根据权利要求13所述的方法,其中所述自定义URL不被所述媒体服务器所支持。 18.根据权利要求13所述的方法,其中所述自定义URL用于取回被提供给所述媒体服 务器以对所述播放列表中的所述媒体文件进行解码的所述解密密钥。 19.根据权利要求18所述的方法,其中所述用户应用对所述自定义URL的解析取决于 如下条件中的至少一。
9、个:(a)所述用户应用的对于所述媒体文件中的内容的特权等级;(b) 所述媒体文件中的内容;以及(c)呈现所述媒体文件中的内容的请求的日期或时间或日期 和时间。 20.根据权利要求19所述的方法,其中所述解密密钥通过所述用户应用被返回给所述 媒体服务器。 21.一种由数据处理系统执行的机器实现的方法,所述方法包括: 在客户端设备上执行用户应用,所述用户应用被配置以控制所述媒体文件的呈现;以 及 在所述客户端设备上运行媒体服务进程,独立于所述用户应用,以取回指定所述媒体 文件的播放列表以及所述媒体文件可用的媒体源,从所述媒体源取回所述媒体文件,并对 取回的所述媒体文件进行解码; 通过所述媒体服务器。
10、接收在所述播放列表中或用于所述播放列表的URL,所述URL涉 及被用于处理至少一个所述媒体文件的数据; 由所述媒体服务器调用所述用户应用以处理所述URL来获取远程媒体服务器要使用 的数据; 响应于所述用户应用处理所述URL而接收所述数据,从而获得所述数据;以及 传输所述数据到所述远程媒体服务器。 22.根据权利要求21所述的方法,其中所述URL是所述播放列表中的一个的自定义 URL或者是所述播放列表中的至少一个媒体文件的解密密钥,并且其中所述用户应用使用 所述自定义URL来保护通过所述用户应用提供的内容。 23.根据权利要求21所述的方法,其中注册表存储所述自定义URL和所述用户应用之 间的关。
11、系,并且其中当所述媒体服务器不能处理所述URL时,所述媒体服务器检查所述注 册表以调用所述用户应用。 24.根据权利要求23所述的方法,其中所述远程媒体服务器是机顶盒的一部分,并且 被配置成取回和处理播放列表,并被配置成产生被传输回所述媒体服务器的消息,以请求 对所述自定义URL的解析,并且其中传输数据到所述远程媒体服务器提供了对所述自定义 权 利 要 求 书CN 102882845 A 3/5页 4 URL的解析。 25.一种客户端设备,所述客户端设备包括: 用于执行用户应用以呈现媒体文件并控制所述媒体文件的呈现的装置;以及 用于运行媒体服务进程,独立于所述用户应用,以取回指定所述媒体文件的。
12、播放列表 以及所述媒体文件可用的媒体源,从所述媒体源取回所述媒体文件,并对取回的所述媒体 文件进行解码以及将来自所述媒体文件的解码内容提供给所述用户应用的装置。 26.根据权利要求25所述的客户端设备,其中所述媒体服务进程和所述用户应用对存 储器控制、存储器空间、存储器分配、文件系统控制和网络控制共享相同的特权。 27.根据权利要求26所述的客户端设备,其中所述用户应用提供用户界面以控制所述 呈现并且通过应用编程接口(API)与所述媒体服务进程通信,并且其中所述用户应用和所 述媒体服务进程是不同的软件进程。 28.根据权利要求26所述的客户端设备,其中所述媒体服务进程取回媒体文件,所述 媒体文。
13、件是使用由所述用户应用处理或者由所述用户应用取回并处理的密钥进行解码的。 29.根据权利要求26所述的客户端设备,其中所述用户应用安装客户端证书,所述证 书用于在创建连接以下载解密密钥时应答服务器的询问。 30.根据权利要求26所述的客户端设备,其中所述播放列表包含使用自定义URL方案 的解密密钥的URL。 31.根据权利要求27所述的客户端设备,其中当所述媒体服务进程加载或解码媒体文 件失败时,所述媒体服务进程通过所述API调用所述用户应用以使得所述用户应用取回一 个或多个返回到所述媒体服务进程的密钥。 32.根据权利要求27所述的客户端设备,其中所述媒体服务进程取回媒体文件,所述 媒体文件。
14、是使用由所述用户应用处理或者由所述用户应用取回并处理的密钥进行解码的。 33.根据权利要求32所述的客户端设备,其中所述用户应用安装客户端证书,所述证 书用于在创建连接以下载解密密钥时应答服务器的询问。 34.根据权利要求33所述的客户端设备,其中所述播放列表包含使用自定义URL方案 的解密密钥的URL。 35.一种数据处理系统,所述数据处理系统包括客户端设备和媒体服务器, 其中,所述客户端设备包括: 用于执行用户应用以呈现媒体文件并控制所述媒体文件的呈现的装置;以及 用于运行媒体服务进程,独立于所述用户应用,以取回指定所述媒体文件的播放列表 以及所述媒体文件可用的媒体源,从所述媒体源取回所述。
15、媒体文件,并对取回的所述媒体 文件进行解码的装置;以及 所述媒体服务器包括: 用于接收URL的装置,所述URL涉及所述媒体服务器使用的用于解码或呈现至少一个 所述媒体文件的数据; 用于调用所述用户应用以处理所述URL来获得所述媒体服务器要使用的所述数据的 装置; 其中,所述客户端设备还包括: 用于响应于所述用户应用处理所述URL而接收所述数据,从而获得所述数据的装置; 权 利 要 求 书CN 102882845 A 4/5页 5 以及 用于使用所述数据解码至少一个所述媒体文件的装置。 36.根据权利要求35所述的数据处理系统,其中所述数据是解密密钥。 37.根据权利要求35所述的数据处理系统,。
16、其中所述用户应用使用自定义URL,所述自 定义URL用于保护通过所述用户应用提供的内容。 38.根据权利要求37所述的数据处理系统,其中注册表存储所述自定义URL和所述用 户应用之间的关系,并且其中当所述媒体服务器不能解码媒体文件时,所述媒体服务器检 查所述注册表以调用所述用户应用。 39.根据权利要求38所述的数据处理系统,其中所述自定义URL由EXT-X-KEY标签指 定,并且其中所述用户应用由所述媒体文件的提供者授权。 40.根据权利要求39所述的数据处理系统,其中所述用户应用将自定义URL和所述用 户应用之间的关系安装到注册表中,所述自定义URL用于为所述媒体文件取回一个或多个 解密密。
17、钥,并且其中当所述用户应用第一次被安装或第一次被启动时,所述用户应用将所 述关系安装到所述注册表中。 41.根据权利要求37所述的数据处理系统,其中所述自定义URL不被所述媒体服务器 所支持。 42.根据权利要求37所述的数据处理系统,其中所述自定义URL用于取回被提供给所 述媒体服务器以对所述播放列表中的所述媒体文件进行解码的所述解密密钥。 43.根据权利要求42所述的数据处理系统,其中所述用户应用对所述自定义URL的解 析取决于如下条件中的至少一个:(a)所述用户应用的对于所述媒体文件中的内容的特权 等级;(b)所述媒体文件中的内容;以及(c)呈现所述媒体文件中的内容的请求的日期或时 间或。
18、日期和时间。 44.根据权利要求43所述的数据处理系统,其中所述解密密钥通过所述用户应用被返 回给所述媒体服务器。 45.一种数据处理系统,所述数据处理系统包括客户端设备和媒体服务器, 其中,所述客户端设备包括: 用于执行用户应用的装置,所述用户应用被配置以控制所述媒体文件的呈现;以及 用于运行媒体服务进程,独立于所述用户应用,以取回指定所述媒体文件的播放列表 以及所述媒体文件可用的媒体源,从所述媒体源取回所述媒体文件,并对取回的所述媒体 文件进行解码的装置;并且 所述媒体服务器包括: 用于接收在所述播放列表中或用于所述播放列表的URL的装置,所述URL涉及被用于 处理至少一个所述媒体文件的数。
19、据; 用于调用所述用户应用以处理所述URL来获取远程媒体服务器要使用的数据的装置, 其中所述客户端设备还包括: 用于响应于所述用户应用处理所述URL而接收所述数据,从而获得所述数据的装置; 以及 用于传输所述数据到所述远程媒体服务器的装置。 46.根据权利要求45所述的数据处理系统,其中所述URL是所述播放列表中的一个的 权 利 要 求 书CN 102882845 A 5/5页 6 自定义URL或者是所述播放列表中的至少一个媒体文件的解密密钥,并且其中所述用户应 用使用所述自定义URL来保护通过所述用户应用提供的内容。 47.根据权利要求45所述的数据处理系统,其中注册表存储所述自定义URL和。
20、所述用 户应用之间的关系,并且其中当所述媒体服务器不能处理所述URL时,所述媒体服务器检 查所述注册表以调用所述用户应用。 48.根据权利要求47所述的数据处理系统,其中所述远程媒体服务器是机顶盒的一部 分,并且被配置成取回和处理播放列表,并被配置成产生被传输回所述媒体服务器的消息, 以请求对所述自定义URL的解析,并且其中传输数据到所述远程媒体服务器提供了对所述 自定义URL的解析。 权 利 要 求 书CN 102882845 A 1/59页 7 实时或准实时流传输 0001 本申请是2011年4月7日提交的发明名称为“实时或准实时流传输”的中国专利 申请201110141675.4的分案申。
21、请。 0002 相关申请 0003 本申请要求享有如下美国临时申请的申请日:于2010年4月7日申请的美国临 时申请61/321,767(档案号为No.P7437Z8)以及于2010年6月4日申请的美国临时申请 61/351,824的(档案号为No.P7437Z9),并且,本申请据此通过引用将那些临时申请结合于 此。本申请还与如下专利申请相关: 0004 (1)于2008年12月31日申请的申请号为No.61/142,110的申请(档案号为 No.P7437Z); 0005 (2)于2009年3月16日申请的申请号为No.61/160,693的申请(档案号为 No.P7437Z2); 0006。
22、 (3)于2009年3月17日申请的申请号为No.61/161,036的申请(档案号为 No.P7437Z3); 0007 (4)于2009年4月7日申请的申请号为No.61/167,524的申请(档案号为 No.P7437Z4); 0008 (5)于2009年9月8日申请的申请号为No.61/240,648的申请(档案号为 No.P7437Z5); 0009 (6)于2009年12月21日申请的申请号为No.61/288,828的申请(档案号为 No.P7437Z6); 0010 (7)于2010年4月1日申请的申请号为No.61/320,213的申请(档案号为 No.P7437Z7)。所有。
23、这些美国临时申请都以参考的方式结合于此,该结合以符合本公开为 限。 0011 本美国专利申请涉及如下美国专利申请,其中每一个都通过引用结合与此,该结 合以符合本公开为限: 0012 (1)申请号为No.12/479,690(档案号为No.P7437US1),于2009年6月5日申请, 名称为“实时或准实时流”的申请; 0013 (2)申请号为No.12/479,698(档案号为No.P7437US2),于2009年6月5日申请, 名称为“用于实时或准实时流的可变流”的申请; 0014 (3)申请号为No.12/479,732(档案号为No.P7437US3),于2009年6月5日申请, 名称为。
24、“可更新的实时或准实时流”的申请; 0015 (4)申请号为No.12/479,735(档案号为No.P7437US4),于2009年6月5日申请, 名称为“用于实时或准实时流的播放列表”的申请; 0016 (5)申请号为No.12/878,002(档案号为No.P7437X),于2010年9月8日申请,名 称为“用于实时或准实时流以提供故障切换保护的可变流”的申请; 0017 (6)申请号为No.12/968,202(档案号为No.P7437X2),于2010年12月14日申 请,名称为“具有压缩播放列表的实时或准实时流”的申请。 说 明 书CN 102882845 A 2/59页 8 技术。
25、领域 0018 本发明的实施例涉及数据传输技术。更特别地,本发明的实施例涉及允许数据流 使用非流传输协议的技术,例如超文本传输协议(HTTP)。 背景技术 0019 内容流通常涉及持续从服务器设备传送并由客户端设备接收的多媒体内容。该内 容通常呈现给端用户,同时该内容由流服务器传送。该名称涉及介质的传送方法而不是该 介质本身。 0020 当前的流服务通常需要专门的服务器分配“实况”内容给端用户。在任何大规模 部署中,这会导致大的开销,并需要专门的技术来创建和运行。其结果就是可供流传输的内 容库比预期的要少。 发明内容 0021 在一个实施例中,一种系统可基于日期和时间搜索内容。例如,在一个实施。
26、例中, 创建时间戳标签,每一个所述时间戳标签可以与特定媒体文件相联系。在时间戳标签中的 时间戳指示相关媒体文件的开始日期和时间。注意所述媒体文件包括其自己的内部时间 戳。可以利用一个或多个时间戳标签创建播放列表文件。可以使用所述时间戳标签中的日 期和时间分配所述播放列表文件并使其可用于通过日期和时间的搜索。在一个实施例中, 所述时间戳标签可使用一种被称为ID3的格式。 0022 在一个实施例中,一种方法可在客户端设备上执行用户应用以呈现媒体文件并控 制所述媒体文件的呈现。所述方法进一步在所述客户端设备上运行媒体服务进程以取回指 定所述媒体文件的播放列表以及可获得所述媒体文件的媒体源,从所述媒体。
27、源取回所述媒 体文件,并对取回的所述媒体文件进行解码。所述用户应用可被配置成通过自定义URL或 自定义协议或者这两者与一个或多个服务器通信,即使所述媒体服务进程不被配置来处理 所述自定义URL或自定义协议。所述自定义URL或自定义协议可指定或提供解密密钥以用 于解密所述媒体文件中的加密内容。 0023 在具有与通过所述一个或多个接口与其他被调用的程序代码交互的调用程序代 码的环境中,一些实施例包括一个或多个应用编程接口(API)。进一步可能包括不同类型参 数的不同函数调用、消息或其他调用类型可以通过所述调用程序和被调用代码之间的API 被传输。另外,API能够为所述调用程序代码提供使用在API。
28、中定义并在所述调用程序代 码中实现的数据类型或类的能力。 0024 至少某些实施例包括一种具有通过API与被调用软件组件交互的调用软件组件 (calling software component)的环境。一种用于在该环境中通过API进行操作的方法包 括通过所述API传输一个或多个函数调用、消息、其他调用类型或参数。 0025 本文描述了其他方法,以及用于实现这些方法的系统,本文还描述了存储可执行 指令的机器可读的非暂时性存储介质,当这些指令被执行则会促使数据处理系统实现这些 方法中的任何一个。 说 明 书CN 102882845 A 3/59页 9 附图说明 0026 本发明通过附图中的示例的。
29、方式阐述,而不是以限制的方式,其中相似的参考数 字涉及类似组件。 0027 图1是能够发送和接收实时或准实时内容的服务器和客户端的实施例的框图。 0028 图2A是用于一个或多个服务器设备使用非流传输协议支持媒体内容的技术的实 施例的流程图。 0029 图2B是用于一个或多个服务器设备为一个或多个客户端设备提供动态更新播放 列表的技术的实施例的流程图。 0030 图2C是用于一个或多个服务器设备使用多比特率为客户端设备提供媒体内容的 技术的实施例的流程图。 0031 图3A是用于客户端设备使用非流传输协议支持内容的流传输的技术的实施例的 流程图。 0032 图3B是用于客户端设备使用多比特率支。
30、持内容的流传输的技术的实施例的流程 图。 0033 图4是服务器流代理的实施例的框图。 0034 图5是客户端流代理的实施例的框图。 0035 图6是带有多标签的播放列表文件的实施例。 0036 图7是本文描述的用于组合流的重放技术的实施例的流程图。 0037 图8是电子系统的实施例的框图。 0038 图9A是显示客户端设备如何在不同播放列表的供选择的内容之间切换的示例的 流程图。 0039 图9B是进一步显示客户端设备如何在两个播放列表的内容之间切换的示例的流 程图。 0040 图9C是进一步显示客户端设备如何使用音频模式匹配在内容之间切换的示例的 流程图。 0041 图9D以图表法示出如何。
31、利用音频模式匹配来实现图9C中的方法。 0042 图10是用于使用可替代流提供用于向客户端设备提供媒体内容的多个冗余位置 的技术的实施例的流程图。 0043 图11示出根据一个实施例的客户端1102与一个或多个URL进行双向通信的网 络。 0044 图12A是描述根据本发明的实施例的用于控制播放列表的创建和分配的方法的 流程图。 0045 图12B示出在一实施例中,播放列表如何能够使用如图12A中的方法被传输或被 分配的时间表。 0046 图13是根据本发明的实施例的用于在客户端设备控制重放的方法。 0047 图14A示出描述在一实施例中的用于基于连接速度或连接类型适应性地确定最 小重叠量的方。
32、法流程图。图14B、14C和14D示出使用重叠以在流之间切换的实施例的其他 方面。 0048 图15是描述根据本发明的实施例的另一方法的流程图。 说 明 书CN 102882845 A 4/59页 10 0049 图16A是示出描述实施例的用于使用时间戳标签创建播放列表文件的方法流程 图。 0050 图16B示出描述实施例的用于在播放列表中使用时间戳标签搜索媒体文件的方 法流程图。 0051 图17A示出用于允许媒体服务后台程序(daemon)与用户应用交互的软件体系结 构的示例。图17B示出使用自定义URL技术的软件体系结构的示例,图17C为显示使用自 定义URL技术的方法示例流程图。图17。
33、D示出提供由使用自定义URL技术的应用实现的方 法示例的流程图;图17E示出由播放器服务或操作系统或者两者所实现的方法示例的流程 图。 0052 图18示出在本发明的某些实施例中可用的示例性API结构的框图。 0053 图19示出在本发明的某些实施例中可用的软件堆栈的示例性实施例。 0054 图20示出用于允许一个设备控制或启动另一设备上的媒体重放的软件体系结构 的示例。 0055 图21示出软件体系结构的示例,其使用图20和图21中显示的两个不同设备上的 软件体系结构中的软件的不同组件之间的调用。 0056 图22A和22B示出根据本发明的实施例的可用于允许两个设备,例如图20中显示 的那些。
34、设备,进行交互并提供在由另一个设备启动的一个设备上的远程重放的方法示例。 具体实施方式 0057 在下面的描述中,阐述了许多特定细节。但是,本发明的实施例可以在没有这些特 定细节下被实践。在其他情况下,未详细呈现熟知的电路、结构和技术,以便不模糊对本说 明书的理解。 0058 本说明书包括版权保护的材料,例如图形用户界面图像的图示。因此版权所有者, 包括本发明的受让人,保留他们在这些材料中的权利,包括版权。版权所有者不反对任何人 对于专利文件或专利公开的复制,因为其出现在专利商标局文件或记录中,但除此之外保 留所有版权。苹果公司2009年版权所有。 0059 在一实施例中,这里所描述的技术和组。
35、件包括使用非流传输协议(例如,HTTP)和 其他技术(例如,运动图像专家组(MPEG)流)传递流体验的机制。例如,可以使用HTTP提供 准实时流体验以广播“实况”音乐或体育事件、实况新闻、网络摄像机视频源(camera feed) 等。在一实施例中,协议可将输入的媒体数据分割成多个媒体文件并将那些分割的媒体文 件存储到服务器中。该协议还可创建包括将客户引导到存储在服务器上的分割的媒体文件 的统一资源标识符(URI)的播放列表文件。当分割的媒体文件按照(多个)播放列表文件被 重放时,客户端可为用户提供“实况”事件的准实时广播。可以以类似方式提供预录内容。 0060 在一实施例中,服务器可将补充的。
36、或替代的媒体内容(例如,广告、涉及体育事件 的统计资料、对主呈现的附加媒体内容)动态引入到广播事件中。例如,在媒体事件的客户 端重放过程中,服务器可将附加URI添加到播放列表文件中,URI标识客户端下载补充媒体 文件的位置。可指示客户端周期地从服务器获取一个或多个更新的播放列表文件,以访问 服务器已引入的任何补充或附加(或者两者兼有)的媒体内容。 0061 在一实施例中,服务器可在累积模式或滚动模式中操作。在累积模式中,服务器创 说 明 书CN 102882845 A 10 5/59页 11 建播放列表文件并在播放列表文件末尾追加媒体文件标识符。当单一的播放列表文件被 下载以后,客户端具有对来。
37、自该播放列表文件的流的所有部分的访问权(例如,用户可以从 表演秀的中间开始)。在滚动模式中,服务器通过以滚动方式从播放列表文件开始处移除媒 体文件标识符来限制媒体文件的可用性,从而提供客户端设备可访问的媒体内容的滑动窗 口。服务器还可以将媒体文件标识符添加到播放列表,并且在滚动模式中,服务器将媒体文 件的可用性限制到那些最近添加到播放列表中的文件。然后客户端重复下载播放列表文件 的更新副本以继续浏览。当内容在时间上是潜在无界的(例如,来自于持续运作的网络摄像 机的内容),对于播放列表下载来说滚动方式是有用的。客户端可在滚动模式中继续重复请 求播放列表直到其在播放列表中发现结束标记。 0062 。
38、在一实施例中,该机制通过提供同一呈现的不同的流来支持比特率切换。例如,可 将要被服务的呈现的若干版本存储在服务器中。每一版本可具有本质上相同的内容但以不 同比特率被编码。这能够允许客户端设备在不牺牲重放连续性的情况下,例如依赖可用带 宽检测而在比特率之间进行切换。 0063 在一实施例中,提供保护特性以保护内容防止未经授权的使用。例如,可使用非顺 序性媒体文件编号来防止预测。可使用媒体文件的加密。可使用部分媒体文件列表。还可 提供附加的和/或不同的保护特性。 0064 图1示出能够发送和接收实时或准实时内容的服务器和客户端的实施例的框图。 图1的例子提供了一种简单的服务器-客户端连接,其具有两。
39、个通过网络耦合到服务器的 客户端。使用这里描述的技术和机制可支持任何数量的客户端。此外,根据这里描述的技术 和机制,多个服务器可提供内容和/或一起操作以提供内容。例如,一个服务器创建内容, 创建播放列表并创建多个媒体(例如,文件),其他服务器存储和传输所创建的内容。 0065 网络110可以是任何类型的网络,不管是有线的、无线的(例如,IEEE 802.11、 802.16)还是其任何组合。例如,网络100可以是因特网或内联网。作为另一个例子,网络 110可以是蜂窝网络(例如,3G、CDMA)。在一实施例中,客户端设备150和180能够通过多 个网络类型通信(例如,每一个设备可通过WiFi无线。
40、局域网通信并且也能通过无线蜂窝电 话网络通信)。例如,客户端设备150和180可以是智能电话或者是能够在蜂窝式射频电话 网络和数据网络中通信的具蜂窝功能的个人数字助理。这些设备能够在任何类型的网络中 使用这里描述的流机制,或者在必要时甚至能够在网络之间切换。 0066 服务器120能以本领域已知的任何方式作为HTTP服务器工作。也就是说服务器 120包括使用HTTP协议提供内容的HTTP服务器代理145。虽然图1的例子以术语HTTP描 述,但也能够以类似方式使用其他协议。分割器130和索引器135是驻留在服务器120(或 多个服务器)中的代理,用于为媒体文件中的内容提供这里所描述的播放列表文件。
41、。这些媒 体文件和播放列表文件可以通过使用HTTP协议的HTTP服务器代理145(或通过其他服务 器)在网络110上提供。这里所讨论的代理能够以硬件、软件、固件或其组合来实现。 0067 分割器130可用于将媒体数据流分割为可通过HTTP协议传输的多个媒体文件。 索引器135可用于创建与所分割的媒体文件相对应的播放列表文件,以便客户端设备能够 重新组合媒体文件来为由服务器120提供的内容提供实时或准实时的传输。响应于来自于 客户端设备的一个或多个请求,HTTP服务器代理145(或其他服务器)传输一个或多个例如 由索引器135生成的播放列表文件以及例如由分割器130生成的内容的媒体文件。服务器 。
42、说 明 书CN 102882845 A 11 6/59页 12 120进一步包括可选安全代理140,其提供一个或多个本文所讨论的安全功能(例如,加密)。 服务器120还包括在图1中没有显示的附加组件。 0068 客户端设备150和180在网络110中从服务器120接收播放列表文件和媒体文 件。客户端设备可以是能接收在网络中传输的数据并利用通过网络接收的数据产生输出的 传输任何类型的电子设备,例如,无线移动设备、PDA、娱乐设备、消费电子设备等等。输出可 以是媒体类型组合中的任何媒体类型,例如包括音频、视频或其任何组合。 0069 客户端设备150包括组合代理160和输出生成器代理165。类似地。
43、,客户端设备 180包括组合代理190和输出生成器代理195。组合代理160和180接收来自服务器120 的播放列表文件,并使用播放列表文件从服务器120访问和下载媒体文件。输出生成器代 理165和195分别使用所下载的媒体文件从客户端设备150和160生成输出。输出可由一 个或多个扬声器、一个或多个显示屏、扬声器和显示屏的组合或任何其他输入或输出设备 提供。客户端设备还包括存储器(例如,闪存或DRAM等)以在接收媒体文件时作为缓存(或 缓冲区,buffer)存储媒体文件(例如,压缩的媒体文件或解压缩的媒体文件);缓存可在当 前呈现内容的时间以外提供相当于许多秒的可呈现内容,以便当下载新的内容。
44、时稍后显示 所缓存的内容。该缓存能够在客户端设备正试图通过间歇性慢速网络连接获取内容时提供 可显示内容,因此缓存能够隐藏网络延迟或连接问题。 0070 客户端设备150和180进一步包括可选安全代理170和185,其分别提供一个或多 个这里所讨论的安全功能。客户端设备150和180还包括图1中没有显示的附加组件。 0071 在一实施例中,本申请中描述的技术可用于在非流传输协议(例如,HTTP)上传输 多媒体数据的无边界流。实施例还包括媒体数据的加密和/或对备选版本数据流的提供 (例如,提供备选比特率)。由于媒体数据在创建之后立刻就可被传输,因而可准实时地接收 数据。提供用于文件以及用于由多媒体。
45、数据流的服务器(发送者)和客户端(接收者)所采 取的行动的示例数据格式,但是,其他格式也能得到支持。 0072 可作为模拟实时流(或准实时流)传输的媒体呈现由指示播放列表文件的统一资 源指示符(URI)指定。在一实施例中,播放列表文件是附加URI的有序列表。播放列表文 件中的每一个URI都引用作为流的一个部分的媒体文件,该流可以是特定节目的单一连续 的媒体数据流。 0073 为了播放媒体数据流,客户端设备从服务器获取播放列表文件。客户端还获取和 播放由播放列表文件指示的每一个媒体数据文件。在一实施例中,客户端可动态地或重复 地重新加载播放列表文件以发现附加的和/或不同的媒体部分。 0074 例。
46、如,播放列表文件可以是扩展M3U播放列表文件。在一实施例中,使用可有效扩 展M3U格式的附加标签。M3U指的是运动图像专家组音频第3层统一资源定位符(MP3 URL) 并且是一种用于存储多媒体播放列表的格式。M3U文件是包含媒体播放器要播放的一个或 多个媒体文件的位置的文本文件。 0075 在一实施例中,播放列表文件是由多个独立行组成的扩展M3U格式的文本文件。 可通过单独的LF字符或CR字符后面紧跟LF字符来结束行。每一行都可以是一个URI、一 个空行、或以一注释字符(例如,#)开始。URI标识要被播放的媒体文件。空行可被忽略。 0076 以注释字符开头的行可以是注释也可以是标签。标签可以以。
47、#EXT开头,注释行可 以以#开头。注释行通常被服务器和客户端忽略。在一实施例中,以UTF-8格式对播放列 说 明 书CN 102882845 A 12 7/59页 13 表文件进行编码。UTF-8(8比特统一码转换格式)是一种可变长度字符编码格式。在替代 实施例中,可使用其他字符编码格式。 0077 在如下示例中,使用包括两个标签:EXTM3U和EXTINF的扩展M3U格式。通过包括 “#EXTM3U”的首行可以从基本M3U文件中识别出扩展M3U文件来。 0078 EXTINF是一种记录标记,描述由跟在标签之后的URI识别的媒体文件。在一实施 例中,每一个媒体文件URI由一个EXTINF标签。
48、引导,例如: 0079 #EXTINF:, 0080 其中,“duration”标识媒体文件的持续时间,“title”为目标媒体文件的标题。 0081 在一实施例中,可使用如下标签来管理媒体文件的传输和重放: 0082 EXT-X-TARGETDURATION 0083 EXT-X-MEDIA-SEQUENCE 0084 EXT-X-KEY 0085 EXT-X-PROGRAM-DATE-TIME 0086 EXT-X-ALLOW-CACHE 0087 EXT-X-STREAM-INF 0088 EXT-X-ENDLIST 0089 EXT-X-DISCONTINUITY 0090 EXT-X。
49、-VERSION 0091 下面将对这些标签的每一个进行更为详细地描述。虽然描述了关于每一个新标签 的具体格式和属性,但是具有不同属性、名称、格式等的备选实施例也可以得到支持。 0092 在一实施例中,EXT-X-TARGETDURATION标签表示将被添加到呈现中的下一个媒体 文件的大概持续时间。其可被包含在重放文件中,且格式可以为: 0093 #EXT-X-TARGETDURATION: 0094 其中“seconds”表示媒体文件的持续时间。在一实施例中,实际持续时间可能与 标签所表示的目标持续时间稍微有所不同。在一实施例中,每一个表示一个片段的URI都 将与片段的大概持续时间相联系;例如,一个片段的URI被加上一个表示该片段的大概持 续时间的标签作为前缀。在另一个实施例中,EXT-X-TARGETDURATION标签可以指定最大媒 体文件持续时间;播放列表文件中的每一个媒体文件的EXTINF持续。