视频播放方法和装置的制造方法

文档序号:9307088阅读:242来源:国知局
视频播放方法和装置的制造方法
【技术领域】
[0001] 本发明涉及多媒体技术领域,具体而言,涉及一种视频播放方法和装置。
【背景技术】
[0002] 目前,现有技术中的视频播放主要采用如图1所示的点播方法,其中,点播方法的 具体流程如图1中的步骤S102至步骤Sl16。通常,现有的点播方法是从单个数据源(例如, 一个服务器)传输视频数据,然而数据源的质量难以保证,而且数据传输的成本很高,目前 大部分的视频网站带宽成本占了成本非常大的一部分。由于网络环境的复杂性,特别是对 于CDN(ContentDeliveryNetwork,内容分发网络)始终无法覆盖到的用户而言,从单个数 据源获取视频数据的效率和速度无法保证,从而在网络传输速度较慢或者无法与数据源进 行连接等情况下,在终端上无法启动视频的播放或者在视频播放时出现明显的卡顿,这样 导致视频播放的流畅度很低。
[0003] 此外,现有技术中的离线下载,通常使用边下边播技术,只能针对特定的格式起作 用,同时还和影片码率及用户带宽有关系。例如,对于码率大于用户带宽的影片,即便离线 服务器提供下载加速,下载速度也不可能大于用户带宽,就不能流畅播,此时需要将原影片 转码成低码率影片,使得转码后的影片的码率低于用户带宽,才能流畅播放转码后的影片。 因此,在移动终端上进行视频播放、且移动终端上的播放器不支持所下载的视频的格式时, 则需要对所下载的视频进行转码和加载。然而,采用这种方式需要较长的缓冲时间。此外, 在对上述视频完成转码后,由于需要加载整个视频的索引信息,因此,当该视频的文件大小 很大时,需要较长的启动时间,这大大影响了视频的播放时间(特别是首次加载的时间)。
[0004] 针对上述的问题,目前尚未提出有效的解决方案。

【发明内容】

