一种内容分发网络中媒体文件下载方法及客户端的制作方法

文档序号:7767235阅读:318来源:国知局
专利名称:一种内容分发网络中媒体文件下载方法及客户端的制作方法
技术领域
本发明涉及IPTV (Internet Protocol Television,交互式网络电视)多媒体通信 技术领域,尤其涉及一种CDN(Content Distribution Network,内容分发网络)中媒体文件 下载方法及一种客户端。
背景技术
IPTV,又称为互联网协议电视,是指通过IP承载网络向利用机顶盒接入的用户提 供能够支持交互能力的电视节目的直播、点播和时移播放、回看播放等业务的设备总称。目 前IPTV CDN主要服务于利用机顶盒接入的电视机用户进行直播、点播和时移播放、回看播 放等业务,即其使用范围限于机顶盒+电视架构的电视节目和视频点播类。三网融合的提出,业务运营商之间的整合,手机用户、网络电话用户对直播、点播、 时移电视等视频业务的使用,加之国内各电信运营商是全面业务运营商,且已部署IPTV ⑶N的前提条件,三屏融合业务需求应运而生。目前IPTV CDN系统中存储的媒体文件根据机顶盒接入的用户的属性简单地分成 标清和高清两种格式,用户申请服务时根据用户属性固定选取一种媒体格式。随着三屏融 合业务需求的发展,IPTV⑶N也将为手机电视(Mobile TV)和网络电视(Web TV)提供直 播、点播、回看等业务。通过移动网络接入的Mobile TV根据接入带宽的差别需要访问不同 码率的媒体文件,只有这样才能保证得到正常的视频服务。由于移动网络空中频谱带宽总 量是一定的,当接入的用户数发生变化时,客户端用户的接入带宽会发生动态变化。同样, 对于ffeb TV而言,由于客户端使用的是共享带宽方式,因此也存在接入带宽发生动态变化 的情况。由此需要一种新的媒体文件下载方法。