[0005] 本发明实施例提供了一种视频播放方法和装置,以至少解决现有技术中由单一的 服务器获取视频文件而导致的播放流畅度低的技术问题。
[0006] 根据本发明实施例的一个方面,提供了一种视频播放方法,包括:终端接收输入的 视频播放指令,其中,上述视频播放指令用于请求播放视频文件中的当前分片文件,上述视 频文件具有包括上述当前分片文件在内的多个分片文件;上述终端从多个服务器中的一个 获取上述当前分片文件,其中,上述多个服务器中的每一个均存储有上述当前分片文件;上 述终端播放上述当前分片文件。
[0007] 可选地,上述终端从多个服务器中的一个获取上述当前分片文件包括:在上述终 端从上述多个服务器中的一个服务器获取上述当前分片文件失败的情况下上述终端从上 述多个服务器中的另一个服务器获取上述当前分片文件。
[0008] 可选地,上述在上述终端从上述多个服务器中的一个服务器获取上述当前分片文 件失败的情况下上述终端从上述多个服务器中的另一个服务器获取上述当前分片文件包 括:上述终端向上述多个服务器中的第一服务器发送第一分片获取请求,其中,上述第一分 片获取请求用于获取上述当前分片文件;若上述终端在预定的第一时间段内未接收到上述 第一服务器发送的分片获取响应、或上述终端接收到上述第一服务器发送的分片获取失败 响应、或上述终端在预定的第二时间段内未完成对上述第一服务器发送的上述当前分片文 件的接收,则上述终端向上述多个服务器中的第二服务器发送第二分片获取请求,其中,上 述第二分片获取请求用于获取上述当前分片文件;上述终端接收上述第二服务器发送的上 述当前分片文件。
[0009] 可选地,上述在上述终端从上述多个服务器中的一个服务器获取上述当前分片文 件失败的情况下上述终端从上述多个服务器中的另一个服务器获取上述当前分片文件包 括:上述终端向上述多个服务器中的每一个发送第三分片获取请求,其中,上述第一分片获 取请求用于获取上述当前分片文件;上述终端从上述多个服务器中向上述终端发送了分片 获取响应的服务器中选择一个作为第三服务器,并向上述第三服务器发送第一链路建立请 求;若上述终端在预定的第三时间段内未接收到上述第三服务器发送的链路建立响应、或 上述终端接收到上述第三服务器发送的链路建立失败响应、或上述终端在预定的第四时间 段内未完成对上述第三服务器发送的上述当前分片文件的接收,则上述终端从向上述终端 发送了上述分片获取响应的服务器中选择另一个作为第四服务器,并向上述第四服务器发 送第二链路建立请求;上述终端接收上述第四服务器发送的上述当前分片文件。
[0010] 可选地,上述第三服务器发送的分片获取响应是上述终端在上述多个服务器中第 一个接收到的分片获取响应。
[0011] 可选地,上述终端通过以下方式之一播放上述当前分片文件:上述终端将上述当 前分片文件存在存储器中,并使用上述终端上安装的视频播放器播放上述当前分片文件; 或者,上述终端将上述当前分片文件存在内存中,并使用上述终端上安装的视频播放器播 放上述内存中存储的上述当前分片文件,在上述当前分片文件播放完成后从上述内存中删 除上述当前分片文件;或者,上述终端将上述当前分片文件封装成能被上述视频播放器调 用的本地视频服务,使用上述终端上安装的视频播放器调用上述本地视频服务,以播放上 述当前分片文件。
[0012] 可选地,在上述终端接收输入的视频播放指令之前,还包括:将与上述视频文件对 应的原始文件进行转码,得到多个转码后文件,其中,每个上述转码后文件的码率不同;对 每个上述转码后文件进行分片,得到每个上述转码后文件的分片文件;将每个上述转码后 文件的每个上述分片文件存储在上述多个服务器中。
[0013] 根据本发明实施例的另一方面,还提供了一种视频播放装置,包括:接收单元,用 于终端接收输入的视频播放指令,其中,上述视频播放指令用于请求播放视频文件中的当 前分片文件,上述视频文件具有包括上述当前分片文件在内的多个分片文件;获取单元,用 于从多个服务器中的一个获取上述当前分片文件,其中,上述多个服务器中的每一个均存 储有上述当前分片文件;播放单元,用于播放上述当前分片文件。
[0014] 可选地,上述获取单元包括:获取模块,用于在从上述多个服务器中的一个服务器 获取上述当前分片文件失败的情况下上述终端从上述多个服务器中的另一个服务器获取 上述当前分片文件。
[0015] 可选地,上述获取模块包括:第一发送子模块,用于向上述多个服务器中的第一 服务器发送第一分片获取请求,其中,上述第一分片获取请求用于获取上述当前分片文件; 第二发送子模块,用于在预定的第一时间段内未接收到上述第一服务器发送的分片获取响 应、或接收到上述第一服务器发送的分片获取失败响应、或在预定的第二时间段内未完成 对上述第一服务器发送的上述当前分片文件的接收时,向上述多个服务器中的第二服务器 发送第二分片获取请求,其中,上述第二分片获取请求用于获取上述当前分片文件;第一接 收子模块,用于接收上述第二服务器发送的上述当前分片文件。
[0016] 可选地,上述获取模块包括:第三发送子模块,用于向上述多个服务器中的每一个 发送第三分片获取请求,其中,上述第一分片获取请求用于获取上述当前分片文件;第一选 择子模块,用于从上述多个服务器中发送的分片获取响应的服务器中选择一个作为第三服 务器,并向上述第三服务器发送第一链路建立请求;第二选择子模块,在预定的第三时间段 内未接收到上述第三服务器发送的链路建立响应、或接收到上述第三服务器发送的链路建 立失败响应、或在预定的第四时间段内未完成对上述第三服务器发送的上述当前分片文件 的接收时,从发送的上述分片获取响应的服务器中选择另一个作为第四服务器,并向上述 第四服务器发送第二链路建立请求;第二接收子模块,用于接收上述第四服务器发送的上 述当前分片文件。
[0017] 可选地,上述第一选择子模块所选择的上述第三服务器发送的分片获取响应是上 述视频播放装置在上述多个服务器中第一个接收到的分片获取响应。
[0018] 可选地,上述播放单元包括以下之一:第一播放模块,用于播放存储在上述视频播 放装置的存储器中的上述当前分片文件;或者,第二播放模块,用于播放存储在上述视频播 放装置的内存中的上述当前分片文件,并在上述当前分片文件播放完成后从上述内存中删 除上述当前分片文件;或者,第三播放模块,用于调用由上述当前分片文件封装成的本地视 频服务,使用已安装的视频播放器调用上述本地视频服务,以播放上述当前分片文件。
[0019] 在本发明实施例中,借助于多源传输技术,将视频播放过程中播放器单纯的通过 固定数据源获取视频文件中的分片文件的方式,改为从多个数据源获取分片文件的方式, 这样当一个数据源无法将分片文件传输给终端时,终端可以向其他数据源请求该分片文 件,从而保证了获取分片文件的速度,解决现有技术中由单一的服务器获取视频文件而导 致的播放流畅度低的技术问题,提高了视频文件播放的流畅度。
[0020] 此外,在本发明实施例中,在通过多源传输的方式获取到视频文件的分片文件之 后,可以将获取到的分片文件存为本地临时文件或者封装为本地视频服务,然后通过终端 上的视频播放器播放上述本地临时文件或调用本地视频服务,通过这种方式解除了视频文 件的传输过程与视频播放器的播放过程之间的耦合,实现了传输过程和播放过程相分离。
[0021] 进一步,通过在服务器端对视频文件进行转码和切片操作,可以将视频文件转换 成各种不同视频格式的视频文件,从而有效地降低了视频播放器的大小。
【附图说明】
[0022] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0023] 图1是根据现有技术的视频播放方法的流程示意图;
[0024] 图2是根据本发明实施例的一种可选的视频播放方法的流程示意图;
[0025] 图3是根据本发明实施例的另一种可选的视频播放方法的流程示意图;
[0026] 图4是根据本发明实施例的又一种可选的视频播放方法的流程示意图;
[0027] 图5是根据本发明实施例的又一种可选的视频播放方法的流程示意图;
[0028] 图6是根据本发明实施例的又一种可选的视频播放方法的流程示意图;以及
[0029] 图7是根据本发明实施例的一种可选的视频播放装置的结构示意图。
【具体实施方式】
[0030] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范 围。
[0031] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。此外,术语"包括"和"具有"以及他们的任何变形,意图在于 覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限 于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产 品或设备固有的其它步骤或单元。
[0032] 实施例1
[0033] 根据本发明实施例,提供了一种视频播放方法,如图2所示,该方法包括:
[0034] S202,终端接收输入的视频播放指令,其中,该视频播放指令用于请求播放视频文 件中的当前分片文件,上述视频文件具有包括所述当前分片文件在内的多个分片文件;
[0035] S204,终端从多个服务器中的一个获取当前分片文件,其中,所述多个服务器中的 每一个均存储有所述当前分片文件;
[0036] S206,终端播放当前分片文件。
[0037] 可选地,在本实施例中上述视频播放方法可以应用于终端上安装的视频播放器 中,其中,上述终端可以包括以下之一:手机、平板电脑。
[0038] 可选地,图3提供了本实施例中的一种可选的视频播放方法。在图3所示的视频 播放方法中涉及以下模块:
[0039] 1)视频播放内核模块
[0040] 可选地,上述视频播放内核模块用于接收视频播放终端控制接口层提供的各种视 频连接,可以是URL,eMule链接,Bt种子或者Magnet链,根据文件hash/bt+index/emule链接等来查询是否能够云端播放;
[0041 ] 可选地,上述视频播放内核模块还用于读取视频数据交换模块的视频文件对应的 数据,上述数据可以是保存在本地的临时文件,在播放完成后从内存中直接删除,也可以是 通过本地http的视频服务器调用的本地视频服务。然后对媒体视频文件的播放、分片的处 理、界面的渲染等工作。
[0042] 可选地,在本实施例中的视频播放器还需要调用多源传输内核:从播放链接进行 实际的视频文件下载,并交给播放器去播放,多源传输内核模块负责高效从云端存储服务 器及对端的pee
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1