发明内容
本发明要解决的技术问题是提供一种内容分发网络中媒体文件下载方法及客户 端,一方面保证客户端在带宽发生变化时仍能正常接收服务,另一方面不会给文件管理带 来负担,实现简单。为解决上述问题,本发明提供了一种内容分发网络中媒体文件下载方法,其特征 在于,所述媒体文件按照固定时长划分为多个虚拟分片,所述方法包括客户端从服务器端下载用户所点播媒体内容的一级索引,所述一级索引中记录针 对所述媒体内容的不同码率媒体文件的二级索引地址;所述客户端选择码率,根据一级索引的内容从服务器端下载所选择码率的媒体文 件的二级索引,所述二级索引中包括所述媒体文件的首地址以及媒体文件中与虚拟分片有 关的时间信息;所述客户端根据所述二级索引从服务器端下载相应的媒体文件,根据所述时间信 息在下载媒体文件的过程中记录所下载的虚拟分片的数量。
进一步地,在下载媒体文件的过程中,所述客户端判断当网络带宽变化满足变更 媒体文件码率的要求时,重新选择与当前带宽相适应的码率,向服务器端请求下载新选择 码率的媒体文件的二级索引,根据新下载的二级索引以及当前已下载的虚拟分片数量,向 服务器端请求下载未下载的虚拟分片。进一步地,所述客户端选择码率的步骤包括根据当前带宽选择与当前带宽相适 应的码率,或者选择一级索引中的最低码率。进一步地,所述媒体文件中与虚拟分片有关的时间信息包括每个虚拟分片相对于 开始播放时间的时间偏移,或者,划分虚拟分片的固定时长以及媒体内容的总时长,或者, 划分虚拟分片的固定时长以及虚拟分片总个数。进一步地,所述客户端判断当网络带宽变化满足变更媒体文件码率的要求时,重 新选择与当前带宽相适应的码率的步骤包括判断当前带宽是否达到变更到码率M的阈 值,如果达到,则满足变更媒体文件码率的要求,重新选择码率为M。为解决上述问题,本发明还提供了一种内容分发网络中媒体文件下载客户端,其 特征在于,所述媒体文件按照固定时长划分为多个虚拟分片,所述客户端包括第一模块、 第二模块和第三模块,其中所述第一模块,用于从服务器端下载用户所点播媒体内容的一级索引,所述一级 索引中记录针对所述媒体内容的不同码率媒体文件的二级索引地址;所述第二模块包括码率选择模块和下载模块,其中码率选择模块用于选择码率, 下载模块用于根据一级索引的内容从服务器端下载所选择码率的媒体文件的二级索引,所 述二级索引中包括所述媒体文件的首地址以及媒体文件中与虚拟分片有关的时间信息;所述第三模块,用于根据所述二级索引从服务器端下载相应的媒体文件,根据所 述时间信息在下载媒体文件的过程中记录所下载的虚拟分片的数量。进一步地,所述客户端还包括第四模块,其用于在下载媒体文件的过程中,判断 当网络带宽变化满足变更媒体文件码率的要求时,重新选择与当前带宽相适应的码率,向 服务器端请求下载新选择码率的媒体文件的二级索引,根据新下载的二级索引以及当前已 下载的虚拟分片数量,向服务器端请求下载未下载的虚拟分片。进一步地,所述码率选择模块用于根据当前带宽选择与当前带宽相适应的码率, 或者选择一级索引中的最低码率。进一步地,所述媒体文件中与虚拟分片有关的时间信息包括每个虚拟分片相对于 开始播放时间的时间偏移,或者,划分虚拟分片的固定时长以及媒体内容的总时长,或者, 划分虚拟分片的固定时长以及虚拟分片总个数。进一步地,所述第四模块判断当网络带宽变化满足变更媒体文件码率的要求时, 重新选择与当前带宽相适应的码率是指所述第四模块判断当前带宽是否达到变更到码率 M的阈值,如果达到,则认为满足变更媒体文件码率的要求,重新选择码率为M。本发明实施例采用了虚拟分片技术,存储时采用两级索引,优势在于在CDN网络 中无需布置分段器,简化网络结构,降低了系统实现成本;对数据管理进行了优化,避免产 生大量的分段数据,同时也避免了为支持大量数据管理所带来的硬件资源的浪费。另外可 支持客户端自适应码率。


图1为本发明实施例的系统架构图;图加为本发明实施例中一种二级索引的示意图;图2b为本发明实施例中另一种二级索引的示意图;图2c为本发明实施例中另一种二级索引的示意图;图3为本发明实施例一级索引示意图;图4为本发明实施例下载媒体文件的流程图;图5为本发明实施例动态调整码率的流程图;图6为本发明应用示例点播服务数据流程示意图。
具体实施例方式下文中将结合附图对本发明实施例进行详细说明。需要说明的是,在不冲突的情 况下,本申请中的所有实施例及实施例中的特征可以相互组合。实施例1下面结合图1对本发明实施例所涉及的系统架构进行说明。本发明实施例的系统架构包括客户端和服务器端,其中所述客户端,用于请求及播放媒体内容,所述客户端在请求并接收某一内容的媒 体文件时,定期(实时或定时)判断当前网络的接入带宽值,根据当前带宽对应的码率动态 调整所请求的媒体内容的码率,即请求与当前网络接入带宽值相适应的码率的媒体文件; 客户端可以是手机电视客户端也可以是网络电视客户端,或者是机顶盒客户端。所述服务器端,用于存储和下发媒体文件,所述媒体文件采用两级索引的方式存 储于服务器端的文件存储模块,根据客户端的请求向客户端发送不同码率的媒体文件。为了支持三屏融合业务,对于同一媒体内容,分别采用不同码率进行存储,例如将 一媒体内容分别存储为码率为USlAps的媒体文件、码率为2561ApS的媒体文件、码率为 512kbps的媒体文件、码率为lOMlibps、码率为20481ibpS的媒体文件等,这样便于在网络带 宽变动时,响应客户端对不同码率媒体文件的请求。在本发明实施例中,服务器端在保存媒体文件时,不进行实际分片,对于整个媒体 文件只有一个文件名。为了方便的查找到媒体文件中的各处媒体内容,将媒体文件按照 固定时长(或称单位时长)分成若干个虚拟分片,本文所述虚拟分片仅是记录索引,以方 便查找,并不是对文件进行实际分片。例如对于一个播放长度为4分钟O40秒)、大小为 10M(10240kb)的媒体文件,以10秒为单位时长可将该媒体文件分成M个虚拟分片。在记录 媒体文件的索引(以下简称二级索引)时,记录该媒体文件的首地址,每个虚拟分片相对于 开始播放时间的时间偏移,如图加所示,其中256. idx为该索引文件的名称,256. MPG表示 256. idx索引文件对应的媒体文件的首地址,“0s、10s、20s、30s,· · · ”表示单位时间为IOs 时各虚拟分片的时间偏移;或者,记录媒体文件的首地址,划分虚拟分片的单位时长、以及 总时长,如图2b所示;或者,记录媒体文件的首地址,划分虚拟分片的单位时长、以及虚拟 分片总个数,如图2c所示。仍以上述4分钟的媒体文件为例,该文件的二级索引中的时间
信息可以是:“0s、10s、20s........230s”,或者为“10s,240s”或者为“10s、M”。通过在二
级索引中携带总时长或总分片数,可以让客户端了解所要下载的媒体文件的情况,特别是在媒体文件的播放时间长度有可能无法被单位时长整除的情况下。由于对于同一媒体内容保存了不同码率的媒体文件,因此需要建立针对媒体内容 的自适应码率索引(以下简称一级索引),记录不同码率媒体文件的二级索引的地址。如图 3所示。一级索引中记录是不同码率的二级索引文件的地址,图中的256. IDX、512. IDX以及 2048. IDX分别表示媒体文件256. mpg所对应的二级索引文件的地址、媒体文件512. mpg所 对应的二级索引文件的地址、媒体文件2048. mpg所对应的二级索引文件的地址。采用二级索引的好处是可以避免客户端下载不需要的二级索引,例如,某客户端 的网速仅在256-5121ibpS之间浮动,对于该客户端而言,可能仅需要下载2561ibpS码率对应 的媒体文件256. mpg的二级索引256. idx以及5121ibps码率对应的媒体文件512. mpg的二 级索引512. idx,而无需下载128. idx或10 . idx。应用示例1下面以点播业务(VOD)为例,对本发明实施例索引文件生成流程进行详细说明。步骤一、在服务器端,将VOD媒体文件按单位时间为10秒记录时间偏移到二级索 引文件;例如码率为2561ibps的媒体文件256.mpg,其二级索引命名为256. idx,在256. idx 文件中记录VOD媒体文件的首地址及时间偏移信息。不同码率的媒体文件分别生成二级索 引文件。步骤二、在步骤一的基础上,生成一级索引文件,该一级索引文件包括所有码率媒 体文件的索引文件名称和地址,如果不以码率来命名,则该一级索引文件中包括所有码率 媒体文件的码率信息、标识信息以及地址信息。实施例2下面结合图4对媒体内容播放的方法进行详细说明,所述方法包括步骤401,客户端与服务器端建立连接;所述客户端包括以下客户端之一手机电视客户端、网络电视客户端、机顶盒客户 端。客户端与服务器端建立连接的过程不在本发明讨论范围之内,可采用现有技术实现。步骤402,客户端根据用户请求的业务向服务器端发送获取媒体内容的请求;通常请求中携带所请求的媒体内容的标识。步骤403,服务器端收到客户端的请求后,将其请求的媒体内容的一级索引发送给 客户端;媒体内容的一级索引中至少保存有以下信息针对该媒体内容的不同码率媒体文 件的二级索引的地址信息。在一级索引中,每种码率的媒体文件可以以码率命名,以方便客 户端寻找相应的二级索引。如码率为2561ApS的媒体文件命名为256. mpg。步骤404,客户端选择码率,从一级索引中查找相应码率媒体文件的二级索引,向 服务器端请求该媒体文件的二级索引;客户端可以选择一级索引中的最低码率,也可以选择当前带宽对应的码率,例如, 当前带宽为5201ApS,则可以选择5121ApS码率媒体文件(与当前带宽匹配的码率),或者 选择USlcbps码率媒体文件(一级索引中的最低码率)。步骤405,服务器端收到客户端请求后,将客户端请求的二级索引发送给该客户 端;
步骤406,该客户端得到二级索引后,根据该二级索引中记录的媒体文件首地址向 服务器端请求媒体文件内容;在请求中携带媒体文件首地址以及所请求的虚拟分片的时间偏移。客户端可根据 二级索引中携带的时间信息计算出所要请求的虚拟分片所在的时间偏移。步骤407,服务器端向客户端发送其请求的媒体文件内容;步骤408,客户端在接收并播放媒体文件的同时,以固定时长为单位记录接收的虚 拟分片个数;例如固定时长为10s,则每接收到IOs的媒体内容,计数器加1。客户端根据二级索引中内容,再结合记录的接收到的虚拟分片数量,可以计算出 后续有多少虚拟分片未接收,一方面客户端可以判断出媒体文件是否接收完毕,另一方面 客户端可以在网络带宽变化时,向服务器端请求未接收的虚拟分片。当客户端在接收媒体文件的过程中检测到网络带宽发生变化,且带宽变化满足变 更媒体文件码率的要求,则执行以下流程,如图5所示,包括步骤501,客户端根据带宽变化重新确定码率,根据重新确定的码率向服务器端请 求相应码率媒体文件的二级索引;变更媒体文件码率的要求是指判断当前带宽是否达到变更到某码率M的阈值,如 果达到则认为符合变更码率要求,重新选择码率为M,否则认为不满足。每一级码率均有 自己的变更阈值,各级码率的阈值设置规则可以相同也可以不同,如阈值设置规则可以为 码率士码率*10%,此处百分比可调。例如最初请求的码率为5121ibps,但客户端经检测 发现当前带宽已达到lOOOlcbps,大于921. 6 (1024-102. 4),则可以向服务器端请求码率为 1024kbps的媒体文件内容。客户端可以设置独立线程实时检测当前带宽,也可以在开始接收媒体文件时启动 带宽检测线程。步骤502,服务器端向客户端发送其请求的二级索引文件;步骤503,客户端根据新的二级索引文件的首地址,以及目前已接收到的虚拟分片 个数,向服务器端请求后续媒体内容;具体地,客户端根据新的二级索引文件记录的该码率媒体文件的首地址,和记录 的目前已接收到的虚拟分片个数组合成请求信令的内容首地址、媒体内容的开始时间 (请求的虚拟分片数X时间间隔)。例如,目前已接收了 15个虚拟分片,则向服务器端发送 的请求中包含重新选择的码率媒体文件的首地址,以及150s (以Os为起始的时间偏移), 用于请求第16个虚拟分片及之后的媒体内容。步骤504,服务器端根据客户端的请求,计算后续媒体内容的位置,向客户端发送 新码率的媒体内容。服务器端根据客户端当前已接收到的虚拟分片个数,计算新码率媒体文件中后续 虚拟分片的位置。例如,客户端应从第16个虚拟分片开始接收新码率的媒体内容,即应从 第150秒开始向客户端发送新码率的媒体内容,服务器端计算150秒开始的新码率媒体文 件的位置(可根据现有技术方法计算获得),从第16个虚拟分片开始向客户端发送新码率 媒体内容。如果客户端的网络带宽变化幅度较大,则上述步骤501-504在一次媒体内容传输过程中可能重复多次,直到媒体内容全部接收完毕。如果客户端的网络带宽变化幅度较小, 则上述步骤501-504也可能不执行。应用示例2下面以点播业务(VOD)为例,结合图6对本发明实施例从客户端到服务器端获取 媒体文件的流程进行说明步骤1、客户端通过HTTP获得点播服务所需码率媒体文件的一级索引;步骤2 客户端从该一级索引文件中解析出所需码率的媒体文件的二级索引文件 地址,客户端对二级索引文件进行解析,从解析结果中获得媒体文件的下载地址,并下载视 频进行播放;步骤3 客户端判断接入带宽,根据当前下载速度决定是否需要降低视频的码率 或者提高视频的码率,如果下载速度高于当前下载的媒体文件的码率,执行步骤4,如果下 载速度低于当前下载的媒体文件的码率,执行步骤5 ;步骤4 客户端切换到更高码率的媒体文件进行下载与播放;步骤5 客户端切换到更低级码率的媒体文件进行下载与播放。实施例3实现上述媒体文件下载方法的客户端包括第一模块、第二模块和第三模块,其 中所述第一模块,用于从服务器端下载用户所点播媒体内容的一级索引,所述一级 索引中记录针对所述媒体内容的不同码率媒体文件的二级索引地址;所述第二模块包括码率选择模块和下载模块,其中码率选择模块用于选择码率, 下载模块用于根据一级索引的内容从服务器端下载所选择码率的媒体文件的二级索引,所 述二级索引中包括所述媒体文件的首地址以及媒体文件中与虚拟分片有关的时间信息;所述第三模块,用于根据所述二级索引从服务器端下载相应的媒体文件,根据所 述时间信息在下载媒体文件的过程中记录所下载的虚拟分片的数量。优选地,所述客户端还包括第四模块,其用于在下载媒体文件的过程中,判断当 网络带宽变化满足变更媒体文件码率的要求时,重新选择与当前带宽相适应的码率,向服 务器端请求下载新选择码率的媒体文件的二级索引,根据新下载的二级索引以及当前已下 载的虚拟分片数量,向服务器端请求下载未下载的虚拟分片。优选地,所述码率选择模块用于根据当前带宽选择与当前带宽相适应的码率,或 者选择一级索引中的最低码率。优选地,所述媒体文件中与虚拟分片有关的时间信息包括每个虚拟分片相对于开 始播放时间的时间偏移,或者,划分虚拟分片的固定时长以及媒体内容的总时长,或者,划 分虚拟分片的固定时长以及虚拟分片总个数。优选地,所述第四模块判断当网络带宽变化满足变更媒体文件码率的要求时,重 新选择与当前带宽相适应的码率是指所述第四模块判断当前带宽是否达到变更到码率M 的阈值,如果达到,则认为满足变更媒体文件码率的要求,重新选择码率为M。在本实施例方案中,在存储媒体文件时无需通过分段器对媒体文件进行分段后存 储,也就是说,服务器中无需部署分段器。此处处理摒弃了传统流媒体存储时的分段存储, 从而避免了在三屏融合业务中出现的海量文件管理问题,降低了三屏融合业务中文件管理的复杂度,避免出现系统资源的浪费。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘 等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应 地,上述实施例中的各模块可以采用硬件的形式实现,也可以采用软件功能模块的形式实 现。本发明不限制于任何特定形式的硬件和软件的结合。当然,本发明还可有其他多种实施方式,在没有背离本发明精神及其实质的情况 下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变 和变形都应属于本发明所附的权利要求的保护范围例如,在其他实施方式中,固定时长可以为5秒或15秒,或20秒等。本实施例中 的10秒仅为一种优选实施方式。
权利要求
1.一种内容分发网络中媒体文件下载方法,其特征在于,所述媒体文件按照固定时长 划分为多个虚拟分片,所述方法包括客户端从服务器端下载用户所点播媒体内容的一级索引,所述一级索引中记录针对所 述媒体内容的不同码率媒体文件的二级索引地址;所述客户端选择码率,根据一级索引的内容从服务器端下载所选择码率的媒体文件的 二级索引,所述二级索引中包括所述媒体文件的首地址以及媒体文件中与虚拟分片有关的 时间信息;所述客户端根据所述二级索引从服务器端下载相应的媒体文件,根据所述时间信息在 下载媒体文件的过程中记录所下载的虚拟分片的数量。
2.按照权利要求1所述的方法,其特征在于在下载媒体文件的过程中,所述客户端判断当网络带宽变化满足变更媒体文件码率的 要求时,重新选择与当前带宽相适应的码率,向服务器端请求下载新选择码率的媒体文件 的二级索引,根据新下载的二级索引以及当前已下载的虚拟分片数量,向服务器端请求下 载未下载的虚拟分片。
3.按照权利要求1或2所述的方法,其特征在于所述客户端选择码率的步骤包括根据当前带宽选择与当前带宽相适应的码率,或者 选择一级索引中的最低码率。
4.按照权利要求1或2所述的方法,其特征在于所述媒体文件中与虚拟分片有关的时间信息包括每个虚拟分片相对于开始播放时间 的时间偏移,或者,划分虚拟分片的固定时长以及媒体内容的总时长,或者,划分虚拟分片 的固定时长以及虚拟分片总个数。
5.按照权利要求2所述的方法,其特征在于所述客户端判断当网络带宽变化满足变更媒体文件码率的要求时,重新选择与当前带 宽相适应的码率的步骤包括判断当前带宽是否达到变更到码率M的阈值,如果达到,则满 足变更媒体文件码率的要求,重新选择码率为M。
6.一种内容分发网络中媒体文件下载客户端,其特征在于,所述媒体文件按照固定时 长划分为多个虚拟分片,所述客户端包括第一模块、第二模块和第三模块,其中所述第一模块,用于从服务器端下载用户所点播媒体内容的一级索引,所述一级索引 中记录针对所述媒体内容的不同码率媒体文件的二级索引地址;所述第二模块包括码率选择模块和下载模块,其中码率选择模块用于选择码率,下载 模块用于根据一级索引的内容从服务器端下载所选择码率的媒体文件的二级索引,所述二 级索引中包括所述媒体文件的首地址以及媒体文件中与虚拟分片有关的时间信息;所述第三模块,用于根据所述二级索引从服务器端下载相应的媒体文件,根据所述时 间信息在下载媒体文件的过程中记录所下载的虚拟分片的数量。
7.按照权利要求6所述的客户端,其特征在于所述客户端还包括第四模块,其用于 在下载媒体文件的过程中,判断当网络带宽变化满足变更媒体文件码率的要求时,重新选 择与当前带宽相适应的码率,向服务器端请求下载新选择码率的媒体文件的二级索引,根 据新下载的二级索引以及当前已下载的虚拟分片数量,向服务器端请求下载未下载的虚拟 分片。
8.按照权利要求6或7所述的客户端,其特征在于所述码率选择模块用于根据当前带宽选择与当前带宽相适应的码率,或者选择一级索 引中的最低码率。
9.按照权利要求6或7所述的客户端,其特征在于所述媒体文件中与虚拟分片有关的时间信息包括每个虚拟分片相对于开始播放时间 的时间偏移,或者,划分虚拟分片的固定时长以及媒体内容的总时长,或者,划分虚拟分片 的固定时长以及虚拟分片总个数。
10.按照权利要求7所述的客户端,其特征在于所述第四模块判断当网络带宽变化满足变更媒体文件码率的要求时,重新选择与当前 带宽相适应的码率是指所述第四模块判断当前带宽是否达到变更到码率M的阈值,如果 达到,则认为满足变更媒体文件码率的要求,重新选择码率为M。
全文摘要
本发明公开了一种内容分发网络中媒体文件下载方法及客户端,一方面保证客户端在带宽发生变化时仍能正常接收服务,另一方面不会给文件管理带来负担,实现简单。所述媒体文件按照固定时长划分为多个虚拟分片,所述方法包括客户端从服务器端下载用户所点播媒体内容的一级索引,一级索引中记录针对所述媒体内容的不同码率媒体文件的二级索引地址;客户端选择码率,根据一级索引的内容从服务器端下载所选择码率的媒体文件的二级索引,二级索引中包括所述媒体文件的首地址以及媒体文件中与虚拟分片有关的时间信息;客户端根据所述二级索引从服务器端下载相应的媒体文件,根据所述时间信息在下载媒体文件的过程中记录所下载的虚拟分片的数量。
文档编号H04N21/23GK102088620SQ201010568970
公开日2011年6月8日 申请日期2010年12月1日 优先权日2010年12月1日
发明者李玲 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1